设为首页 收藏本站
查看: 688|回复: 0

[经验分享] oracle 10g DataGuard 双机搭建--详细过程

[复制链接]

尚未签到

发表于 2016-7-27 00:14:02 | 显示全部楼层 |阅读模式
设置为写log模式:
ALTER DATABASE FORCE LOGGING;

SQL> ALTER DATABASE FORCE LOGGING;
Database altered.
生成密码文件:
orapwd file=orapwprod password=oracle

创建standby日志文件组:
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/app/oracle/oradata/prod/redo04.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/app/oracle/oradata/prod/redo05.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/app/oracle/oradata/prod/redo06.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/u01/app/oracle/oradata/prod/redo07.log') SIZE 50M;


确认standby日志文件组创建成功:
SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
    GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------
         4          0          0 YES UNASSIGNED
         5          0          0 YES UNASSIGNED
         6          0          0 YES UNASSIGNED
         7          0          0 YES UNASSIGNED
为主库手工创建新的参数文件pfile:

db_name       = prod
control_files = ('/u01/app/oracle/oradata/prod/control1.dbf',
'/u01/app/oracle/oradata/prod/control2.dbf',
'/u01/app/oracle/oradata/prod/control3.dbf')
sga_target    = 400m
undo_management   = AUTO
undo_tablespace   = undotbs
DB_UNIQUE_NAME    = pri
LOG_ARCHIVE_CONFIG = 'DG_CONFIG=(pri,stdby)'
LOG_ARCHIVE_DEST_1 = 'LOCATION=/u01/app/oracle/arch/prod/  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pri'
LOG_ARCHIVE_DEST_STATE_1  = ENABLE
REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE
LOG_ARCHIVE_FORMAT        = %t_%s_%r.arc
processes = 300
FAL_SERVER = stdby
FAL_CLIENT = pri
DB_FILE_NAME_CONVERT = 'stdby','prod'
LOG_FILE_NAME_CONVERT= 'stdby','prod'
STANDBY_FILE_MANAGEMENT=AUTO

启用新参数文件:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
create spfile from pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initprod3.ora';

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.
修改主库参数文件为从库参数文件:

db_name       = prod
control_files = ('/u01/app/oracle/oradata/stdby/control1.dbf',
'/u01/app/oracle/oradata/stdby/control2.dbf',
'/u01/app/oracle/oradata/stdby/control3.dbf')
sga_target    = 400m
undo_management   = AUTO
undo_tablespace   = undotbs
DB_UNIQUE_NAME    = stdby
LOG_ARCHIVE_CONFIG = 'DG_CONFIG=(pri,stdby)'
LOG_ARCHIVE_DEST_1 = 'LOCATION=/u01/app/oracle/arch/stdby/  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=stdby'
LOG_ARCHIVE_DEST_STATE_1  = ENABLE
REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE
LOG_ARCHIVE_FORMAT        = %t_%s_%r.arc
processes = 300
FAL_SERVER = pri
FAL_CLIENT = stdby
DB_FILE_NAME_CONVERT = 'prod','stdby'
LOG_FILE_NAME_CONVERT= 'prod','stdby'
STANDBY_FILE_MANAGEMENT=AUTO


拷贝备份文件、控制文件、参数文件到从库:
scp prod*.bak xxxxstdby:/u01/app/oracle/backup
scp control4stdby.dbf xxxxstdby:/u01/app/oracle/backup
scp initstdby.ora xxxxstdby:/u01/app/oracle/backup

从库上生成密码文件:
orapwd file=orapwstdby password=oracle


为主库设置监听文件listener.ora:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = pri_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = prod)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = thczpri)(PORT = 1521))
)
)


监听重启:

lsnrctl stop
lsnrctl start

查看监听服务:
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:

db_pri =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = thczpri)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pri)
)
)
db_stdby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = thczstdby)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = stdby)
)
)


查看命名解析情况:
tnsping db_pri

$ 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';


从库上拷贝控制文件到参数文件指定目录:

cp control4stdby.dbf /u01/app/oracle/oradata/stdby/control1.dbf
cp control4stdby.dbf /u01/app/oracle/oradata/stdby/control2.dbf
cp control4stdby.dbf /u01/app/oracle/oradata/stdby/control3.dbf


从库上启动到mount状态:
startup mount;

从库上用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;

为从库设置监听文件listener.ora:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = stdby)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = stdby)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = thczstdby)(PORT = 1521))
)
)

监听重启:

lsnrctl stop
lsnrctl start

查看监听服务:
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:

db_pri =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = thczpri)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pri)
)
)
db_stdby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = thczstdby)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = stdby)
)
)

查看命名解析情况:
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 DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
查看mrp进程是否启动:
ps -ef |grep mrp
$ ps -ef |grep mrp
oracle   13262     1  4 11:01 ?        00:00:00 ora_mrp0_stdby
oracle   13285  7982  0 11:01 pts/7    00:00:00 grep mrp
主库启动redo apply:

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;


主库切换日志:

alter system switch logfile;
archive log list;

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/arch/prod/
Oldest online log sequence     10
Next log sequence to archive   12
Current log sequence           12
从库查看日志:
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/arch/stdby/
Oldest online log sequence     10
Next log sequence to archive   0
Current log sequence           12
可以看到日志已经传过来,dataguard搭建好了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-249769-1-1.html 上篇帖子: oracle initialization or shutdown in progress的解决方式 下篇帖子: ORACLE 在存储过程中使用临时表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表