第九章:OCM考试练习实验
点击数:1803发布日期:2020-04-19 15:03:57 来源:老鹰
第九章:OCM考试练习实验
OCM(Oracle Certified Master)是Oracle公司的最高认证考试。曾经受到不少技术爱好者的追捧,进入中国市场之后,经过几年的发展,已经量产。建议把以下的实验做熟练。考不考OCM认证,自己看着办吧,技术好的话,可以不用考。OCA,OCP是背题库,考试的时候都是题库中的原题,背背题库就能考90分以上,和技术好坏没关系。OCM是比着题库做实验,比OCP有难度。
9.1.0第0节 手工建库
9.1 使用CREATE DATABASE命令,按下面的要求创建一个数据库。
(1)、数据库(Database)的名字是PROD。
(2)、实例(Instance)的名字是PROD。
(3)、设置ORACLE_SID环境变量。//这里很变态,使用.bash_profile设置不成效。必须使用export ORACLE_SID=PROD。
(4)、SYS和SYSTEM用户的密码都设置为ORACLE。
(5)、在/home/oracle/scripts目录下面,有一个参数文件名为initPROD.ora。请你按需求修改它,便于手工建库时使用。
(6)、创建一个本地管理的(Locally Managed) SYSTEM表空间。
(7)、在目录/u01/app/oracle/oradata/PROD下,使用目录结构(disk1-disk5),模拟在不同的磁盘上分散物理文件。
(8)、不要执行其它的数据库脚本文件,如catalog.sql,catproc.sql等。
注:不要创建其它的数据库,保证数据库处于打开状态。
su - oracle
export ORACLE_SID=PROD //输出环境变量
--.bash_profile
alias ss="sqlplus '/as sysdba'" //设置SQLPLUS的别名
--mkdir //建对应的目录
mkdir -p /u01/app/oracle/admin/PROD/adump
mkdir -p /u01/app/oracle/admin/PROD/bdump
mkdir -p /u01/app/oracle/admin/PROD/cdump
mkdir -p /u01/app/oracle/admin/PROD/udump
mkdir -p /u01/app/oracle/oradata/PROD/disk1
mkdir -p /u01/app/oracle/oradata/PROD/disk2
mkdir -p /u01/app/oracle/oradata/PROD/disk3
mkdir -p /u01/app/oracle/oradata/PROD/disk4
mkdir -p /u01/app/oracle/oradata/PROD/disk5
--initPROD.ora //整理参数文件
cat init.ora | grep -v ^# | grep -v ^$ > initPROD.ora
add as flow
db_name=PROD
sga_max_size=280m
sga_target=280m
control_files = ("/u01/app/oracle/oradata/PROD/disk1/controlfile01.dbf",
"/u01/app/oracle/oradata/PROD/disk2/controlfile02.dbf",
"/u01/app/oracle/oradata/PROD/disk3/controlfile03.dbf")
*.compatible='10.2.0.1.0'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.log_archive_dest_1='location=/u01/app/oracle/oradata/arch'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=300
*.pga_aggregate_target=83886080
*.processes=500
*.remote_login_passwordfile='EXCLUSIVE'
--startup nomount //启动到nomount状态
startup nomount pfile='$ORACLE_HOME/dbs/initPROD.ora
--create spfile
create spfile from pfile;
startup nomount force;
--modify //修改参数
alter system set background_dump_dest='/u01/app/oracle/admin/PROD/bdump' scope=spfile;
alter system set core_dump_dest='/u01/app/oracle/admin/PROD/cdump' scope=spfile;
alter system set user_dump_dest='/u01/app/oracle/admin/PROD/udump' scope=spfile;
alter system set audit_file_dest='/u01/app/oracle/admin/PROD/adump' scope=spfile;
alter system set db_create_file_dest='/u01/app/oracle/oradata/PROD/disk3' scope=spfile;
alter system set db_create_online_log_dest_1='/u01/app/oracle/oradata/PROD/disk1' scope=spfile;
alter system set undo_management=auto scope=spfile;
alter system set undo_tablespace=undotbs scope=spfile;
alter system set job_queue_processes=5 scope=spfile;
startup nomount force;
--password file //建密码文件
orapwd file=orapwPROD password=oracle entries=5 force=y
--create database //手工建库
create database prod
user sys identified by oracle
user system identified by oracle
logfile group 1 ('/u01/app/oracle/oradata/PROD/disk1/redo01.log') size 100m,
group 2 ('/u01/app/oracle/oradata/PROD/disk1/redo02.log') size 100m,
group 3 ('/u01/app/oracle/oradata/PROD/disk1/redo03.log') size 100m
maxlogfiles 30
maxlogmembers 5
maxloghistory 1
maxdatafiles 500
maxinstances 2
character set utf8
national character set utf8
datafile '/u01/app/oracle/oradata/PROD/disk2/system01.dbf' size 325m reuse extent management local
sysaux datafile '/u01/app/oracle/oradata/PROD/disk3/sysaux01.dbf' size 325m reuse
default temporary tablespace tempts1
tempfile '/u01/app/oracle/oradata/PROD/disk4/temp01.dbf' size 20m reuse
undo tablespace undotbs
datafile '/u01/app/oracle/oradata/PROD/disk5/undotbs01.dbf'
size 200m reuse autoextend on maxsize unlimited;
@?/rdbms/admin/catalog.sql //创建数据字典
@?/rdbms/admin/catproc.sql //创建基本的过程和包
9.1.1第1节。数据库设置和undo管理。
(1)、在数据库PROD中,执行最少需求的脚本,完成最基本的配置需求。
(2)、设置自动undo管理,支持下面的需求。
2.1避免ORA-01555快照太旧错误,支持平均查询时间90分钟。
2.1通常的业务时间段,并行的OLTP用户大约为120个。
2.3在晚上和周末并行的批处理进程达到15个。
@?/rdbms/admin/catblock.sql //创建有关lock的视图
@?/rdbms/admin/catoctk.sql //关于安全的数据字典
@?/rdbms/admin/owminst.plb //定制数据库相关
conn system/oracle
@?/sqlplus/admin/pupbld.sql //创建product_user_profile table
@?/sqlplus/admin/help/hlpbld.sql helpus.sql //安装sqlplus帮助
alter system set undo_retention=5400 scope = both; //undo保留时间
--undo guarantee
alter tablespace undotbs retention guarantee; //保护undo信息不被轻易读写
alter tablespace undotbs retention noguarantee;
alter system set processes=200 scope=spfile; //修改processes参数
alter system set transactions_per_rollback_segment=15 scope=spfile;
9.1.2第2节
使用默认的listener名创建一个listener。
(1)使用TCP/IP协议,使用主机名(不使用IP地址)。
(2)这个listener监听默认的端口号。
(3)数据库PROD和EMREP将由这个listener提供服务。
增加第二个listener,名为LSNR2,使用1526端口,支持实例注册。
3.1设置PROD实例自动注册到LSNR2监听程序中。
3.2同时启动这两个listener。
--1.1 listener.ora
在$ORACLE_HOME/network/admin下。手工编辑listener,静态监听prod和emrep实例。
--listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PROD)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
)
(SID_DESC =
(SID_NAME = EMREP)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
)
)
创建两个listener,另一个listener名叫lsnr2。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = yingshu)(PORT = 1521))
)
)
LSNR2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = yingshu)(PORT = 1526))
)
)
将数据库的默认listener设置成lsnr2
alter system set local_listener='(address=(protocol=tcp)(host=yingshu)(port=1526))' scope=both;
alter system set local_listener='LSNR2' scope=spfile;
alter system register;
9.1.3第3节 共享服务配置
(1)配置PROD数据库支持300个会话,100个专有服务(Dedicated)连接。
(2)配置PROD数据库支持如下要求:
2.1默认为3个TCP调度器。
2.2最大支持10个调度器。
(3)配置PROD数据库支持如下要求:
3.1最少10个共享服务进程。
3.2最多30个共享服务进程。
--1.300 session,100 dedicated,修改sessions等参数。
alter system set sessions=300 scope = spfile;
alter system set shared_server_sessions = 200 scope = spfile;
alter system set processes=400 scope = spfile;
startup force;
修改调度器等参数。
--2.PROD,3tcp dispatchers, max 10 dispatchers
alter system set dispatchers = '(protocol = tcp)(dispatchers=3)(connection=100)' scope = both;
alter system set max_dispatchers = 10 scope = both;
修改共享服务模式的相关参数。
--3.PROD,10 shared processes,max 30
alter system set shared_servers = 10 scope = both;
alter system set max_shared_servers = 30 scope = both;
9.1.4第4节 客户端网络服务配置
(1)创建一个客户端的网络配置文件,可以使用本地命名方式和简单连接方式连接到数据库中。
1.1实例PROD的别名为prod,使用默认的listener和专用服务模式连接数据库。
1.2实例PROD的第2个别名prod_s,应使用LSNR2和使用共享服务模式连接数据库。
(2)别名racdb,应连接至数据库服务RACDB(稍后创建),使用专用服务模式。
2.1这里的RACDB服务将运行在你的RAC集群中。
(3)别名emrep,应连接至EMREP实例(稍后创建),使用专用服务模式。
--1.sqlnet.ora 修改sqlnet.ora配置。
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
--tnsname.ora 修改连接字符串。
prod =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = odd)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = prod)
)
)
prod_s =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = odd)(PORT = 1526))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = prod)
)
)
racdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yingshu)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = racdb)
)
)
EMREP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = odd)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = emrep)
)
)
###############################
--rac sample //RAC的连接字符串
ODSDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = odsdb1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = odsdb2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER=ON)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = odsdb)
)
)
9.1.5第5节 表空间的创建和配置
(1)创建一组临时表空间,含有两个临时表空间,使其支持并发创建大索引,分析表等大操作,满足如下要求:
1.1临时表空间的组名为TEMP_GRP,包含两个临时表空间分别为TEMP1和TMEP2。
1.2设置TEMP_GRP为所有用户默认的临时表空间。
(2)创建一个永久表空间,存储测试数据,按照如下要求创建:
2.1表空间名为EXAMPLE。
2.2初始的数据文件为400MB,可以增长至4TB。
2.3初始的区大小为1MB。
2.4下一个区的大小为1MB。
(3)创建一个永久表空间存储索引,按照如下要求创建:
3.1表空间名为INDX。
3.2大小为40MB。
(4)创建一个永久表空间存储收集的各种Oracle工具,按照如下要求创建:
4.1表空间名为:TOOLS。
4.2数据文件大小为48MB。
4.3初始的区大小为4MB。
4.4下一个区的大小为4MB。
(5)创建一个默认的永久表空间,按照如下要求创建:
5.1表空间名为USERS。
5.2数据文件大小为48MB。
5.3初始区的大小为4MB。
5.4下一个区的大小为4MB。
(6)创建一个永久表空间,考虑到在线的进程需要大量的并发插入操作,应考虑到降低该表空间中表的维护成本,按照如下要求创建:
6.1表空间名为OLTP。
6.2文件大小为48MB。
6.3初始区的大小为2MB。
6.4下一个区的大小为2MB。
1创建临时表空间。
create temporary tablespace temp1 tempfile '/u01/app/oracle/oradata/PROD/disk4/temp1_01.dbf' size 100m tablespace group temp_grp;
create temporary tablespace temp2 tempfile '/u01/app/oracle/oradata/PROD/disk4/temp2_01.dbf' size 100m tablespace group temp_grp;
alter database default temporary tablespace temp_grp;
2创建大文件表空间example
create bigfile tablespace example datafile '/u01/app/oracle/oradata/PROD/disk5/example_01.dbf' size 400m reuse autoextend on extent management local uniform size 1m;
3创建索引表空间indx
create tablespace indx datafile '/u01/app/oracle/oradata/PROD/disk5/indx_01.dbf' size 40m reuse;
4创建工具表空间tools
create tablespace tools datafile '/u01/app/oracle/oradata/PROD/disk5/tools_01.dbf' size 10m reuse;
5创建users表空间
create tablespace users datafile '/u01/app/oracle/oradata/PROD/disk5/users_01.dbf' size 48m reuse
uniform size 4m;
6创建OLTP表空间
create tablespace oltp datafile '/u01/app/oracle/oradata/PROD/disk5/oltp_01.dbf' size 48m autoextend on extent management local uniform size 2m segment space management auto;
修改数据库默认表空间
alter database default tablespace tools;
删除表空间命令tablespace
--drop tablespace users including contents and datafiles cascade constraints;
9.1.6第6节 日志文件管理
(1)预计有很高的事务量,数据库日志应该按照如下配置。
1.1至少需要配置5组日志。
1.2每一组日志文件都需要冗余。
1.3日志文件的大小为100MB。
1.4日志文件的位置,应该考虑减少I/O压力,和降低单块磁盘损坏时的故障风险。
(2)复用控制文件,减少因磁盘损坏导致的控制文件需要恢复的风险。
alter database add logfile group 4 ('/u01/app/oracle/oradata/PROD/disk1/redo04.log') size 100m reuse;
alter database add logfile group 5 ('/u01/app/oracle/oradata/PROD/disk1/redo05.log') size 100m reuse;
alter database add logfile member '/u01/app/oracle/oradata/PROD/disk2/redo011.log' to group 1;
alter database add logfile member '/u01/app/oracle/oradata/PROD/disk2/redo021.log' to group 2;
alter database add logfile member '/u01/app/oracle/oradata/PROD/disk2/redo031.log' to group 3;
alter database add logfile member '/u01/app/oracle/oradata/PROD/disk2/redo041.log' to group 4;
alter database add logfile member '/u01/app/oracle/oradata/PROD/disk2/redo051.log' to group 5;
复用控制文件
停止数据库
shutdown immediate;
将controlfile拷贝两份;
修改spfile中的控制文件参数,指向两个控制文件。
9.1.7第7节 创建模式(Schema)
使用sys用户,执行脚本文件/home/oracle/scripts/create_bishhr.sql,忽略任何因为连接OE所致的创建错误,但不能忽略其它创建错误。
创建hr方案。
conn /as sysdba
@/home/oracle/scripts/create_bishhr.sql
创建hr用户。
create user hr
identified by hr
default tablespace example
quota unlimited on example;
grant connect,resource,dba to hr;
alter user hr quota unlimited on example;
创建sh用户。
create user sh
identified by sh
default tablespace example
temporary tablespace temp1
quota unlimited on example;
grant connect,resource,dba to sh;
alter user sh quota unlimited on example;
9.1.8第8节 模式的统计信息和参数文件配置
收集数据库中不同模式的统计信息,使基于代价的优化器选择正确的执行路径。观察参数文件中的每一个参数,使其设置合理。增加附加的参数,使数据库处于最优化的状态,并设置以下参数:utl_file_dir=('/home/oralce','/home/oracle/temp','/home/oracle/scripts')
--1开启自动收集统计信息。
begin
dbms_scheduler.enable('GATHER_STATS_JOB');
end;
/
select count(*) from dba_scheduler_jobs where job_name = 'GATHER_STATS_JOB';
手工执行收集全库的统计信息。
exec dbms_stats.gather_database_stats;
修改utl_file包可以操作的目录参数。
alter system set utl_file_dir='/home/oralce','/home/oracle/temp','/home/oracle/scripts' scope = spfile;
修改prod为归档模式。
alter system set log_archive_dest_1='/u01/app/oracle/arch_prod' scope=spfile;
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
alter system switch logfile;
9.1.9第9节 数据库的备份和高可用
(1)备份数据库,使数据库在任何状况下都可以完全恢复。
打开数据库。
备份数据库。
run {
backup full tag 'PROD' database
include current controlfile format '/oracle/bak/orclfull_%d_%T_%s'
plus archivelog format '/oracle/bak/arch_%d_%T_%s' delete all input;
}
9.2.1第1节
(1)在你的数据库服务器中再创建一个数据库。
1.1数据库名和实例名都为EMREP。
1.2在EMREP数据库中,标签安全(Label Security)是唯一需要安装的选件。
(2)在你的管理服务器中安装Grid Control,安装介质在/oramed下。
(3)在你的数据库服务器中部署Oracle管理代理(Management Agent)服务。
(4)创建一个Grid Control控制台,超级管理员为EMADMIN,密码为EMADMIN。
用dbca创建一个EMREP数据库,选择label security功能。
use dbca create EMREP password EMREP
label security
修改EMREP数据库参数。
--EMREP parameter
alter system set sga_target=300m scope=spfile;
alter system set job_queue_processes=10 scope=spfile;
alter system set processes=300 scope=spfile;
alter system set open_cursors=1000 scope=spfile;
alter system set session_cached_cursors=200 scope=spfile;
alter system set aq_tm_processes=1 scope=spfile;
startup force;
创建DBMS_SHARED_POOL包。
@?/rdbms/admin/dbmspool.sql
select object_name, object_type, status, owner
from all_objects
where object_name='DBMS_SHARED_POOL';
安装grid control
groupadd dba //建用户建组
groupadd oinstall
useradd -g oinstall -G dba oracle
passwd oracle
mkdir -p /u01/app/oracle/product/10.2.0 //建安装用的文件夹
chmod -R 755 /u01
chown -R oracle.dba /u01
vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 1010 129280 1010 128
fs.file-max = 327679
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
vi /etc/security/limits.conf
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 327600
oracle hard nofile 327600
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
--secure oms
./opmnctl stopall
./emctl secure oms
----secure agent
./emctl stop agent
./emctl secure agent
./emctl start agent
./emctl upload agent
./emctl secure status agent
./emctl status agent
--opmnctl oms
./opmnctl stopall
./opmnctl startall
--emctl oms
./emctl start oms
./emctl stop oms
./emctl status oms
--opmnctl web cache
./opmnctl startproc ias-component=WebCache
./opmnctl stopproc ias-component=WebCache
./opmnctl status
--emctl ias
./emctl start iasconsole
./emctl stop iasconsole
./emctl status iasconsole
--emctl dbconsole
./emctl start dbconsole
./emctl stop dbconsole
--start grid control //开启grid control
./lsnrctl start
sqlplus "/as sysdba"
startup
./emctl start oms
./opmnctl startproc ias-component=WebCache
./emctl start agent
./emctl start iasconsole
--shutdown grid control
./emctl stop oms
./emctl stop iasconsole
./opmnctl stopall
./emctl stop agent
sqlplus "/as sysdba"
shutdown immediate
./lsnrctl stop
--gridcontrol configure
alter user dbsnmp identified by dbsnmp account unlock;
--create user EMADMIN passwd EMADMIN
SETUP--Administrator //使用gridcontrol创建用户
--agentDownload
1.# ln -s /usr/bin/wget /usr/local/bin/wget --root
2.$ export PATH=$ORACLE_HOME/jdk/bin:$PATH --oracle
3.http://even:4889/agent_download/10.2.0.1.0/linux
4.$ chmod 755 agentDownload.linux
$ ./agentDownload.linux –b /u01/app/oracle/product
--gridcontrol
1. sga_target=280m
2. aq_tm_processes>0
3. session_cached_cursors>200
4. dispatchers is nothing
5. /rdbms/admin/dbmspool.sql
6. mkdir
--
cd /oracle/OracleHomes/agent10g/sysman/emd/upload
rm -rf *
agentca -f
9.2.2第2节 使用Grid Control
(1)使用Grid Control,修改数据库PROD的参数pga_aggregate_target至500MB,然后重启数据库。
(2)使用Grid Control配置实例,使其可以在出现实例故障的情况下,5分钟之内启动成功。
(3)在数据库PROD中,配置一个警告阀值,当system表空间利用率90%时警告,95时严重警告。
(4)设置事件通知,将事件信息发至邮箱dba@ocm.com。
(5)使用Grid Control,在PROD数据库中创建一个新的表空间名为REGISTRATION。
5.1包含一个数据文件,数据文件的大小为90MB。
5.2如果空间不够用,这个数据文件可以增长至120MB。
5.3设置这个表空间利用最优的块空间管理。
--grid console,prod 将sga修改为500m。
--1.use gc to pga 500m,startup
--2.fast_start_mttr_target to 5 min 300 sec //设置grid control参数。
--3.system 90% 95critical //设置表空间报警门限
database--prod--administration--tablespaces--system--edit--thresholds
specify thresholds 95%critical ...
--4.dba@ocm.com //设置警告日志发向哪个邮件
setup--notification methods--
outgoing Mail(SMTP) Server: mail.ocm.com
identify sender as :oracle
sender's e-mail address :dba@ocm.com
--5.PROD,create tbs REGISTRATION //创建表空间
database--prod--administration--tablespace--create
name:REGISTRATION --datafile--add--
9.2.3第3节 实现调度器(Schedules)和定时任务(Jobs)
(1)、使用Grid Control,在数据库PROD中,创建一个Schedules。
1.1这个调度器的名字叫DAILYREBUILD。
1.2这个调度器每天下午2点执行。
(2)在数据库PROD中,创建一个程序(Program),名为EMP_IND_REBUILD,这个程序将重建表HR.EMPLOYEES上面所有的索引。
(3)利用调度器DAILYREBUILD和SYSTEM_PLAN资源管理计划,创建一个时间窗口(Window)。
(4)使用调度器DAILYREBUILD和程序EMP_IND_REBUILD创建一个名为REBUILD_JOB的定时任务(Job)。
建创一个调度器。
--1.gc,prod create schedule
begin
sys.dbms_scheduler.create_schedule(
repeat_interval => 'FREQ=DAILY;BYHOUR=14;BYMINUTE=0;BYSECOND=0',
start_date => systimestamp at time zone 'America/New_York',
schedule_name => '"SYS"."DAILYREBUILD"');
end;
创建一个程序,让这个程序重建一个表中的索引。
--2.create program in prod EMP_IND_REBUILD rebuilds all indexes on the hr.EMPLOYEES
select index_name from user_indexes where table_name='EMPLOYEES';
begin
dbms_scheduler.create_program(
program_name=>'"HR"."EMP_IND_REBUILD"',
program_action=>'alter index emp_email_uk rebuild online;
alter index emp_emp_id_pk rebuild online;
alter index emp_department_ix rebuild online;
alter index emp_job_ix rebuild online;
alter index emp_manager_ix rebuild online;
alter index emp_name_ix rebuild online;
',
program_type=>'PLSQL_BLOCK',
number_of_arguments=>0,
comments=>'',
enabled=>true);
end;
--3.create window use dailyrebuild and system_plan
创建一个时间窗口。
begin
dbms_scheduler.create_window(
window_name=>'"DAILYREBUILD WINDOW"',
resource_plan=>'SYSTEM_PLAN',
start_date=>systimestamp at time zone 'America/New_York',
duration=>numtodsinterval(60, 'MINUTE'),
repeat_interval=>null,
end_date=>null,
window_priority=>'LOW',
comments=>'');
end;
--4.create a job REBUILD_JOB use DAILYREBUILD schedule EMP_IND_REBUILD
创建一个job。
begin
sys.dbms_scheduler.create_job(
job_name => '"HR"."REBUILD_JOB"',
program_name => '"HR"."EMP_IND_REBUILD"',
schedule_name => '"SYS"."DAILYREBUILD"',
job_class => '"DEFAULT_JOB_CLASS"',
auto_drop => FALSE,
enabled => TRUE);
end;
9.3.1第1节 创建一个RMAN恢复目录(Catalog)
(1)在数据库EMREP中创建一个表空间名为RC_DATA。
1.1此表空间为本地管理表空间。
1.2此表空间包含一个数据文件大小为100MB。
(2)在数据库EMERP中,创建一个用户名为RC_ADMIN密码也是RC_ADMIN。
2.1这个用户的默认表空间是RC_DATA。
2.2授予此用户管理恢复目录的权限。
(3)创建一个恢复目录
3.1在数据库EMREP中,创建一个恢复目录,所有者是RC_ADMIN。
3.2将数据库PROD注册到这个恢复目录中。
--1.create tbs RC_DATA in EMREP。创建一个表空间在EMREP库中。
create tablespace rc_data datafile '/u01/app/oracle/oradata/EMREP/rc_data_01.dbf' size 100m;
创建一个用户。
--2.create user RC_ADMIN passwd RC_ADMIN EMREP
default tbs rc_data,grant recv cata owner
create user RC_ADMIN
identified by RC_ADMIN
default tablespace rc_data
quota unlimited on rc_data;
grant connect,resource,recovery_catalog_owner to rc_admin;
--3.create recovery catalog创建一个recovery catalog
rman
connect catalog rc_admin/rc_admin@EMREP
create catalog tablespace rc_data;
rman target sys/oracle@PROD catalog RC_ADMIN/RC_ADMIN@EMREP
register database; //将数据库注册到catalog中去。
--resync catalog;
9.3.2第2节 使用RMAN
(1)在数据库PROD中配置RMAN选项
1.1开启最优备份模式。
1.2设置默认通道写目录为/home/oracle/backup,你必须建好此目录。
1.3开启控制文件自动备份,将备份路径设置为/home/oracle/backup/control目录。
1.4配置保留策略为7天。
(2)执行一个备份
2.1使用压缩功能,使用默认通道执行一个数据库备份。
2.2包含所有的数据文件。
2.3包含当前的控制文件和spfile。
2.4包含所有的归档日志文件,并将已备份的归档日志删除。
--1.CONFIGURE RMAN OPTIONS prod 配置RMAN参数。
--mkdir backup
configure backup optimization on;
configure channel device type disk format '/home/oracle/backup/DB_%U';
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/home/oracle/backup/control/cf_%F';
configure retention policy to recovery window of 7 days;
configure default device type to disk;
configure device type disk backup type to compressed backupset;
--mkdir 创建备份目录。
/home/oracle/backup
/home/oracle/backup/control
备份数据库。
rman target sys/oracle@PROD catalog RC_ADMIN/RC_ADMIN@EMREP
--backup all
run {
backup database include current controlfile;
backup archivelog all delete all input;
}
恢复表空间system
--recover tablespace.
rman target sys/oracle@PROD catalog RC_ADMIN/RC_ADMIN@EMREP
startup mount;
restore tablespace system;
recover tablespace system;
alter database open;
9.3.3第3节 回闪数据库
(1)打开数据库的回闪功能。
1.1设置回闪恢复区的大小为4GB。
1.2将回闪目录设置为/home/oracle/flash,你必须创建这个目录。
下一篇:第十章:数据库的升级和补丁
上一篇:第八章:Oracle数据库的迁移
图文推荐
序言
2020-04-19 查看:2271
第十五章:Oracle 12c介绍
2020-04-19 查看:2208
第十四章:常用Oracle工具
2020-04-19 查看:1934
第十三章:Oracle Golde...
2020-04-19 查看:2199
第十二章:DataGuard
2020-04-19 查看:1796