




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ocp原厂培训笔记(第一天)1.给我们培训的机构 OU: oracle 大学2.老师名字 *3.OCA.OCP.OCMOCM 要求 首先是ocp,通过两门高级课程,实验 2天的 LAB4.上课时间表上午 9:00-11:50下午 1:30-4:305.Q&Aekit教材oracle 其他的一些应用系统ORACLE IASJ2EE server:oc4joracle applicaction 11ioracle Jdevelop:Oracle Developer Suite10g 的G的意思是 grid. oracle 全球的论坛 global grid forum:GCFgrid的优势有哪些:1.虚拟化:在计算时没必要知道进行这个计算的位置在哪里2.动态供应:24*7 通过 dataguard来实现3.资源池:RAC 可以通过把便宜的刀片组合在一起形成强大的功能 oracle原文的意思是:神的预言,指示 ORACLE SERVER(Rdbms)=instance+database instance=SGA共享内存+Background process oracle 的内存结构 server process: PGA中 (翻译为 program或 private) shared_pool :plsql,sql都放在这个池子里,dictionary 放在这个池子里 dictionary cache,library cache,cursors database buffer cache:数据库缓冲区 java pool:java 代码专用 stream pool(定义了数据库的选择规范) large pool(大池里选择文件缓冲区,rman用) 用到的web服务器是apache 吗? 是的,9i,8i都是在一张盘,但是10g 是单独的光盘。 关于connect 和 session的关系与区别 1connection 物理上的 2session 逻辑上的概念 一个如下的dml语句将会做什么操作呢? select * from em where empno=100; 三步: 1.parse :访问共享池,数据字典有计划 2.execute 调度作业 3.fetch 取这个数据 DDL操作不会 fetch 操作。 SMON:翻译为系统监视进程 PMON:翻译为进程监视进程(PMON 主要作用之一是 清除用户进程留下的垃圾) 如何设置dbwr的个数? 如果系统中,每多出 4个CPU(内核)会考虑增加一个 dbwr 进程. 检查点的作用,修改控制文件和数据文件。 如果一个进程失败,对它的恢复,是通过smon来做,将恢复到最近一个成功的检查点。 smon 会做一个 前滚操作(roll forward),再做一个回滚操作(roll back) 具体过程,smon 会读取控制文件,取checkpoint 时间对应的scn,再读redo 块, 把从那个时间开始的所有redo 执行,一直执行到redo 块的尾部。 事物的概念是什么: 一组 DML语句,做为一组逻辑的部分会全部执行或全部取消。 checkpoint 分为两种, 1:增量 (checkpoint not commplete这种报警的时候就是增量备份时候 报的警。 2.完全的(手工 checkpoint)对于OLAP 系统,应该尽量减少物理iopinned 状态,服务器进程正在对块进行跟新的时候就处于这个状态,此时操作系统会产生一个latch只有dbwr 来写完 灰数据的时候,这个latch才会释放。latch用在dbwr跟新缓存区的时候,使用了latch时,别的用户无法跟新同一个缓存区。redologoracle 至少需要两个redolog 组(group),一个控制文件每个组里可以有一个或多个member.member之间的关系是mirror的。如果指定多个控制文件,则这几个控制文件可以被并行写。oracle引进了2进制参数文件,spfile就是其中一种,它的好处是不需要文本编辑就可以被修改。passwd file的目的是验证 登陆的用户是否有足够的权限。sysaux表空间的目的是降低 system表空间的压力,叫做system 的辅助表空间(辅助系统表空间)我们可以调用特定的plsql进程把数据从sysaux迁移到别的表空间去。oracle data block的大小由 db_block_size大小确定,必须是操作系统块的倍数data,index,undo都是 segment的概念。而当 对大量数据进行sort操作的时候,一般会使用临时表空间里面的temp表。schema是oracle 的一个重要概念,它的意思就是账号下的对象集合。比如说,HR 不代表一个用户,而是代表 application,session 是基于用户的,(用实体关系图画的,erd)oracle 是一款面向对象的关系型数据库 ORdbms 影子进程的更新步骤,会先写脏数据,再更新数据文件头。 OUI:JAVA (任何 支持java都可用) ONM:网络配置 OEM:database control,建立在oracle 的java 服务器 oc4j之上。(通过jdbc 和它通信) isqlplus 浏览器版本。 Oracle Secure backup:是一种备份到磁带的工具 datapump:逻辑的对数据进行导入导出。 sqlloader:把外面数据加载进oracle. 闪回恢复去为了支持两个全备,他的大小默认是database的两倍。 9i 和10g跑在同一台机器下是可行的,需要单独的 oracle home. OFA:optimal flexible architecture 组织大量软件目的,1.把大量的磁盘放在不同的位置,主要起到一个 io均衡的作用。随着raid的普及,变得不在那么重要,2.遵守另外一个规范/u01/ /disk01/ 对应mount point/u01/app/oracle /u01/app/applm 文件夹命名规范,.dbf .ctl 文件命名规范。ORACLE_BASEthe base of oracle direcotory structure of OFA.ORACLE_SID是大小写区分的(敏感的)AIX 不需要编辑内核参数,用缺省的就可以了。安装oracle 软件2个脚本需要运行:1OraInstallRoot.sh,会建立一个文件名, 在 /etc 下,名字是 oraInst.loc,告诉inventory在哪里2Root.sh 建立一个oratab文件,每建立一个instance,会在oratab 下建立一行,给一些agent去读。比如 dbconsole 内置了一个agent,会去读祖oratab这个文件,找到机器上的数据库目标。网格的功能是进行 数据库的克隆。dbca的时候可以制订一个 响应文件,记录所有的响应信息,把所有的操作记录下来,可以放到别的位置,别的机器可以用这段代码自动帮你配置。listener进程只是用在用户进程和服务器进程通信握手的时候使用。一旦握手之后会话就不再依靠listener了。数据库的种类Data warehouse:PGA 比较大,sga比较小,有利于查询。Transaction Process:SGA 大,pga比教小。olap option(数据挖掘) DH(联机分析功能)custom database :定制数据库可以通过执行大量的脚本来创建定制数据库。(数据字典)定制 sid名字:oracle 规定不能超过8个字节。Global dbname中间包含的domain name和操作系统的域名。oc4j: ORACLE 的java服务器。sysman,dbsnmp 监控db状态使用.采用omf的管理机制,方便文件管理,OMF 创建文件缺省时 100M。OMF 管理的表空间用 oracle 命令来删除,将会自动删除文件(在文件系统中)如果定义 db_create_file_dest 这个参数,oracle就自动启动了OMF了。数据库建立的时候,默认是非归档模式的。windows 下的 database文件夹相对于 unix下的 dbs.从一个存在的数据库创建模板,导库 可以使用 下面的步骤create database-选中 template模块redo 日志文件和控制文件,最多可以做5重镜像。server进程的process数量是怎么制定的?根据用户session 来考虑,如果 有300个用户,需要再把processes参数设置成450原有的情况下再加 150为什么要这么设置?因为一个session也会产生很多process,并行性查询的时候,这样就会把原来的processes数量减小,即一个session可能对应了多个process.300个用户session的话,那么就需要设置比300更多的processes数量。oracle的字符集主要包含数据库字符集+国家字符集SGA 大小设置最好不要小于 210M,share pool oracle建议10G里面至少要180M共享服务器模式肯定支持专用的模式,但专用模式不一定支持共享服务器模式。database control:只能管理一个数据库,登陆到企业管理控制台。而grid contrl可以管理多个数据库。sys operator与sysdba的区别:sys operator无法看到业务表,sysdba 可以看到 业务表。sys operator和dba都可以起停数据库。isqlplus 访问不建议 用sysdba登陆java 环境下授权之后才能用isqlplus sysdba身份使用database.oracle的sql脚本sqlplus hr/hrshow user;显示当前的用户名oracle如何执行外部的sql脚本:sqlplus hr/hr cc.sqlsqlplus 缓冲区只能存在一个修改变量,直接修改之前的sql脚本过程sqllist select * from hr.departments; define _editor=gedit define _editor=vi editDB_FILE_MUTIBLOCK:IO 内存中可共享读一个数据块的进程数量。动态参数:不需要重启即能生效的参数。alter system set *=* scope=memory,spfile,both;静态参数:必须重启才能生效的参数。 alter system set *=* scope=spfile;定制数据库是否归档,必须通过ctl file来指定。数据库的启动和状态1.查找参数文件的顺序: spfilesid.ora-spfile.ora-initsid.ora2.启动实例的过程startup nomount-open alert.log ,并做写操作-读ctl文件,做mount操作(不需要读数据文件)-读数据文件,open操作(如果有恢复需要恢复)shutdown abort相当于 把数据库掉电,但是它没有物理强脉冲shutdown transaction 当事务都结束后,才关闭数据库shutdown normal 所有的用户断开后才关闭数据库shutdown;=shutdown normalalert history和alertlog没有任何关系,只是阅读超过阀值得所有警报信息,动态视图下的警告信息。动态性能视图包括v$sql,v$session,v$lock等等v$_fixed_table,这些固定表只能被查询不能被改动。这些语句的信息会适时地根据变化而改动。v$ 视图作用多多,比如,查询执行时间超过200000毫秒的sql语句sqlselect sql_text,executions from v$sql where cpu_time200000;sqlselect sid,ctime sqlselect status from v$instance; 察看instance的状态。 ocp原厂培训笔记(第二天) 段 segment,区 extent ,块 block 逻辑概念table.A- heap ,堆表,比较慢(heap 表的记录没有次序)每个block的头有 SCN,尾部也写有一些数据,(如果坏掉了,整个block就会变得无法标识)如果有个 12K的表,它将被分配到两个块上去。TABLESPACE的作用: Are a repository for schema object data; datafile:ORACLE 自动把表存在这个地方(table 不能指定到 datafile,只能指定到 tablespace)OMFDB_CREATE_FILE_DEST如果设置了DB_CREATE_FILE_DEST_N: 指定镜像 到多个位置DB_RECOVERY_FILE_DEST:闪回恢复区域extent 管理本地管理 :通过位图来管理dictionary管理; 通过 Fet$,vet$ 表插入数据。 (有可能出现产生 SYS RECURSIVE SQL,影响系统功能的情况)如果本地管理,就不会产生上面的 SYS RECURSIVE SQL当没有指定某个用户的永久表空间时,users会被指派为默认的永久表空间。v$tablespace 有几种形式:大表空间:一个表空间只能有一个datafileExtent 分配: 1automatic 自动 2uniform 统一大小 选择自动的 extent 分配,前面16个盘区为64KB,8*1M,?*8MB segment 管理方式: 1Automatic :位图块来管理 2Manual:freelist 一般选择第一种管理方式,automatic 管理方式有更好的并发性,这种管理方式叫自动段空间管理(ASSM)当置于某个tablespace 处于logging 模式 1update,delete (仍产生redolog)2create table t1 as select * from *; 不会产生redo可以设定表级别的logging和unlogging,,如果不指定这个表级别 logging,则自动从tablespace级别继承是否logging。alter tablespace offline = alter tablespace offline normal (这时会发生完全检查点,部分的完全检查点,只写回一个表空间的脏数据)alter tablespace immediate; 不发生检查点 ,下次启动必须做将media recovery;alter tablespace temporary;(如果能 normal down掉下来,则先做完全检查点之后再 normal down 下去(类似normal);如果文件坏掉了,则会发生强制offline(类似immediate)建立tablespace需要注意的情况:建立tablespace 名字的时候,推荐不要用“”来指定文件名,否则以后都会大小写敏感了。如果指定 reuse 参数,如果datafile名字一样,则覆盖原来的tablespace。数据库里由字典管理的表空间,我们可以通过调用一个plsql包,通过里面的存储过程,把它变成本地的管理方式。dba_tablespace:被存储在系统表空间,数据库位于open状态的时候才能看v$tablespace:动态视图 ,不同状态可以看不同的内容,但没dba_tablespace内容 详细。盘区映射图:storage-tablespace-察看表空间内容-extent map一个数据库理论上有最多有 65000的datafile.ASM; File system.Volume manager ( I/O 情况下状态平衡)(ASM instance 掉了之后 ,数据能找回来吗) 能,oracle support有这种软件,读组成 asm盘的裸盘的header,然后恢复它.把asm instance 起起来.对一个block插入,用户数据从下往上插入,系统数据从上往下插入。一个库里的大表空间可以有多少? 没有限制.权限的授予和回收:Grant,revokeprofile的两个作用:口令管理,资源管理sys用户system用户比较:sys的属性:DBA ACCOUNT,ADMIN OPTION,有对DATA DICTIONARY 管理的权限,AWR报告的权限SYSTEM:用户会拥有一些额外的工具视图.用户: sys 拥有DBA权限,SYSDBA 权限. system:拥有 DBA的权限.(是系统权限) SYSTEM没有权限关闭数据库,因为它仅有DBA权限.dba与sysdba的区别:权限:dba 角色权限是复合的 sysdba: 权限是原子的,不能分割(是系统权限)passwd的认证方式 1password (data dictionary 里) 2external (OS 认证) 3global (SSO 单点认证,)普通用户,管理员用户如果有操作系统帐号tsmith,在数据库中存在一个用户 OPS$tsmith,则这个用户可以直接采用操作系统登陆方式登陆.操作系统验证优先于口令文件认证.操作系统认证的内容:因为ORACLE属于oinstall 成员,(sysdba)oracle可以通过操作系统命令来登陆.通过下面命令来查看所有有sysdba权限的用户:SQLselect * from v$pwfile_users;可以看到默认 system没有sysdba系统权限的.但是我们可以通过grant 命令来给system 权限.用户权限分为 1 system系统权限(open shutdown) 2 object 对象权限(update,delete)系统权限 的关系 : A B C 不级连 ,A 赋予B 权限D,B赋予C权限D (open shutdown)A可以从B 拿走权限,但是不会顺带把C的权限拿走 对象权限: A B C级连如果 A从B拿走权限d,则顺带把从c的权限拿走吧 (update,delete)一个角色的最终权限是它所有权限的集合版本不同:9i和10G比,9i的connect 有了更多的connect 权限.resource 有无限制的空间配额.缺省角色;默认角色SET ROLE vocationdba;分配角色给用户create user u1 identified by u1 quota 10m on users;create role r1;grant create table to r1;grant r1 to u1;非默认角色(事后打开)sqlalter user u1 default role none;( u1默认角色是没有被激活的)但用户可以自己激活这个角色.sqlconn u1/u1sqlset role r1;用户的概要文件的两个作用 :1控制文件 2限制资源(防止黑客) CPU 时间,连机时间,服务器控制时间如果数据库处于共享连接模式,则 session占用的SGA,就是私有的.在设置profile的前提是,必须先设置 系统参数 resource_limit, alter system set resource_limit=true;这样profile的资源限制才能生效.不推荐用保留字,空格来做对象名.db_link最长可以到128个字节.对于对象用双引号,则大小写敏感了日期,字符单引号varchar2 :比varchar更加增加空间nunmber: 数字类型timestamp:对日期时间扩展千万分之一秒(比date 更精细)clob:大字符串类型Blob:照片作为数据文件存储数据,照片文件直接存入数据文件BFILE:文件名称的引用external table:约束: 1主键约束:主键列不允许有空值,重复值(主键约束=特殊的check约束) 2unique约束,某列只能有一个 3check约束, 比如限制员工的岁数在14-18岁之间 4主键,外键约束 干掉部门无法干掉(必须先移除对他作了索引的外键才行)201 页,禁用约束(Disable Novalidate 不检查约束)数据插完之后再检查.如果对某表有 disable validate 设置,无法对此表做DML操作.缺省的约束是 非延时约束.drop table hr.employees purge(不加purge则回到回收站,加了它就是完全删除)只有主键列和unique列可以被作为别的表的外键.truncate (属于ddl,每个语句作为一个独立事务隐含提交,不能加where条件,只删除表的数据,保留结构) delete(可回滚,属于dml) drop(删除整个表,包含表结构,是ddl语句)drop 和truncate相比耗资源差不多,都是ddl操作.索引包含两个内容.key和row pointer两种类型的索引,位图索引和B-TREE索引B-Tree索引的 ROWID 包括:文件名,对象名,块号,行偏移,如果利用ROWID来查找数据,我们只需要一个 io即可操作它位图索引:重复值比较多的情况下建议使用位图索引。(比如一个列值建立索引,它是表示颜色的,那么一种颜色就可以用一行来表示,这样,如果要查找红蓝色的所有列,则可以把它们对应的行做一个 或 的操作即可)位图索引的缺点在于,跟新一个列就会锁定整个index表,所以位图索引只适合查询系统,(重复值比较多的查询系统)。oracle默认对外键是不建立索引的,只有主键和唯一键才建立索引。反键索引:命令类似于 alter index reverse.如果对 1001,1002,1003,1004块插入数据,这样会在索引的文件块中产生热点块,可能会拖延查询,我们把键值翻过来之后,变成1001,2001,3001,4001,这样索引文件中各自的块会放在不同的位置。避免了索引中热点块的出现。反键索引的缺点在于对范围查询支持不好,(因为反键索引中对应数据不是顺序存储的) 用在等值查询则比较块。如果此时做范围查询,则会变成全表扫描。建立索引的语法: create index my_index on table()这时会建立索引,默认类型是 b-tree索引。函数索引:建立函数索引的原因是:索引都被放在函数里,无法被使用。例如:create index indx1 on hr.employees(upper(last_name);这是无法利用索引的,为了解决这个问题,我们可以用函数索引。视图的概念: 为了隐藏某些敏感信息,可以对某些基表的某些选项开放(敏感信息保留),建立一个视图。 如果我们对这个视图进行修改,将会直接修改下面基表对应的内容。物化视图则是在基表 上综合数据,产生一个实际的表,对物化视图的修改不会影响基表。224 面序列对象:sequence 只针对当前对象来使用的sequence current:针对当前的sequence值sequnnce.nextval:针对全局的sequence值for example:create sequence s1 start with 1;(如果没写增量,则每次sequence以一来递增)select s1.currval from dual;察看会话的当前sequenceinsert into t1 values(s1.nextval,limin);序列对象产生后,只能保证它是唯一的,但是不能保持是连续的。(一个会话产生一个 sequence,如果rollbak,或者掉电,这个sequence 序列号都会消失) 临时表:临时表可以产生undo,但不会产生redo。temp表里,发生commit之后,只会删除表里的记录,定义会保存下来。for example:create global temporary table t_dept as select * from departments;这样会建立一个table ,t_dept,但是里面不会有数据。因为上面是一个完整的会话。create global temporary table t_dept as select * from departments on commit reserve (基于会话的,只有断掉会话时才释放)视图:DBA_ 只有管理员才能看ALL_ 每个人都可以看USER_ 用户才可以看试题:以管理员的角度,察看hr帐号下的所有表select table_name from dba_tables where owner=HR;for examplesu - oracleconn hr/hrcreate table dept as select * from departments;create table emp as select * from employees;create table * as select * from *建立这些表的时候只会把原表的非空约束拷贝过来,其他约束都不会拷贝过来。练习:通过EM建立约束:TABLES-EDIT-TABLE-CONSTRAINTS建立复合索引(无关键字)建立函数索引。create index indx1 on emp(upper(last_name);查处emp 表有哪些索引,以及索引的类型。select index_name,index_type from user_indexes;DML 语言 merge= update+insert(有条件的更新)合并oracle 事务的开始和结束:从第一条DML语句隐含开始事物到commit ,rollbak结束for example:1.select 2.insert3.update4.create table t1(DDL)在执行第4个语句的时候,它会默认检查前面一个语句,如果没有发生提交,则它会产生一个隐含提交工作。使用isqlplus的步骤:isqlplus start%ORACLE_HOME/install/port.lst/5560/isqlplus 从浏览器里面浏览的方法::5560/isqlplusocp原厂培训笔记(第三天)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_retention(默认不是强制的) 1.有足够得的时间容纳 2.大对象参数 3.保证保留参数 undo_retention来说 无论怎么样,oracle都会强制保留一个事务在15分钟内的可重用空间。 通过undo Advisor,我们可以察看预估采样 sqlalter tablespace undosbs1 retention guarantee;(强制保证undo_retention参数保证的时间内数据不被覆盖) 缺省情况下 undo表空间是处于 noguarantee状态。 察看回滚段的信息: select usn,xacts from v$rollstat; usn xacts 0 0 1 1 2 0 3 0这里(usn,xacts)为(0,0) 对应的是系统回滚段,(usn=0表示系统回滚段)(xacts 表示系统回滚段当前的活动会话数 )usn等于其它值得内容为事务回滚段。(1,1)表示某个事务回滚段,有一个正在活动的会话。察看undo 顾问,步骤如下:a) In Enterprise Manager, select Administration Related Links Advisor Central.b) Click Undo Management.c) Click Undo Advisor.d) In the New Undo Retention field, enter 2. Then select days from the drop-down list.e) Select Last Seven Days in the Analysis Time Period drop-down list. Results of theanalysis will be displayed.Note: The values that you see are likely to be different from those shown here.securityDBA责任 1industry security requirement Sarbanes-Oxelay Act(SOX) 财务的安全规范,确保财务数据 必须被保存多长时间才能被删除 2HIPAA:个人隐私安全规范,保证个人隐私不能被访问。Audit: 1.拥有dba权限用户必须被信任 2.需要对数据进行审计 3.DBA 职权必须被共享 4.DBA帐号不能被共享(dba 不能用sys去做管理,应该用各自的帐号) 5.DBA和系统管理员必须是不同的两个账户(root ,sysdba 是两个分开的角色) 6.分开操作员(operator)和DBA权限数据库安全 1.限制对数据的访问(防火墙外,接卡器) 2.验证用户,高级安全选项 3.检查审计活动。最小权限原则 1.只安装最小的服务 2.只打开必须的服务 3.仅给需要的服务 4.root用户密码要保证 5.限制权限(select any table 权限的限制)grant select any table to hr;这样hr 用户可以看到数据库的所有表了(除了system表空间下的表)如果授权给public,任何用户都可用。限制有管理员权限的用户,限制远程操作系统认证REMOTE_OS_AUTHENT=FALSE;(默认false,索引不用改了)如果打开了这个选项,本地和远程机器oracle如果密码碰巧相同,则远程用户可以直接登录到数据库上来,而不需要认证。(但是仍然需要通过tnsnames.ora连接到listener)审计(Mandatory auditory)standard database auditing(标准审计,缺省没打开)value_based auditingfine-grained auditing(FGA,细粒度审计)如果打开标准审计记录,则oracle会把审计数据放在 aud$.基于这个表产生视图DBA_AUT_TRAIL,DBA_COMMON_AUDIT_TRAIL如果打开细粒度地审计记录,则oracle 会把审计记录到 FGA_LOG$里。基于这个表会产生视图 dba_aut_f*,DBA_COMMON_AUDIT_TRAIL审理的过程1.打开审计2.指定审计内容3.产生审计记录4.产生审计记录(aut$)5.察看DBA_AUT_TRAIL(标准视图) DBA_AUT_F_TRAIL(细粒度的视图)DBA_COMMON_AUDIT_TRAIL(综合标准视图和细粒度视图)alter system set audit_trail=A scope=spfile;(静态参数)A= true(db) 记录放在db的dictionary里面A=os 记录放OS里(文件系统文件夹里A=XML 以xml文本格式放在 OS文件系统文件夹里sqlaudit update,delete on hr.employees by access;(会话不断,只要有一个新的符合条件的语句,就会产生审计记录)audit update,delete on hr.employees by session;(会话不断,则只有一条审计记录)无焦点审计:sqlaudit all on hr.employees;无焦点审计删除审计记录sqlnoaudit delete on ;通过 trigger来做审计(可以知道被审计的内容的前映像)上下文环境函数: sys_context()CREATE OR REPLACE TRIGGER system.hrsalary_auditAFTER UPDATE OF salaryON hr.employeesREFERENCING NEW AS NEW OLD AS OLDFOR EACH ROWBEGINIF :old.salary != :new.salary THENINSERT INTO system.audit_employeesVALUES (sys_context(userenv,os_user), sysdate,sys_context(userenv,ip_address),:new.employee_id | salary changed from |:old.salary| to |:new.salary);END IF;END;/FINE-GRAINED AUDITING(可以带条件的审计,和标准审计有区别,标准审计只知道做了什么操作)1.select insert update,delete 2.DBMS_FGA审计的DML规则DELETE 总会被审计merge-看为insert,update来审计records-符合条件无条件审计:null条件如果审计的内容不存在,会产生错误, ORA-28112对数据审计必须放在数据库外面如果把系统参数audit_sys_operations 设置为true则oracle会 把sys的所有操作都记录在 audit_file_dest所对应位置。 如果打开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丁苯橡胶装置操作工安全宣传模拟考核试卷含答案
- 蓄电池充电工岗前创新思维考核试卷含答案
- 四川省城市综合承载力发展水平研究
- 2025杏花岭区社工证考试题库及答案
- 尾矿处理工操作规范强化考核试卷含答案
- 中低温固体氧化物燃料电池PrBaCo2O5+δ基双钙钛矿阴极材料的制备与电化学性能研究
- 井矿盐制盐工岗前安全技能考核试卷含答案
- 马铃薯球炭疽菌候选效应蛋白CcAA9-20333的鉴定及其作用机理研究
- 圆机操作工安全实操模拟考核试卷含答案
- 钨绞丝加热子制造工安全操作评优考核试卷含答案
- GB 16663-2025醇基液体燃料
- 2024年全国统计师之初级统计基础理论及相关知识考试快速提分卷(附答案)
- 2025年湖北省荆门市辅警考试题库(附答案)
- 潮汕美食课件
- 2025年云南省公务员公开遴选笔试试题及答案(综合类)
- 气象科研课题申报书
- 2023年中级统计师《统计工作实务》试题真题及答案
- 新疆质量安全总监培训课件
- 心理健康指导手册方案
- 2025年专题讲座-纪念抗战胜利80周年93阅兵
- 电厂安全学习培训课件
评论
0/150
提交评论