ITPub博客

首页 > 数据库 > Oracle > linux-oracle11g-dg搭建日志

linux-oracle11g-dg搭建日志

原创 Oracle 作者:peng163fj 时间:2015-04-13 15:38:30 0 删除 编辑

rpm -ivh compat-libstdc++* elfutils* ksh* libaio-devel* unixODBC* unixODBC-devel* --nodeps



cp compat-libstdc++* /u01

cp elfutils* /u01

cp ksh* /u01

cp libaio-devel* /u01

cp unixODBC* /u01

cp package unixODBC-devel* /u01



rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 


#*               soft    core            0


oracle               soft    nproc            2047

oracle               hard    nproc            16384

oracle               soft    nofile            1024

oracle               hard    nofile            65536

oracle               soft    stack            10240




# For Oracle

export DISPLAY=:0.0

export TMP=/tmp;

export TMPDIR=$TMP;

export ORACLE_BASE=/u01/app/oracle;

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;

export ORACLE_SID=sales;

export ORACLE_TERM=xterm;

export PATH=/usr/sbin:$PATH;

export PATH=$ORACLE_HOME/bin:$PATH;

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;




rpm -q binutils-2.20.51.0.2-5.11.el6.i686 compat-libcap1-1.10-1.i686 compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6.i686 gcc-c++-4.4.4-13.el6.i686 glibc-2.12-1.7.el6.i686 glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6.i686 libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6.i686 sysstat-9.0.4-11.el6.i686 






rpm -ivh binutils*.rpm compat-libcap*.rpm compat-libstdc++*.rpm gcc*.rpm gcc-c++*.rpm glibc*.rpm glibc*.rpm ksh libgcc*.rpm libstdc++*.rpm libstdc++*.rpm libaio*.rpm libaio-devel*.rpm make*.rpm sysstat*.rpm --nodeps --force




#  

# atrpms  

# el6Server - i386 - ATrpms  

#  

[atrpms]  

name=el6Server - i386 - ATrpms  

baseurl=http://dl.atrpms.net/el6Server-i386/atrpms/stable/  

type=rpm-md 







export DISPLAY=172.16.254.4:0.0


prod.localdomain





scp orapwprod 192.168.17.247:/u01/app/oracle/product/11.2.0/db_1/dbs 

scp initprod.ora 192.168.17.247:/u01/app/oracle/product/11.2.0/db_1/dbs

scp /u01/app/standby.ctl 192.168.17.247:/u01/app




mkdir -p /u01/app/oracle/admin/standby/adump

mkdir -p /u01/app/oracle/admin/standby/bdump

mkdir -p /u01/app/oracle/admin/standby/cdump

mkdir -p /u01/app/oracle/admin/standby/udump

mkdir -p /u01/app/oracle/admin/standby/dpdump

mkdir -p /u01/app/oracle/oradata/standby/archivelog 


ls -l /u01/app/oracle/admin/standby

ls -l /u01/app/oracle/oradata/standby


create spfile from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initstandby.ora';


startup nomount




alter  system  set log_archive_config='dg_config=(prod,standby)'; 

alter  system  set log_archive_dest_1='location=/u01/app/oracle/oradata/prod/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=prod'; 

alter  system  set  log_archive_dest_2='service=standby  lgwr 

async  valid_for=(online_logfiles,primary_role) 

db_unique_name=standby'; 

alter system set log_archive_dest_state_1=enable; 

alter system set log_archive_dest_state_2=enable; 

alter system set log_archive_max_processes=10; 

alter system set fal_server=standby; 

alter system set fal_client=prod; 

alter system set standby_file_management=auto;

alter system set db_unique_name='prod'scope=spfile; 

alter  system  set db_file_name_convert='/u01/app/oracle/oradata/standby','/u01/app/oracle/oradata/prod' scope=spfile; 

alter  system  set log_file_name_convert='/u01/app/oracle/oradata/standby','/u01/app/oracle/oradata/prod' scope=spfile;


mkdir -p /u01/backupset

chown -R oracle.oinstall /u01/backupset


run 

{ 

allocate channel d1 type disk format '/u01/backupset/%U'; 

backup database; 

release channel d1; 

}


scp -r /u01/backupset 192.168.17.247:/u01


rman target / auxiliary sys/redhat@standby


run

{

allocate auxiliary channel d1 type disk;

duplicate target database for standby nofilenamecheck;

release channel d1;

}


scp -r /u01/backupset 192.168.17.247:/u01



alter  database  add  standby  logfile ('/u01/app/oracle/oradata/standby/standby01.log') size 50m; 

alter  database  add  standby  logfile ('/u01/app/oracle/oradata/standby/standby02.log') size 50m; 

alter  database  add  standby  logfile ('/u01/app/oracle/oradata/standby/standby03.log') size 50m; 

alter  database  add  standby  logfile ('/u01/app/oracle/oradata/standby/standby04.log') size 50m;




alter  database  recover  managed  standby  database  using  current logfile disconnect from session;


select  sequence#,  applied  from  v$archived_log    where 

applied='YES' order by sequence#;



conn scott/tiger 

create table t(i int); 

insert into t values(1); 

commit; 

conn / as sysdba 

alter system switch logfile;





alter system switch logfile;



select switchover_status from v$database


alter database recover managed standby database cancel;



alter database open;


conn scott/tiger 

select * from t;


conn / as sysdba

select open_mode from v$database; 

alter  database  recover  managed  standby  database  using  current logfile disconnect from session; 



alter database commit to switchover to physical standby WITH SESSION SHUTDOWN; 


select switchover_status from v$database;

select open_mode from v$database; 

select status from v$instance;



---standby 在startup mount后

alter  database  recover  managed  standby  database  using  current logfile disconnect from session; 

alter database recover managed standby database cancel;

alter database open;


-- 切换失败,注意杀掉僵尸进程

alter database commit to switchover to physical standby WITH SESSION SHUTDOWN; 

看笔记


--切换回备库

startup nomount

alter databasemount standby database;

 


select  sequence#,  applied  from  v$archived_log    where 

applied='YES' order by sequence#;

select switchover_status from v$database;

alter database commit to switchover to primary;--把备库切为主库

alter database recover managed standby database disconnect from session;--报错media need recover 的处理


---prod上,创建备日志

alter  database  add  standby  logfile 

('/u01/app/oracle/oradata/prod/standby01.log') size 50m; 

alter  database  add  standby  logfile 

('/u01/app/oracle/oradata/prod/standby02.log') size 50m; 

alter  database  add  standby  logfile 

('/u01/app/oracle/oradata/prod/standby03.log') size 50m; 

alter  database  add  standby  logfile 

('/u01/app/oracle/oradata/prod/standby04.log') size 50m;

--执行同步语句

alter  database  recover  managed  standby  database  using  current logfile disconnect from session;

select  sequence#,  applied  from  v$archived_log    where 

applied='YES'order by sequence#;

--standby上执行

conn scott/tiger

insert into t values(2);

commit; 

conn / as sysdba 

alter system switch logfile;

--prod上执行

alter database recover managed standby database cancel; 

alter database open; 

conn scott/tiger 

select * from t;--物理DG切换成功


conn / as sysdba 

select open_mode from v$database;--现在是read only

alter  database  recover  managed  standby  database  using  current logfile disconnect from session; 

select open_mode from v$database;--切换回同步模式mount




--切换回原来的状态

select switchover_status from v$database; 

alter database commit to switchover to physical standby;

shutdown immediate 

startup nomount 

alter database mount standby database;--standby标志他为standby



---prod上

select  sequence#,  applied  from  v$archived_log    where 

applied='YES' order by sequence#;

select switchover_status from v$database; 

alter database commit to switchover to primary; 

select status from v$instance;--主库标识为primary

shutdown immediate 

startup


--standby上

alter  database  recover  managed  standby  database  using  current logfile disconnect from session;


--prod上

conn scott/tiger 

insert into t values(3); 

commit; 

conn / as sysdba 

alter system switch logfile;


--standby上

alter database recover managed standby database cancel; 

alter database open; 

conn scott/tiger 

select * from t;


conn / as sysdba 

alter  database  recover  managed  standby  database  using  current logfile disconnect from session; 

select open_mode from v$database;





-----搭建虚拟备库

--配置逻辑备库

alter database recover managed standby database cancel;


--配置prod

exit 

mkdir -p /u01/app/oracle/oradata/prod/lgarchive 

ls -l /u01/app/oracle/oradata/prod/


sqlplus / as sysdba 

alter  system  set log_archive_dest_3='location=/u01/app/oracle/oradata/prod/lgarchive valid_for=(standby_logfiles,standby_role) db_unique_name=prod'; alter system set log_archive_dest_state_3=enable;

execute dbms_logstdby.build;


--配置standby

exit 

mkdir -p /u01/app/oracle/oradata/standby/lgarchive 

ls -l /u01/app/oracle/oradata/standby/


sqlplus / as sysdba 

alter  system  set log_archive_dest_3='location=/u01/app/oracle/oradata/standby/lgarchive  valid_for=(standby_logfiles,standby_role) db_unique_name=standby'; 

alter system set log_archive_dest_state_3=enable;

--physical standby转换为logical standby

select * from v$tempfile

select status from v$instance;

select database_role from v$database;

startup mount force 

alter database recover to logical standby standby;

select status from v$instance; 

startup mount force 

select database_role from v$database;

alter database open resetlogs;

show parameter db_name

--prod环境

alter system switch logfile;

/

/

/


--standby

ls -l /u01/app/oracle/oradata/standby/archivelog

sqlplus / as sysdba 

alter database start logical standby apply immediate;


--验证 prod库

conn scott/tiger 

create table a(a varchar2(10)); 

insert into a values('a'); 

commit;



--验证 standby库

conn scott/tiger 

select * from a;




----切换逻辑备库,prod与standby都执行

conn / as sysdba 

alter system set undo_retention=3600;


--prod执行

select switchover_status from v$database; 

alter database prepare to switchover to logical standby; 

select switchover_status from v$database;


--standby执行

select switchover_status from v$database; 

alter database prepare to switchover to primary; 

select switchover_status from v$database; 


--prod执行

select switchover_status from v$database;--返回结果to logical standby

取消转换的命令为:alter  database  prepare  to  switchover  cancel;

alter database commit to switchover to logical standby;


--standby执行

select switchover_status from v$database; 

alter database commit to switchover to primary;


--prod执行

alter database start logical standby apply immediate; 


--standby执行

conn scott/tiger 

insert into a values('b'); 

commit; 

conn / as sysdba 


--prod执行

conn scott/tiger 

select * from a; 

conn / as sysdba 




alter database prepare to switchover to logical standby; 

alter database prepare to switchover to primary;

select switchover_status from v$database;

alter database commit to switchover to logical standby; 

alter database commit to switchover to primary;


alter database start logical standby apply immediate;

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

上一篇: dg开启顺序
请登录后发表评论 登录
全部评论

注册时间:2013-11-20

  • 博文量
    155
  • 访问量
    440173