Oracle 11G OCM考試詳解(第一場)


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM