搭建windows到linux的oracle 12c physical standby備庫
primary上修改參數
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcldg)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=orcldg NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;
ALTER SYSTEM SET FAL_SERVER=orcl;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
alter system set db_file_name_convert='/u01/app/oracle/oradata/orcl','E:\APP\ADMINISTRATOR\ORADATA\ORCL' scope=spfile;
alter system set log_file_name_convert='/u01/app/oracle/oradata/orcl','E:\APP\ADMINISTRATOR\ORADATA\ORCL\' scope=spfile;
主庫上創建standby logfile group
SQL> alter database add standby logfile group 4 ('E:\APP\ADMINISTRATOR\ORADATA\O
RCL\REDO04.LOG') SIZE 50M;
數據庫已更改。
SQL> alter database add standby logfile group 5 ('E:\APP\ADMINISTRATOR\ORADATA\O
RCL\STBY_REDO05.LOG') SIZE 50M;
數據庫已更改。
SQL> alter database add standby logfile group 6 ('E:\APP\ADMINISTRATOR\ORADATA\O
RCL\STBY_REDO06.LOG') SIZE 50M;
數據庫已更改。
SQL> ALTER DATABASE DROP LOGFILE GROUP 4;
數據庫已更改。
SQL> alter database add standby logfile group 4 ('E:\APP\ADMINISTRATOR\ORADATA\O
RCL\STBY_REDO04.LOG') SIZE 50M;
在primary上創建控制文件,并拷貝至linux
服務器的參數文件所對應的目錄
備庫pfile參數文件, 注意linux下的幾個目錄預先創建好:
orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=872415232
orcl.__java_pool_size=234881024
orcl.__large_pool_size=1375731712
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=3758096384
orcl.__sga_target=6979321856
orcl.__shared_io_pool_size=234881024
orcl.__shared_pool_size=4160749568
orcl.__streams_pool_size=67108864
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='12.1.0.2'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oracle/oradata/orcl'
*.db_domain=''
*.db_file_name_convert='/u01/app/oracle/oradata/orcl','E:\APP\ADMINISTRATOR\ORADATA\ORCL'
*.db_name='ORCL'
*.diagnostic_dest='
/u01/app/oracle/'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
*.fal_server='ORCL'
*.log_archive_config='DG_CONFIG=(orcl,orcldg)'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=30
*.log_file_name_convert='/u01/app/oracle/oradata/orcl','E:\APP\ADMINISTRATOR\ORADATA\ORCL\'
*.memory_target=10G
*.open_cursors=300
*.processes=1500
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='orcldg'
*.fal_server='orcl'
*.log_archive_dest_1='LOCATION=/u01/app/oracle/archivelog/ valid_for=(all_logfiles,all_roles)'
*.log_archive_dest_2='SERVICE=orcl ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'
恢復腳本:
run
{
set newname for datafile 1 to '/u01/app/oracle/oradata/orcl/SYSTEM01.DBF';
set newname for datafile 3 to '/u01/app/oracle/oradata/orcl/SYSAUX01.DBF';
set newname for datafile 5 to '/u01/app/oracle/oradata/orcl/UNDOTBS01.DBF';
set newname for datafile 6 to '/u01/app/oracle/oradata/orcl/USERS01.DBF';
restore database;
switch datafile all;
recover database;
}