OCM 12c考试经验分享和题目分析

每门考试通过分数

第一天上午

第一门:General Database and Network Administration120分钟,约10大题,强度较大不考脚本建库

  1. 多种方式创建pdb:

(1)pdbprod3和pdbprod4、pdbprod5分别从已存在的pdb、pdbseed和non-cdb创建

(2)从已存在的pdb中,创建pdbprod3,设置pdbprod3随PRODCDB实例启动而启动,并保证两个pdb均为read write状态

(3)从pdbseed中创建的pdbprod4需要导入DB11G的HR、SH、OE用户(注意预先在pdbprod4中创建example和users表空间)

(4)non-cdb(PROD4)创建pdbprod5,保证PROD4最终为read write状态

  1. cdb、pdb用户创建赋权

(1)cdb创建用户user1和role1(题目中指出如有必要修改用户名即加c##前缀),将role1赋权给user1,保证user1能在所有pdb中登录(grant unlimited tablespace,create session to c##role1 container=all; grant c##role1 to c##user1 container=all;

(2)某已存在的pdb中创建user2、role2,保证user2能登录次pdb(grant unlimited tablespace,create session to role2;grant role2 to user1;)

(3)已存在package -- sys.sec_pack,cdb创建sec_user和app_role题目中指出如有必要修改用户名即加c##前缀),使用已存在的sec_pack将app_role赋予sec_user,此题需要使用dbms_metadata.get_ddl得出sec_pack的定义,然后使用exec sec_pack.h1赋权(但是此题我没执行成功)

3、controlfile管理

修改为3个,第三个置于$ORACLE_HOME/dbs下(不确定是ORACLE_HOME还是dbs了)

4、配置EM Express,端口为5501

  1. 修改undo_retention为90分钟
  2. 监听和tnsname管理

创建lsnr2(端口1525),并监听PRODCDB(修改local_listener,记得1521和1525的监听都加上)

创建dedicated tnsname:pdbprod1,pdbprod2,pdbprod3,pdbprod4,pdbprod5,emrep,连接1521端口

创建shared tnsname:prod_s,连接pdbprod1的1525端口(需要修改cdb的dispatchers参数,将XDB去掉)

  1. Shared Server Configuration

(1)设置tcp的dispatcher为3,max_dispacher为10

alter system set dispatchers='(PROTOCOL=TCP)(DISPATCHERS=3)' scope=both;

alter system set max_dispachers=10 scope=both;

(2)配置shared参数

Minimum of 10 shared server processes.

Maximum of 30 shared server processes.

alter system set SHARED_SERVERS=10 scope=both;

alter system set MAX_SHARED_SERVERS=30 scope=both;

(3)设置process、session

设置session为500,dedicated session为100

alter system set sessions=500 scope=spfile;

alter system set processes=320 scope=spfile;

alter system set SHARED_SERVER_SESSIONS=400 scope=spfile;

  1. 修改utl_file_dir为/home/oracle/scripts和/home/oracle/temp
  2. 配置dnfs并在dnfs目录创建表空间

/u02/***,已经被mount,需要配置$ORACLE_HOME/dbs/oradnfstab并执行dnfs_on,重启实例即可创建表空间

make -f ins_rdbms dnfs_on

10、创建表空间

(1)创建2个临时表空间temp1、temp2,将他们置于temp_grp的表空间组,并将数据库默认临时表空间设为temp_grp

(2)创建bigfile表空间

11、修改diagnostic_dest为$ORACLE_HOME

第一天下午

第二门:Manage Database Availability约7大题,约90分钟

  1. 安装agent 并将实例注册到gc
  2. catalog注册实例

将prod4、prod5、prodcdb注册到emrep下的rc_admin(密码为RC_ADMIN)已存在的catalog中,但此catalog版本是11g的版本,需要先升级catalog(upgrade catalog)、再register database

平常练习时可以使用11G的库创建catalog,再执行12c ORACLE_HOME/rdbms/admin/dbmsrmansys.sql,即可upgrade catalog

  1. pdbprod1中的tpir_tbs表空间使用tablespace point-in-time recover技术恢复

由于我list backup没发现此表空间的备份,使用recover tablespace *** until scn *** auxiliary destination '/u01/app/oracle/tmp'也无法恢复,就放弃了此题

  1. prodcdb的rman参数设置
  1. 设置recover window为14天
  2. 没有更新的数据文件不备份(optimization on)
  3. 并行通道设为4(parallelism 4)

5、尽量加快增量备份、减少增备的overhead(开启block change tracking)

6、rman备份并全部使用catalog记录(rman target / catalog rc_admin/RC_ADMIN@emrep)

(1)备份prodcdb加tag,保证complete recovery under all circumstances,需要plus archivelog

(2)0级增备prod4(backup incremental level 0 database)

(3)prod5加tag全量备份并keep for long time(注意此时要显式指定备份路径,长时间保留的备份不能存在fra中,且prod5的归档没开,需要先开启归档)

(4)多通道备份pdbprod1的example表空间并指定最大备份集不超过30M(allocate channel)

7、所有redolog复制到/u01/app/oracle/MREDO下

8、配置recovery相关参数和DB_FLASHBACK_RETENTION_TARGET参数

9、创建program\chain\job,使得Task2只有在Task1成功时再运行

(1)创建名Task1和Task2的program,分别对应两个已存在的.sh脚本

(2)创建名为backup_***的chain,添加Task1和Task2,并添加rule,Task1 SUCCEEDED,START Task2

(3)为chain创建job,名为JOB_BACKUP,schedule设为2分钟后执行(不要设为immediate)

(4)监控job执行是否成功

RECOVER TABLESPACE 'TSPITR' until scn 3055657 AUXILIARY DESTINATION '/u01/app/oracle/backup/tspitr';

alter tablespace tspitr online;

第三门:DatawareHouse management约5大题,85分钟

  1. pdbprod1创建到prod4的dblink,但是prod4没起,手动起库报controlfile不存在,需要

恢复controlfile

rman  target  / catalog@emrep

list backup of controlfile

restore controlfile

alter database mount;

restore database;

recover database;

alter database open resetlogs;

  1. PDBPROD1 数据库,使其中的物化视图支持查询重写,即使在约束没有被验证的情况下

alter session set container=pdbprod1;

alter system set query_rewrite_enabled=true;

alter system set query_rewrite_integrity=trusted;

enable mv的query rewrite (

create materialized view log on employees with sequence,rowid,primary key including new values;

create materialized view prod_mview refresh fast enable query rewrite as select employee_id from hr.employees;

select employee_id from hr.employees;

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值