起库操作手册

注意,时间点需要提前复核,其他的可以做完再一起复核。
一、启库(1至4步第一轮搭建需要,之后不需要)
1. 生成profile文件。Copy原库的profile并修改SID。再根据实际情况修改ORACLE_HOME, ORACLE_BASE等参数。要确保对应的ORACLE_HOME下面的ORACLE版本于原库完全一致。可以用sqlplus /nolog去查看。
2. 执行profile文件。
3. 创建并修改 init文件。Cd $ORACLE_HOME/dbs, 从生产库上复制对应库的init文件。
注意修改相关*_dump_dest,control_files, instance_name,instance_name. compatible(只能向下兼容) ,注意暂时不改db_name.
内存参数调整 原则:
Solaris主机上:重点库(bocp、bupp、bloan、embis、bcard、fcr 的db cache 在1G或以上)
每个库Shared pool 600M , 629145600
db cache size 300, 314572800
large pool 80, 83886080
pga 200, 209715200
java pool 60    62914560
总的内存大小控制在1g以下
Aix主机上:先保持生产不变(fcr要调)
HP:先按生产的分

4. 创建相关dump目录。 $ORACLE_BASE/admin/$ORACLE_SID mkdir adump bdump cdump dpdump udump

5. startup mount
(检查时间点)(此步需要复核)
--select to_char(controlfile_time,'YYYY-MM-DD HH24:MI:SS') FROM V$DATABASE;
--select distinct to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') from v$datafile_header;
select min(checkpoint_time) from v$datafile_header;--从恢复库取出最旧的时间点
如果时间点不对,则用命令恢复到指定时间点,需要的log从生产上拷备。
查需要哪些log,用类似下面的命令在生产库上去查。
select max(sequence#)+1,min(sequence#)-1,thread# from v$log_history where
first_time < to_date('2012-09-27 23:50:00','yyyy-mm-dd hh24:mi:ss')  --t2
and first_time>to_date('2012-09-25 22:10:15','yyyy-mm-dd hh24:mi:ss')   --t1
group by thread#
t1为演练库当前的时间点,t2为我们需要恢复到的指定时间点。保险起见,将前后一个sequence也一起复制到演练环境。

在演练上查询,如果是standby则用语句2去恢复。
SQL> select controlfile_type from v$database;
CONTROL
-------
STANDBY

语句1:
rman target /
recover database using backup controlfile  until time '2012-09-01 23:30';

语句2:
rman target /
recover standby database using backup controlfile until time '2012-09-01 23:30';

6. 更改Datafile路径。(6至7步,如果datafile,logfile路径正确则不需要)
a) set pagesize 1000;
b) set linesize 500;
c) spool alterdatafile.sql
d) select 'alter database rename file '||''''||name||''''|| ' to '||''''||&1||'/'||substr(name,instr(name,'/',-1)+1)||''''||';' from v$datafile;
Enter value for 1: '/realpath/ld49hr' 注意带上引号
e) spool off
f) @alterdatafile.sql
7. 更改logfile路径。具体操作同6类似。
select 'alter database rename file '||''''||member||''''|| ' to '||''''||&1||'/'||substr(member,instr(member,'/',-1)+1)||''''||';' from v$logfile;

8. alter database open read only; -这步非常重要,如果不能open read only ,说明数据文件处于不一致状态,需要进行reocver操作
9. alter database backup controlfile to trace as '/paic/z4as8021/stg/bank/oradata/bsbocp1/cre_cont01.sql' resetlogs;
10. shutdown immediate;
11. 修改重建控制文件的sql。 主要将reuse orgidbname 改为set newdbname, ,注意不能修改控制文件中的字符集。
12. 修改init文件里对应的db_name 的值。
13. mv 原来的controlfile文件。
14. 执行重建控制文件的sql语句。此时db状态已经到mount状态了。
15. 查询各数据文件状态是否一致。
set linesize 300 pagesize 999 numformat 999999999999999999999999999
select file#,error,recover,checkpoint_change# from v$datafile_header;
select hxfil file#,fhsta status,fhscn scn ,fhrba_seq seq# from x$kcvfh;
status 除了 第一号文件状态是0 or 8912  ,其余数据文件的该字段都为0,这样才处于一致性状态
16. Alter database open resetlogs;
17. 增加temp文件。
select tablespace_name from dba_tablespaces where  contents like 'TEMPORARY';
SQL>  alter tablespace TEMP add tempfile '/paic/stg/uat2/hp/data/oradata/temp01.dbf' size 4096m reuse autoextend off;
select file_name from dba_temp_files;
18. 配置listener.ora, tnsnames.ora。 并启动listener.
二、运行初始化脚本
三、打开审计
四、停库,拷备数据文件到演练2环境,拷完后启库。
(cif2用导入导出的方式)(linux环境的可以直接在本地做好备份,第二轮时再恢复)
(solaris的 演练1是用yldata卷, 演练2是用data卷)
(hp的,演练1用data卷,演练2用yldata卷)
 
 
 

set pagesize 1000 linesize 500;
spool alterdatafile.sql
select 'alter database rename file '||''''||name||''''|| ' to '||''''||&1||'/'||substr(name,instr(name,'/',-1)+1)||''''||';' from v$datafile;
select 'alter database rename file '||''''||name||''''|| ' to '||''''||&1||'/'||substr(name,instr(name,'/',-1)+1)||''''||';' from v$tempfile;
select 'alter database rename file '||''''||member||''''|| ' to '||''''||&1||'/'||substr(member,instr(member,'/',-1)+1)||''''||';' from v$logfile;
spool off
@alterdatafile.sql
select name from v$datafile;
select name from v$tempfile;
select member from v$logfile;
alter database open;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14385647/viewspace-748472/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14385647/viewspace-748472/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值