主库参数
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)
)
)
加上去之后等一下,自己就会传归档过去,一切正常