码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 11G OCM考试详解(第一场)

时间:2018-12-06 20:46:05      阅读:655      评论:0      收藏:0      [点我收藏+]

标签:extend   共享服务   name   删除   port   .sh   通过   let   rod   

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的小伙伴们一次性通过!

 

Oracle 11G OCM考试详解(第一场)

标签:extend   共享服务   name   删除   port   .sh   通过   let   rod   

原文地址:https://www.cnblogs.com/shidizaizailu/p/10078309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!