ocp原厂培训笔记(第3天).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ocp原厂培训笔记(第3天)

ocp原厂培训笔记(第三天) TCL :事物控制语言,比如 commit,rollback plsql :提供对面向对象的支持,可调用 c来操纵硬件。 调用时,plsql会被放入share pool里面的 library cache 。 plsql的结构 package package body(pakage body可以被加密,保护plsql的产权) trigger和function的区别: trigger是被自动触发的,而function是被手动调用的,且function必须有返回值。 把一系列的plsql过程打包,就产生了package。 store procedure 存储过程不要求返回值。 package的结构如下: 1声明(Package Specification) 2包体 (Package body) oracle有350个内建的包。 object的种类: 1segment object(table,索引,会不断地增加) 2source object(原代码对象,不能扩展) oracle中的 object:如果不存在会被标识为invalid. 由oracle事件触发, DML 包含的内容:插入事件.insert,update,delete DDL create,drop,alter ,grant,revoke,rename database LOGON,LOGOFF 不同于其它的语言,oracle一般不推荐用触发器来进行业务逻辑的编程(因为oracle 的delete并不会自动提交,需要最后还敲入commit,而sql server等类似的库都是自动提交的) 对于业务逻辑的编程,oracle一般通过 procedure来做。 所以在sqlserver 上触发器的代码如果要移植到oracle平台来,一般会通过procedure来执行。 oracle 的锁机制: 做锁的目的是:为了防止对同一个数据 做并发的修改操作。 锁的一个特性是,不会自动升级。(有的库里锁是自动升级) 锁是和事务相关的,一旦事务结束,锁就会消失(什么是事务,参照第2天的内容 (oracle 事务的开始和结束: 从第一条DML语句隐含开始 事物到commit ,rollbak结束 ) 锁的两大类型: S、X共享锁,排它锁 锁的一个属性,查询时没有锁 锁的另一个属性,可以自动排队,加锁再解锁。 DML语句会产生两个锁: 1 影响的行产生一个 排它锁(EXCLUSIVE) 2 表级别的共享锁 如果别的语句对同一个行做dml操作,这个操作会等待(而不是报错),直到这个锁被释放才能继续 ddl语句会产生独占锁, 冲突的两种类型: 1阻塞 原因: 事务长期没被提交;一个事务长期在运行;用户使用了不必要的高级别锁。 解决办法:kill session 语法 select sid,serial#,username from v$session where sid in(select blocking_session from v$session); 2死锁 一旦oracle发生死锁,oracle会管理这个锁,会自动对某一个会话提交错误。 这个时候,需要用户来手工把某一个会话结束,再重新运行那个被阻塞的会话。 关于undo 用户可以建立多个undo表空间,但对于一个instance,只有一个undo表空间。 在RAC环境下,每个节点的instance都有各自的 undo tablespace undo segment: 10g是自动管理的,但是在8i上还是手动管理的。 10g上,oracle会根据session数的1.1倍建立回滚段的数量。 在对大表进行删除的时候,建议指定一个大的undo tablespace。而且周期性做提交操作。 建议制定undo许可时间(undo_retention) =用户可能的最长查询时间 如果undo表空间不够,就会产生错误 ora-01650:unable to extend rollback segment undo_

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档