一,约束操作
1:更改约束名称:
ALTER TABLE TName RENAME CONSTRAINT oldname TO newname;
2:删除约束
ALTER TABLE TName DROP CONSTRAINT cname
3:停止约束
ALTER TABLE TName MODIFY CONSTRAINT cname DISABLE;
4:起用约束
ALTER TABLE TName MODIFY CONSTRAINT cname ENABLE VALIDATE;
5:新增约束
ALTER TABLE TName ADD CONSTRAINT cname FOREIGN KEY (ORG_ID) REFERENCES ref_table (ORGID);
二,字段操作
1:更改字段数据类型:
ALTER TABLE TName MODIFY(ORG_ID VARCHAR2(50 BYTE));
2:更改字段数据长度:
ALTER TABLE TName MODIFY(ORG_ID VARCHAR2(80 BYTE));
3:修改表的列名
alter table TName rename column xx to yy;
三,表操作
1:删除表数据:
truncate table TName;
2:复制空表结构
create table new_table as select * from old_table where 1=2;
3:复制表(含记录)
create table new_table as select * from old_table ;
四,存储过程
1:命令行编译存储过程
ALTER PROCEDURE procedure_name COMPILE;
五,数据库链接(DBlink)
1:建立数据库连接
CREATE DATABASE LINK DBaseLinkName CONNECT TO UserName IDENTIFIED BY Password USING 'NetServiceName';
六,Oracle服务器常用命令行
(1)数据库管理相关
bbed.exe 数据块浏览和编辑工具
dbv.exe 数据文件逻辑检测工具
exp.exe 数据导出工具
imp.exe 数据导入工具
mig.exe 数据库移植工具
nmumigrate.exe Data Gatherer移植工具
ocopy.exe 裸分区数据文件备份工具
oradim.exe Oracle服务创建、删除工具
orakill.exe Oracle线程删除工具
orapwd.exe Oracle密码文件创建工具
orastack.exe Oracle进程堆栈修改工具
oratclsh.exe TCL脚本解释器
otrccol.exe trace命令行服务管理工具
otrccref.exe trace管理文件生成工具
otrcfmt.exe trace数据格式化工具
otrcrep.exe trace数据统计报表生成工具
rman.exe 备份与恢复工具
setlinks.exe 磁盘分区管理工具
sqlldr.exe sql Load数据批量导入工具
sqlplus.exe 命令行的sqlplus
svrmgrl.exe Oracle实例管理工具
tkprof.exe SQL语句跟踪文件解析工具
vppcntl.exe Data Gatherer服务管理工具
(2)Internet Directory相关
bulkload.exe 使用SQL*Loader生成目录对象的工具
bulkdelete.exe 子树删除工具
bulkmodify.exe 目录对象修改工具
ldifwrite.exe 将目录中的信息转换成LDIF格式
ldapadd.exe 向目录中增加目录对象、属性、值的工具
ldapaddmt.exe ldapadd的多线程版本
ldapbind.exe 客户端认证工具
ldapcompare.exe 属性值比较工具
ldapdelete.exe 将目录对象从目录中删除的工具
ldapmoddn.exe 修改DN和RDN的工具
ldapmodify.exe 属性修改工具
ldapmodifymt.exe ldapmodify的多线程版本
ldapsearch.exe 查找和获取目录中目录对象工具
oidpasswd.exe Internet Directory密码管理工具
oidreconcile.exe 目录对象同步工具
(3)NLS相关
csscan.exe 数据库字符集转换测试工具
lxbcnf.exe NLS配置工具
lxegen.exe 自定义日期格式生成工具
lxinst.exe 自定义字符集生成工具
(4)Net8相关
agtctl.exe 异构服务代理控制程序
cmctl.exe 连接服务管理工具
lsnrctl.exe 监听服务管理工具
naegen.exe 哈夫曼参数生成工具
namesctl.exe 名字服务管理工具
okdstry.exe 删除Kerberos证书工具
okinit.exe 创建Kerberos证书工具
oklist.exe 检查Kerberos证书工具
tnsping.exe 服务名连接测试工具
trcasst.exe SQL*Net跟踪文件解析工具
(5)interMedia相关
ctxhx.exe ConText文本转换工具
ctxkbtc.exe ConText词典编译工具
ctxload.exe ConText词典导入/导出工具
(6)开发相关
lmsgen.exe OCI使用的消息文件转换工具
loadpsp.exe PL/SQL Server Page装载器
ott.exe Oracle对象类型转换工具
sqlj.exe sqlj翻译器
wrap.exe 存储过程加密工具
xml.exe XML解析器
xmlcg.exe XML C++ Class 生成器
七,Soralis环境下Oracle管理
1:启动数据库管理命令:dbca
八,Oracle性能优化
1:ORACLE的优化器共有3种:
a.RULE (基于规则) b. COST (基于成本)c. CHOOSE (选择性)
2.ORACLE 采用两种访问表中记录的方式:
a.全表扫描
全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描.
b.通过ROWID访问表
采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
3:选择最有效率的表名顺序(只在基于规则的优化器中有效)
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并.
如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
5. WHERE子句中的连接顺序.
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
九,Oracle数据库重建
1:数据库重建应注意的问题
在利用import进行数据库重建过程中,有些视图可能会带来问题,因为结构输入的顺序可能造成视图的输入先于它低层次表的输入,这样建立视图就会失败.要解决这一问题,可采取分两步走的方法:首先输入结构,然后输入数据:
imp user/pwd@dabaseSID file=empdata.dmp rows=N
imp user/pwd@dabaseSID file=empdata.dmp full=Y buffer=64000
commit=Y ignore=Y
2:快速编译所有视图
---- 当在把数据库倒入到新的服务器上后(数据库重建),需要将视图重新编译一遍,因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。
SQL >SPOOL ON.SQL
SQL >SELECT ‘ALTER VIEW ‘||TNAME||’
COMPILE;’ FROM TAB;
SQL >SPOOL OFF
然后执行ON.SQL即可。
SQL >@ON.SQL
授权和创建同义词也可以快速进行:
SQL >SELECT ‘GRANT SELECT ON ’
||TNAME||’ TO USERNAME;’ FROM TAB;
SQL >SELECT ‘CREATE SYNONYM
‘||TNAME||’ FOR USERNAME.’||TNAME||’;’ FROM TAB;
第一条命令输入所有数据库结构,但无记录.第二次输入结构和数据,64000字节提交一次.ignore=Y选项保证第二次输入既使对象存在的情况下也能成功.