Oracle基本操作
BeInOnTheWay
|
1#
BeInOnTheWay 发表于 2007-06-13 00:06
Oracle基本操作
一,约束操作
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选项保证第二次输入既使对象存在的情况下也能成功. |