您的位置:首页 > 数据库 > Oracle

oracle dataguard 物理备库创建(留着)

2012-11-09 08:58 323 查看
1.检查主库是否为force logging 模式

SQL> alter database forcelogging;

2.检查主库是否为归档模式

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

3.主库创建standby logfile

SQL>ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/app/oracle/oradata/TGWMS/stdredo01.log') size 50M;

SQL>ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/app/oracle/oradata/TGWMS/stdredo02.log') size 50M;

SQL>ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/app/oracle/oradata/TGWMS/stdredo03.log') size 50M;

4.修改主库参数文件

$oracle_home/dbs/initTGWMS.ora

*.db_unique_name='TGWMS_P_8'

*.log_archive_config='DG_CONFIG=(TGWMS_P_8,TGWMS_S_7)'

*.log_archive_dest_1='location=/u01/app/oracle/oradata/TGWMS/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TGWMS_P_8'

*.log_archive_dest_2='SERVICE=TGWMS_S_7 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TGWMS_S_7'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='ENABLE'

*.FAL_SERVER=TGWMS_S_7

*.FAL_CLIENT=TGWMS_P_8

*.STANDBY_FILE_MANAGEMENT=AUTO

5.将主库参数文件写入spfile

SQL>create spfile from pfile='/opt/oracle/product/10.2/db_1/dbs/initTGWMS.ora';

6.创建主库standby控制文件

SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/TGWMS/standby.ctl';

7.创建主库密码文件

$ orapwd file=$ORACLE_HOME/dbs/orapwdTGWMS password=oracle entries=10

8.主库配置listener.ora和tnsname.ora

在$ORACLE_HOME/network/admin/ 目录下

listener.ora:监听主库

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /opt/oracle/product/10.2/db_1)

)

(SID_DESC =

(GLOBAL_DBNAME = TGWMS)

(ORACLE_HOME = /opt/oracle/product/10.2/db_1)

(SID_NAME = TGWMS)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.214.8)(PORT = 1521))

)

)

tnsname.ora建立主库备库tnsname,TGWMS_P_8 为主库,TGWMS_S_7 为备库.TGWMS_P_8 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.214.8)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TGWMS) ) )

TGWMS_S_7 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.214.7)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TGWMS) ) )

EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )9.将主库进入备份模式select 'alter tablespace ' ||name||' BEGIN
backup;' from v$tablespace;把这个语句结果在sqlplus一笔笔执行ALTER TABLESPACE EXAMPLE BEGIN BACKUP;例如:
ALTER TABLESPACE SYSAUX BEGIN BACKUP;

ALTER TABLESPACE SYSTEM BEGIN BACKUP;

ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;

ALTER TABLESPACE USERS BEGIN BACKUP;

10.将主库相关文件copy到备库相同目录(备库没有该目录则创建)

1)备库创建主库相关目录

2)copy数据文件,standby.ctl控制文件(到备库后修改增加为control01.ctl,control02.ctl,control03.ctl),密码文件,参数文件

11.修改备库参数文件,类似与主库参数修改

*.db_unique_name='TGWMS_S_7'

*.log_archive_config='DG_CONFIG=(TGWMS_P_8,TGWMS_S_7)'

*.log_archive_dest_1='location=/u01/app/oracle/oradata/TGWMS/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TGWMS_S_7'

*.log_archive_dest_2='SERVICE=TGWMS_P_8 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TGWMS_P_8'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='ENABLE'

*.FAL_SERVER=TGWMS_P_8

*.FAL_CLIENT=TGWMS_S_7

*.STANDBY_FILE_MANAGEMENT=AUTO

12.设置备库oracle_sid,并创建备库spfile

set oracle_sid=TGWMS

SQL>create spfile from pfile='/opt/oracle/product/10.2/db_1/dbs/initTGWMS.ora';

13.修改备库listener.ora和tnsname.ora

参考主库修改方式

14.启动物理Standby数据库到MOUNT状态

startup mount;

15.添加备库standby redologs,让online redolog能够实时传输

ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 '/u01/app/oracle/oradata/TGWMS/STDREDO01.LOG' SIZE 50m;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 '/u01/app/oracle/oradata/TGWMS/STDREDO02.LOG' SIZE 50m;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 '/u01/app/oracle/oradata/TGWMS/STDREDO03.LOG' SIZE 50m;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 '/u01/app/oracle/oradata/TGWMS/STDREDO04.LOG' SIZE 50m;

ALTER DATABASE ADD STANDBY LOGFILE GROUP 8 '/u01/app/oracle/oradata/TGWMS/STDREDO05.LOG' SIZE 50m;

16.备库设置成自动应用归档

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

17.备库开启实时应用归档日志

recover managed standby database using current logfile disconnect from session;

18.主库切换日志,分别查看主库备库v$archived_log

切换日志

alter system switch logfile;

查看未归档的信息

select name,creator,sequence#,applied,completion_time from v$archived_log where applied='NO';

查看备库恢复情况

select process,block#,blocks ,status ,sequence# from v$managed_standby;

查看主库,备库情况

select max(sequence#) from v$archived_log ;

19.备库开启readonly查看数据

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

alter database open;

查看完后记得转会应用日志模式

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

备库重启后,发现主库资料无法传到备库,alert报连接不到备库 怪怪,网上搜索修改后,重启备库监听,主库tnsping后正常

1、主节点:

SQL>alter system set log_archive_dest_state_2='DEFER';

2、从节点

SQL>alter database recover managed standby database cancel;

3、停启standby database

4、主节点启动日志传送

SQL>alter system set log_archive_dest_state_2='ENABLE';

5、start apply process

SQL>alter database recover managed standby database disconnect;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: