ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Rman.applying log 环境搭建

Rman.applying log 环境搭建

原创 Linux操作系统 作者:beatony 时间:2012-10-03 10:04:43 0 删除 编辑

一、启库
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主机上:重点库db cache 1G,
约20个数据库,每个库Shared pool 600M ,
db cache size 300, 314572800
large pool 80, 83886080
pga 200, 209715200
java pool 60    20971520
总的内存大小控制在1g以下

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 min(checkpoint_time) from v$datafile_header;        - --查询数据库最旧的时间点

如果时间点不对,则用命令恢复到指定时间点,需要的log从生产上拷备。
rman target /
recover standby database using backup controlfile until time '2012-09-27 23:50';
或
rman target /
recover database until time '2012-09-27 23:50';

查需要哪些log,用类似下面的命令去查。
select sequence#,to_char(first_time,'YYYY-MM-DD HH24:MI:SS') from v$archived_log
where first_time between to_date('2011-11-26 10:00:00','yyyy-mm-dd hh24:mi:ss')
and to_date('2011-11-27 10:00:00','yyyy-mm-dd hh24:mi:ss');

6. 更改Datafile路径。(6至7步,如果datafile,logfile路径正确则不需要)
a) set pagesize 1000;
b) set linesize 500;
c) spool alter_data_file.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) @alter_data_file.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 0 numformat 999
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/hq/pabank/data/oradata/pabank/temp01.dbf' size 4096M reuse autoextend off;
select file_name from dba_temp_files;

18. 配置listener.ora, tnsnames.ora。 并启动listener.

二、运行初始化脚本 ( 更改用户的密码及db_link )

spool grant.sql;
set pagesize 500;

select  'alter user ' || username||' identified by hbyl1234 profile default;'  from dba_users where username not in ('DBMGR','SYS','SYSTEM');

select  'alter user ' || username||' identified by duan5lzh0 profile default;'  from dba_users where username  in ('DBMGR','SYS','SYSTEM');


SELECT 'CONN '||OWNER||'/hbyl1234 '||CHR(10)||'DROP DATABASE LINK '||DB_LINK||';' FROM DBA_DB_LINKS;

spoo off;

@grant.sql

三、打开审计

--- end ----

 

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

请登录后发表评论 登录
全部评论

注册时间:2010-05-18

  • 博文量
    192
  • 访问量
    495774