设为首页 收藏本站
查看: 672|回复: 0

[经验分享] 实战经验Oracle数据库基本操作步步详解

[复制链接]

尚未签到

发表于 2016-8-4 08:21:50 | 显示全部楼层 |阅读模式
实战经验Oracle数据库基本操作步步详解

  copy from http://www.68design.net/Development/Database/18324-1.html
  
  一,约束操作
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;
  4:新增表字段
  alter table TName ADD name varchar2(255);
  5:  删除表字段
  alter table tName drop column xx;
  
  三,表操作
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@dabaseSIDfile=empdata.dmp rows=N
  
  imp user/pwd@dabaseSIDfile=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选项保证第二次输入既使对象存在的情况下也能成功.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-252498-1-1.html 上篇帖子: 《Pro Oracle SQL》Chapter2-2.2 SGA – The Shared Pool 下篇帖子: 一个很简单测试oracle压力方法(有更新)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表