Oracle证书、徽章展示:


考试介绍:
考场机器环境介绍: Oracle Linux Release 5.4 (32-bit) Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 (32-bit) Oracle Enterprise Manager 11g Grid Control Release 1 (11.1.0.1.0) (32-bit)
考试介绍: 考试的时候是有两台机器,一台奇数机(edsir4p1—真实考试数字会有所变化)【PROD1、PROD2】,一台偶数机(edsir1p8-—真实考试数字会有所变化)【PROD3(第一题手工建库创建的)、PROD4、EMREP】,奇数机和偶数机是指Hostname的尾数,所有的考试均在单数机上操作,想连接偶数机是用单数机的Terminal SSH进行连接。 目前Oracle在北京和上海设有考场,Oracle 12C OCM后期可能会在广州设立考场。因为北京这边的考场排期比较满,所以我是在上海(上海市恒基名人商业商务中心)参加考试的,共计九门考试,全为上机操作,共计两天,共(675mins)11.25hours,当时考完的感觉非常累,每场考试时间分别是:130mins(分值最大)、40mins(最简单的一场)、85mins(知识点较多)、110mins(最累的一场)、90mins(难度最大的一场,解题很费时)、50mins(GC)、60mins(DG)、60mins(Grid 和 ASM)、50mins(RAC),后面的几场最好不要手工创建,因为最后四场时间很紧张,最后都用EM创建。我考试的时候数据库被在线的印度阿三破坏了两次,第一次是在开始考第三场的时候,小破坏,光删除了数据文件;第二次是在开始考第五场的时候,大破坏,删除了PROD2所有的数据文件,所以每场考完试做数据库备份非常重要!我是2018年9月份考的,目前可能是Oracle鼓励考证的原因吧,不会破坏PROD1库,一般都是不同程度破坏PROD2库,因为最终收分都是从PROD1库进行收分,所以一定要注意,每场考试开始的时候重启一下数据库,检查各个数据库是否运行正常,千万记得每场考完一定一定做全备!!!
考试内容: 第一场:Server Configuration(服务配置)
在偶数机上手工创建PROD3数据库
--创建PROD3目录 mkdir -p /u01/app/oracle/oradata/PROD3 --生成密码文件 orapwd file=$ORACLE_HOME/dbs/orapwPROD3 password=oracle entries=5; --添加PROD3的.ora文件(试验过最简单写法) vi /home/oracle/3.ora db_create_file_dest=‘/u01/app/oracle/oradata/PROD3‘ db_block_size=8192 db_name=PROD3 sga_target=500m control_files=‘/u01/app/oracle/oradata/PROD3/control01.ctl‘ --切环境变量 . oraenv PROD4 export ORACLE_SID=PROD3 sqlplus / as sysdba SQL>startup nomount pfile=‘/home/oracle/3.ora‘ SQL>create database PROD3 character set al32utf8 extent management local; SQL>@?/rdbms/admin/catalog.sql SQL>@?/rdbms/admin/catproc.sql SQL>alter user system identified by oracle; SQL>conn system/oracle SQL>@?/sqlplus/admin/pupbld.sql SQL>conn / as sysdba --最后记得生成spfile文件 SQL>create spfile from memory;
奇数机创建EM,为后面的操作做铺垫
SQL>alter user dbsnmp identified by oracle account unlock; emca -config dbcontrol db -repos recreate emctl status dbconsole --访问方式:此IP根据环境不同进行调整,端口为1158 https://10.190.104.111:1158/em
表空间管理
--PROD1上创建临时表空间组 SQL>create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/PROD1/temp1.dbf‘ size 50m autoextend on tablespace group temp_grp; SQL>create temporary tablespace temp2 tempfile ‘/u01/app/oracle/oradata/PROD1/temp2.dbf‘ size 50m autoextend on tablespace group temp_grp; SQL>alter database default temporary tablespace temp_grp; --在PROD1上创建大文件表空间 SQL>create bigfile tablespace test datafile ‘/u01/app/oracle/oradata/PROD1/test01.dbf‘ size 400m autoextend on next 1m maxsize 4t extent management local uniform size 1m; --在PROD1上创建indx表空间: SQL>create tablespace indx datafile ‘/u01/app/oracle/oradata/PROD1/indx1.dbf‘ size 40m; --在PROD1上创建tools表空间: SQL>create tablespace tools datafile ‘/u01/app/oracle/oradata/PROD1/tools1.dbf‘ size 10m; --在PROD1上创建初始区大小为2M的oltp表空间: SQL>create tablespace oltp datafile ‘/u01/app/oracle/oradata/PROD1/oltp1.dbf‘ size 48m autoextend on next 2m extent management local uniform size 2m segment space management auto;
UNDO管理
--配置UNDO参数,注意时间单位是秒:S SQL>alter system set undo_retention=5400; SQL>alter system set undo_management=auto scope=spfile; SQL>alter system set processes=135 scope=spfile;
创建监听
均使用netmgr图形化根据题意创建即可,在此不赘述,注意:在奇数机上配置PROD1的共享服务器:并使用prod_S通过1526的监听连接到prod1,创建名为:LSNR2 端口:1526的监听
设置utl_file_dir
SQL>alter system set utl_file_dir=‘/home/oracle‘,‘/home/oracle/temp‘,‘/home/oracle/scripts‘ scope=spfile;
设置session,根据题意直接设置即可
alter system set sessions=300 scope=spfile; alter system set shared_server_sessions=200; alter system set dispatchers=‘(PROTOCOL=TCP) (DISPATCHER=3)‘; alter system set max_dispatchers=10; alter system set local_listener=‘prod_s‘,‘prod1‘; alter system set shared_servers=10; alter system set max_shared_servers=30;
一定要把LSNR2启动起来:lsnrctl start lsnr2,监听启动起来之后,最好测试一下连接
sqlplus system/oracle@prod_s select server,count(*) from v$session group by server;
在PROD1上配置控制文件多路复用
sqlplus / as sysdba SQL>select name from v$controlfile; SQL>alter system set control_files=‘/u01/app/oracle/oradata/PROD1/control01.ctl‘,‘/u01/app/oracle/oradata/PROD1/control02.ctl‘,‘/u01/app/oracle/oradata/PROD1/control03.ctl‘ scope=spfile; SQL>shutdown immediate SQL>!cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control03.ctl SQL>!cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control02.ctl SQL>startup
开启PROD1和PROD2的归档,并编写全备脚本
--创建四个目录 mkdir /home/oracle/arch1 /home/oracle/arch2 /u01/app/oracle/bak /home/oracle/bak --PROD1开启归档 PROD1: sqlplus / as sysdba SQL>startup mount SQL>alter system set log_archive_dest_1=‘location=/home/oracle/arch1‘; SQL>alter database archivelog; SQL>alter database open; --PROD2开启归档 PROD2: sqlplus / as sysdba SQL>shutdown immediate SQL>startup mount SQL>alter system set log_archive_dest_1=‘location=/home/oracle/arch2‘; SQL>alter database archivelog; SQL>alter database open;
为保险起见我们把控制文件自动备份打开
rman target / rman>CONFIGURE CONTROLFILE AUTOBACKUP ON;
编写全备脚本,以当前环境变量是PROD1时就备份的PROD1,当前环境变量是PROD2时备份的就是PROD2
vi rman.sh
rman target / <<EOF
run{
backup database format ‘/u01/app/oracle/bak/%d_%U.FULL‘;
sql ‘alter system archive log current‘;
backup archivelog all format ‘/u01/app/oracle/bak/%d_%U.arc‘ delete input;
backup current controlfile format ‘/u01/app/oracle/bak/%d_%U.CTL‘;
}
EOF
PROD1、PROD2执行全备脚本(注意切换环境变量)
chmod +x rman.sh ./rman.sh
收集hr用户的统计信息
exec dbms_stats.gather_schema_stats(‘HR‘);
修改ADR目录
--先查看ORACLE_HOME !echo $ORACLE_HOME --根据ORACLE_HOME进行设置 SQL>show parameter diag SQL>alter system set diagnostic_dest=‘/u01/app/oracle/product/11.2.0/dbhome_1‘;
配置DNFS
cd $ORACLE_HOME/rdbms/lib/ make -f ins_rdbms.mk dnfs_on SQL>startup force;
在nfs目录上创建一个表空间
SQL>create tablespace shared_data datafile ‘/u02/oradata/prod1/shared_data1.dbf‘ size 10m; --可以查询下面视图验证 SQL>select * from v$dnfs_servers;
在PROD4上安装Opatch,使用OPatch安装一个补丁
cd /home/oracle --解压补丁包 unzip p1283480.....zip cd 12834800 --使用OPatch安装一个补丁 /u01/app/oracle/product/11.2.0/db_1/Opatch/opatch apply online -connectString PROD4:::
偶数机启动高可用服务并设置为开机自启
cd /u01/app/oracle/product/11.2.0/grid/bin ./crsctl start has ./crsctl enable has
把PROD4/EMREP两个实例注册到GI中,注意:需要先将PROD4/EMREP两个实例停掉
--切环境变量 . oraenv PROD4 srvctl add database -d PROD4 -o /u01/app/oracle/product/11.2.0/db_1 srvctl add database -d EMREP -o /u01/app/oracle/product/11.2.0/db_1 srvctl start database -d PROD4 srvctl start database -d EMREP
--检查是否把实例都添加至GI中 srvctl config database
根据题意创建DATA、FRA两个磁盘组
./asmca DATA "normal redundancy" disks1- 4 FRA "external redundancy" disks 5 - 8
把监听注册到GI中
. oraenv PROD4 lsnrctl stop srvctl add listener -l listener -o /u01/app/oracle/product/11.2.0/db_1 -p 1521 srvctl config listener srvctl start listener lsnrctl status
答完题,nohup ./rman.sh & 将PROD1和PROD2全部做全备
至此,Oracle 11G OCM第一场考试的全部内容就都结束了。
考试总结:
第一场考试的答题时间很充裕,涉及的知识点很多、很杂,同时也是考试分值占比重最大的一场,做题时一定要阅读仔细,不漏掉一道题,不要随便送分,这种考试分分必争,我在考前做练习的时候,第一场考试,最快47mins完成,满分(26分),真实考试的时候可能会根据考场环境、做题机器性能问题,时间会比自己练习的时候长一点。我真实考试的时候,总共花费65mins左右,剩下时间很充裕,所以一定做好检查和备份,切记不要早交卷!!! 切记不要早交卷!!!切记不要早交卷!!!重要的事情说三遍。其中题目中也有几个需要注意的地方:LSNR2监听的端口是1526;PROD_S监听类型是共享;LSNR2创建完成后一定要记得启动,最好测试一下PROD_S通过1526的监听连接到PROD;控制文件多路复用时一定记得先shutdown immediate;再拷贝;RMAN配置为保险起见我们把控制文件自动备份打开;全备脚本按照我这种方式书写是最简单的,没有多余的内容。最后,祝愿想考OCM的小伙伴们一次性通过!