标签:extend 共享服务 name 删除 port .sh 通过 let rod
在偶数机上手工创建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的小伙伴们一次性通过!
标签:extend 共享服务 name 删除 port .sh 通过 let rod
原文地址:https://www.cnblogs.com/shidizaizailu/p/10078309.html