完整的rac帶dataguard實驗

主庫參數
RACDB1.__db_cache_size=67108864
RACDB2.__db_cache_size=50331648
RACDB2.__java_pool_size=4194304
RACDB1.__java_pool_size=4194304
RACDB2.__large_pool_size=4194304
RACDB1.__large_pool_size=4194304
RACDB1.__shared_pool_size=88080384
RACDB2.__shared_pool_size=104857600
RACDB2.__streams_pool_size=0
RACDB1.__streams_pool_size=0
*.audit_file_dest='/opt/ora10g/admin/RACDB/adump'
*.background_dump_dest='/opt/ora10g/admin/RACDB/bdump'
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.0.1.0'
*.control_files='+RAC_DISK/racdb/controlfile/current.260.825266635'
*.core_dump_dest='/opt/ora10g/admin/RACDB/cdump'
*.db_block_size=8192
*.db_create_file_dest='+RAC_DISK'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='RACDB'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=RACDBXDB)'
RACDB2.instance_number=2
RACDB1.instance_number=1
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=167772160
RACDB2.thread=2
RACDB1.thread=1
*.undo_management='AUTO'
RACDB2.undo_tablespace='UNDOTBS2'
RACDB1.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/opt/ora10g/admin/RACDB/udump'



alter system set db_unique_name='RACDB' scope=spfile;
alter database force logging;
alter system set log_archive_config='DG_CONFIG=(RACDB,RACDG)';
alter system set log_archive_dest_1='LOCATION=+RAC_DISK/racdb valid_for=(all_logfiles,all_roles) db_unique_name=RACDB' scope=both;  
alter system set log_archive_dest_2='SERVICE=RACDG lgwr ASYNC valid_for=(online_logfile,primary_role) db_unique_name=RACDG';
alter system set fal_client='RACDB1' sid='RACDB1';
alter system set fal_client='RACDB2' sid='RACDB2';
alter system set fal_server='RACDG';
alter system set standby_file_management=auto;
alter system set log_archive_dest_state_1='enable' scope=spfile;
alter system set log_archive_dest_state_2='enable' scope=spfile;
alter system set remote_login_passwordfile='exclusive' scope=spfile;







把pfile傳到dg




RACDB2.__db_cache_size=62914560
RACDB1.__db_cache_size=62914560
RACDB2.__java_pool_size=4194304
RACDB1.__java_pool_size=4194304
RACDB2.__large_pool_size=4194304
RACDB1.__large_pool_size=4194304
RACDB2.__shared_pool_size=92274688
RACDB1.__shared_pool_size=92274688
RACDB2.__streams_pool_size=0
RACDB1.__streams_pool_size=0
*.audit_file_dest='/opt/ora10g/admin/RACDB/adump'
*.background_dump_dest='/opt/ora10g/admin/RACDB/bdump'
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.0.1.0'
*.control_files='+RAC_DISK/racdb/controlfile/current.260.825266635'
*.core_dump_dest='/opt/ora10g/admin/RACDB/cdump'
*.db_block_size=8192
*.db_create_file_dest='+RAC_DISK'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='RACDB'
*.db_unique_name='RACDB'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=RACDBXDB)'
RACDB1.fal_client='RACDB1'
RACDB2.fal_client='RACDB2'
*.fal_server='RACDG'
RACDB2.instance_number=2
RACDB1.instance_number=1
*.job_queue_processes=10
*.log_archive_config='DG_CONFIG=(RACDB,RACDG)'
*.log_archive_dest_1='LOCATION=+RAC_DISK/racdb valid_for=(all_logfiles,all_roles) db_unique_name=RACDB'
*.log_archive_dest_2='SERVICE=RACDG lgwr ASYNC valid_for=(online_logfile,primary_role) db_unique_name=RACDG'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=167772160
*.standby_file_management='AUTO'
RACDB2.thread=2
RACDB1.thread=1
*.undo_management='AUTO'
RACDB2.undo_tablespace='UNDOTBS2'
RACDB1.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/opt/ora10g/admin/RACDB/udump'



修改成



刪除
RACDB2.__db_cache_size=62914560
RACDB1.__db_cache_size=62914560
RACDB2.__java_pool_size=4194304
RACDB1.__java_pool_size=4194304
RACDB2.__large_pool_size=4194304
RACDB1.__large_pool_size=4194304
RACDB2.__shared_pool_size=92274688
RACDB1.__shared_pool_size=92274688
RACDB2.__streams_pool_size=0
RACDB1.__streams_pool_size=0
*.cluster_database_instances=2
*.cluster_database=true
*.db_create_file_dest='+RAC_DISK'
RACDB1.fal_client='RACDB1'
RACDB2.fal_client='RACDB2'
RACDB2.instance_number=2
RACDB1.instance_number=1
RACDB2.thread=2
RACDB1.thread=1
RACDB2.undo_tablespace='UNDOTBS2'
RACDB1.undo_tablespace='UNDOTBS1'



修改
*.audit_file_dest='/oracle/app/admin/RACDG/adump'
*.background_dump_dest='/oracle/app/admin/RACDG/bdump'
*.control_files='/oracle/app/oradata/RACDG/control01.ctl','/oracle/app/oradata/RACDG/control02.ctl','/oracle/app/oradata/RACDG/control03.ctl'
*.core_dump_dest='/oracle/app/admin/RACDG/cdump'
*.db_unique_name='RACDG'
*.fal_server='RACDB1','RACDB2'
*.log_archive_dest_1='LOCATION=/oracle/app/arch valid_for=(all_logfiles,all_roles) db_unique_name=RACDG'
*.log_archive_dest_2='SERVICE=RACDB lgwr ASYNC valid_for=(online_logfile,primary_role) db_unique_name=RACDB'
*.pga_aggregate_target=16777216
*.sga_target=167772160
*.user_dump_dest='/oracle/app/admin/RACDG/udump'



添加
*.fal_client='RACDG'
*.DB_FILE_NAME_CONVERT='+RAC_DISK/racdb/datafile','/oracle/app/oradata/RACDG'
*.LOG_FILE_NAME_CONVERT='+RAC_DISK/racdb/onlinelog','/oracle/app/oradata/RACDG'
*.undo_tablespace='UNDOTBS1'



*.compatible='10.2.0.1.0'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='RACDB'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=RACDBXDB)'
*.job_queue_processes=10
*.log_archive_config='DG_CONFIG=(RACDB,RACDG)'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='exclusive'
*.standby_file_management='AUTO'
*.undo_management='AUTO'
*.audit_file_dest='/oracle/app/admin/RACDG/adump'
*.background_dump_dest='/oracle/app/admin/RACDG/bdump'
*.control_files='/oracle/app/oradata/RACDG/control01.ctl','/oracle/app/oradata/RACDG/control02.ctl','/oracle/app/oradata/RACDG/control03.ctl'
*.core_dump_dest='/oracle/app/admin/RACDG/cdump'
*.db_unique_name='RACDG'
*.fal_server='RACDB1','RACDB2'
*.log_archive_dest_1='LOCATION=/oracle/app/arch valid_for=(all_logfiles,all_roles) db_unique_name=RACDG'
*.log_archive_dest_2='SERVICE=RACDB lgwr ASYNC valid_for=(online_logfile,primary_role) db_unique_name=RACDB'
*.pga_aggregate_target=16777216
*.sga_target=167772160
*.user_dump_dest='/oracle/app/admin/RACDG/udump'
*.fal_client='RACDG'
*.DB_FILE_NAME_CONVERT='+RAC_DISK/racdb/datafile','/oracle/app/oradata/RACDG'
*.LOG_FILE_NAME_CONVERT='+RAC_DISK/racdb/onlinelog','/oracle/app/oradata/RACDG'
*.undo_tablespace='UNDOTBS1'




把路徑建好
    mkdir /oracle/app/arch
    mkdir -p /oracle/app/admin/RACDG/adump
    mkdir /oracle/app/admin/RACDG/bdump
    mkdir /oracle/app/admin/RACDG/cdump
    mkdir /oracle/app/admin/RACDG/udump
    mkdir /oracle/app/admin/RACDG/pfile
    mkdir -p /oracle/app/oradata/RACDG
    
    
    
    
    
把密碼文件ftp過去,並且改名,後面爲sid

mv orapwRACDB1 orapwRACDG


在主庫tnsnames添加
RACDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 180.200.2.78)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACDG)
    )
  )
 




在主庫建立備份腳本
在這個目錄下/oracle/script

run{
allocate channel c1 type disk;
allocate channel c2 type disk;
set limit channel c1 kbytes 1800000;
set limit channel c2 kbytes 1800000;
backup full
       tag 'dbfull'
       format '/oracle/rman/full%n_%s_%p_%T'
database include current controlfile for standby;
sql 'alter system archive log current';
release channel c1;
release channel c2;
}

nohup rman target / @bk.rcv log bk.log &


ftp到備機的/oracle/backup/rman
目錄不一樣


備庫listener.ora

修改下面,改成RACDG
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = RACDG)
      (ORACLE_HOME = /oracle/app/product/11g)
      (SERVICE_NAME = RACDG)
    )
  )
 
 
備庫tnsname

添加


RACDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACDB)
      (INSTANCE_NAME = RACDB1)
    )
  )

RACDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACDB)
    )
  )

RACDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACDB)
      (INSTANCE_NAME = RACDB2)
    )
  )
 
RACDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 180.200.2.78)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACDG)
    )
  )


添加完這個記得要在/etc/hosts也要添加
180.200.2.55 node1
180.200.2.60 node2

180.200.2.57 node1-vip
180.200.2.58 node2-vip

10.10.17.221 node1-priv
10.10.17.222 node2-priv
 

備份一下原spfile
然後create spfile from pfile='/home/oracle/new.ora';

startup nomount



創建恢復腳本
在這個目錄下
/oracle/backup/script



catalog start with '/oracle/backup/rman';
run
{
    allocate channel chan1 type disk;
    allocate channel chan2 type disk;
    allocate auxiliary channel aux1 type disk;
    allocate auxiliary channel aux2 type disk;
duplicate target database for standby nofilenamecheck;
}

運行之前記得先開監聽

nohup rman target   sys/121212@RACDB1 auxiliary / @recover.rcv log recover.log &



catalog start with '/oracle/backup/rman';

using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of catalog command at 02/09/2002 03:56:01
ORA-01507: database not mounted


報錯,看來有點問題
用軟連接

ln -s /oracle/backup/rman /oracle/rman

終於ok了




shutdown immediate;  
startup nomount;
alter database  mount standby database;
alter database recover managed standby database disconnect from session;




ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 group 7('/oracle/app/oradata/RACDG/slog7.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 group 8('/oracle/app/oradata/RACDG/slog8.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 group 9('/oracle/app/oradata/RACDG/slog9.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 group 10('/oracle/app/oradata/RACDG/slog10.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 group 11('/oracle/app/oradata/RACDG/slog11.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 group 12('/oracle/app/oradata/RACDG/slog12.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 group 13('/oracle/app/oradata/RACDG/slog13.ora') SIZE 50m;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 group 14('/oracle/app/oradata/RACDG/slog14.ora') SIZE 50m;

alter database recover managed standby database disconnect from session;

select sequence#,applied,ARCHIVAL_THREAD# from v$archived_log order by sequence#;

後來不知道爲毛不同步了
PING[ARC0]: Heartbeat failed to connect to standby 'RACDG'. Error is 12154.
主庫node2的alert一直報這個問題



漏了在2機的tnsname添加
RACDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 180.200.2.78)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = RACDG)
    )
  )
 
加上去之後等一下,自己就會傳歸檔過去,一切正常
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章