SQL> create spfile from pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initprod3.ora';
File created.
设置归档模式:
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
对主库做备份:
rman target /
rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu Jul 26 23:25:04 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: PROD (DBID=201531499)
设置备份路径与文件格式,后面备库恢复时需要同样的路径:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u01/app/oracle/backup/prod_%T_%s_%p.bak';
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u01/app/oracle/backup/prod_%T_%s_%p.bak';
new RMAN configuration parameters are successfully stored
查看配置情况:
show all;
RMAN> show all;
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u01/app/oracle/backup/prod_%T_%s_%p.bak';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/10.2.0/db_1/dbs/snapcf_prod.f'; # default
备份数据库:
backup database;
RMAN> backup database;
Starting backup at 26-JUL-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=308 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u01/app/oracle/oradata/prod/system01.dbf
input datafile fno=00003 name=/u01/app/oracle/oradata/prod/sysaux01.dbf
input datafile fno=00002 name=/u01/app/oracle/oradata/prod/undotbs01.dbf
input datafile fno=00004 name=/u01/app/oracle/oradata/prod/users01.dbf
channel ORA_DISK_1: starting piece 1 at 26-JUL-12
channel ORA_DISK_1: finished piece 1 at 26-JUL-12
piece handle=/u01/app/oracle/backup/prod_20120726_3_1.bak tag=TAG20120726T235210 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 26-JUL-12
channel ORA_DISK_1: finished piece 1 at 26-JUL-12
piece handle=/u01/app/oracle/backup/prod_20120726_4_1.bak tag=TAG20120726T235210 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 26-JUL-12
为从库创建控制文件:
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/backup/control4stdby.dbf';
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/backup/control4stdby.dbf';
Database altered.
修改主库参数文件为从库参数文件:
查看监听服务:
lsnrctl service|grep pri
$ lsnrctl service|grep pri
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=thczpri)(PORT=1521)))
Service "pri" has 2 instance(s).
Service "pri_XPT" has 1 instance(s).
为主库设置命名文件tnsnames.ora:
$ tnsping db_pri
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 27-JUL-2012 10:21:57
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = thczpri)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = pri)))
OK (0 msec)
从库上生成spfile:
CREATE SPFILE FROM PFILE='initstdby.ora';
从库上用rman恢复数据库:
restore database;
RMAN> restore database;
Starting restore at 27-JUL-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=318 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u01/app/oracle/oradata/stdby/system01.dbf
restoring datafile 00002 to /u01/app/oracle/oradata/stdby/undotbs01.dbf
restoring datafile 00003 to /u01/app/oracle/oradata/stdby/sysaux01.dbf
restoring datafile 00004 to /u01/app/oracle/oradata/stdby/users01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/backup/prod_20120726_5_1.bak
channel ORA_DISK_1: restored backup piece 1
piece handle=/u01/app/oracle/backup/prod_20120726_5_1.bak tag=TAG20120726T235912
channel ORA_DISK_1: restore complete, elapsed time: 00:00:16
Finished restore at 27-JUL-12
为从库创建standby log 组,为之后切换做好准备:
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/app/oracle/oradata/stdby/redo04.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/app/oracle/oradata/stdby/redo05.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/app/oracle/oradata/stdby/redo06.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/u01/app/oracle/oradata/stdby/redo07.log') SIZE 50M;
查看监听服务:
lsnrctl service|grep stdby
$ lsnrctl service|grep stdby
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=thczstdby)(PORT=1521)))
Service "stdby" has 2 instance(s).
Instance "stdby", status UNKNOWN, has 1 handler(s) for this service...
Instance "stdby", status READY, has 1 handler(s) for this service...
Service "stdby_XPT" has 1 instance(s).
Instance "stdby", status READY, has 1 handler(s) for this service...
为主库设置命名文件tnsnames.ora:
查看命名解析情况:
tnsping db_stdby
$ tnsping db_stdby
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 27-JUL-2012 10:54:31
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = thczstdby)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = stdby)))
OK (0 msec)
从库启动到redo接收状态:
alter system set LOG_ARCHIVE_DEST_2 = 'SERVICE=db_stdby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stdby';
alter system set LOG_ARCHIVE_DEST_STATE_2 = ENABLE;