oracle 学习之DG的搭建
1.配置过程
- 确认为归档模式
SQL> select log_mode from v$database; LOG_MODE
------------
ARCHIVELOG
- 配置归档日志存放路径(/home/oracle/arch提前创建)
主库:
SQL>alter system set log_archive_dest_1='location=/home/oracle/arch
db_unique_name=ora11g';
备库:
SQL> alter system set log_archive_dest_2='service=s74
db_unique_name=bei';
- 将主库、备库加载入DG中
SQL> alter system set log_archive_config='dg_config=(ora11g,bei)';
System altered.
SQL> alter system set standby_file_management=auto;
System altered.
- 开启强制记录日志功能
- 拷贝全库至备库
查看文件存放位置(日志文件、数据文件、控制文件都在此目录下):
SQL> select * from v$logfile; 拷贝重做日志文件、数据文件至从库:
SQL>scp * 172.16.150.66:/home/oracle/standby 生成备库的控制文件,并拷贝至备库:
SQL> alter database create standby controlfile as '/home/oracle/bei.ctl';
[oracle@localhost ora11g]$scp /home/oracle/1.ctl 172.16.150.74:/home/oracle/standby 拷贝参数文件、口令文件至备库:
SQL> show parameter spfile;
[oracle@oracle dbs]$ scp /u01/oracle/product/11.2.0/dbs /spfileora11g.ora 172.16.150.74:/home/oracle/standby
[oracle@oracle dbs]$ scp /u01/oracle/product/11.2.0/dbs / orapwora11g/172.16.150.74:/home/oracle/standby 将参数文件、口令文件拷贝至$ORACLE_HOME/dbs
- 主库配置tnsnames.ora
[oracle@oracle network]$ cd $ORACLE_HOME/network/admin ORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle.com)
)
) s74=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.150.74)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bei)
)
)
- 修改备库中的参数文件
ora11g.__db_cache_size=281018368
ora11g.__java_pool_size=4194304
ora11g.__large_pool_size=4194304
ora11g.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment
ora11g.__pga_aggregate_target=301989888
ora11g.__sga_target=452984832
ora11g.__shared_io_pool_size=0
ora11g.__shared_pool_size=150994944
ora11g.__streams_pool_size=0
*.audit_file_dest='/home/oracle/standby/adump' #修改路径并创建目录
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/home/oracle/standby/bei.ctl'#修改路径并创建目录
*.db_block_size=8192
*.db_domain='com'
*.db_name='oracle'
*.db_recovery_file_dest='/home/oracle/standby/fast_recovery_area' #修改路径并创建目录
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='/u01/app/oracle' #修改路径并创建目录
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oracleXDB)'
*.local_listener='LISTENER_ORACLE'
*.log_archive_config='dg_config=(oracle,bei)'
*.log_archive_dest_1='location=/home/oracle/standby/arch db_unique_name=bei'
*.memory_target=754652928
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
db_unique_name=bei #添加
db_file_name_convert='/u01/oracle/oradata/oracle','/home/oracle/standby' #添加
log_file_name_convert='/u02/oracle/oradata/oracle/','/home/oracle/standby' #添加
- 启动备库
重新生成spfile:
SQL> create spfile from pfile; 启动库:
SQL> alter database mount standby database;
Database altered.
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
- 启动监听
- 测试联通
自连:sqlplus sys/oracle@172.16.150.74:1521/bei as sysdba
连接对方库:sqlplus sys/123456@172.16.150.40:1521/ora11g as sysdba
- 备库开启实时归档日志功能
alter database recover managed standby database disconnect from session;
- 主库切换到备库
SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PRIMARY TO STANDBY
alter database commit to switchover to standby with session
shutdown
- 备库切换到主库
SQL> select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY TO PRIMARY(SESSIONS ACTIVE)
alter database commit to switchover to primary with session
shutdown
2.遇到的问题
- 数据库完成主库、备库之间的切换,再次启动主库时,出现:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/standby/arch
Oldest online log sequence 58
Next log sequence to archive 58
Current log sequence 58
SQL> select sequence# from v$log;
SEQUENCE#
----------
58
0
0
原因:没有进行日志切换
- 备库变成主库后,切换日志,从库的sequence号并没有发生改变
主库如何相互切换
如何实现redo_log的同步
3.其它问题
- db_name service_name unique_name之间的关系
SQL> show parameter name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string oracle
db_unique_name string oracle
global_names boolean FALSE
instance_name string ora11g
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string oracle.com
db_name:
1.在DG中db_name一样而db_unique_name不一致
2.在RAC中各节点db_name一样而instance_name不一样
db_unique_name:
1.在DataGuard中,主备库拥有相同的DB_NAME,为了区别,就必须有不同的DB_UNIQUE_NAME
instance_name:
1.可以和db_name不一致
service_name
1.客户端连接数据库时采用服务名
- tnsnames.ora
s74= #
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.150.74)#服务器IP
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bei) #数据库服务名
)
)
- db_domain的作用
oracle 学习之DG的搭建的更多相关文章
- ORACLE 11g RAC-RAC DG Duplicate 搭建(生产操作文档)
环境:rhel 6.7 64位源库:ORACLE 11204 RAC 未打PSU备库:ORACLE 11204 RAC PSU 20170718 一.停止中间件并做全库备份 1.在节点2做全备 2.首 ...
- 一步一步搭建 oracle 11gR2 rac + dg 之前传 (一)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之前传 (一) 转自 一步一步搭建 oracle 11gR2 rac + dg ...
- 一步一步搭建oracle 11gR2 rac+dg之环境准备(二)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之环境准备 (二) 一步一步搭建oracle 11gR2 rac+dg之环境准备 ...
- 一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之共享磁盘准备 (三) 注意:这一步是配置rac的过程中非常重要的一步,很多童鞋 ...
- 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之grid安装 (四) 转自 一步一步搭建 oracle 11gR2 rac+d ...
- 一步一步搭建oracle 11gR2 rac+dg之database安装(五)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之database安装 (五) 转自 一步一步搭建oracle 11gR2 ...
- oracle 单实例DG(搭建篇一)
一,介绍 lodding... 二,安装前环境配置 01,依赖包的安装: yum install binutils-* yum install compat-libstdc++-* yum insta ...
- Oracle学习线路
出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
随机推荐
- [转]Ubuntu10下MySQL搭建Amoeba系列(文章索引)
一.前言(Introduction) 使用了Amoeba有一段时间了,发现官方博客:Amoeba使用指南有很多地方都是错误的,在我实战中给到一些错误的指示,所以我想写些在搭建的实战中给大家一点指引.欢 ...
- owa_outlook暴力破解脚本
其实msf里面存在这样的模块,search owa 即可,字典这种东西还是找规律密码去破解比较好 然后担心遇到渗透测试没有msf情况下,还是得自己写个脚本,网上找了一下lijiejie,但是运行不了, ...
- C# 给枚举定义DescriptionAttribute,把枚举转换为键值对
在C#中,枚举用来定状态值很方便,例如我定义一个叫做Season的枚举 public enum Season { Spring = 1, Summer = 2, Autumn = 3, Winter ...
- 目标检测中proposal的意义
在目标检测中,从很早就有候选区域的说法,也是在2008年可能就有人使用这个方法,在2014年的卷积神经网络解决目标检测问题的文章中,这个候选框方法大放异彩,先前的目标检测方法主要集中在使用滑动窗口的方 ...
- get请求与post请求之间的差异
GET:常用于向服务器请求查询某些信息 get请求适用于当URL完全指定请求资源. get请求不会对数据库进行任何操作相当于数据库的查询. 当进行字段查询时可将查询字段增加到url的末尾. get请 ...
- java操作mongodb——连接数据库
import com.mongodb.MongoClient; MongoClient mongoClient = new MongoClient(); 连接MongoDB实例,默认为localhos ...
- CSU 1810 Reverse
湖南省第十二届大学生计算机程序设计竞赛$H$题 规律,递推. 这种问题一看就有规律.可以按位统计对答案的贡献.即第$1$位对答案作出了多少贡献,第$2$位对答案作出了多少贡献.....累加和就是答案. ...
- Mediawiki随笔
http://www.ibm.com/developerworks/cn/opensource/os-mediawiki/ 定制wiki http://www.zzbaike.com/wiki/Me ...
- trove instance service 总结
def create(self, req, body, tenant_id): # TODO(hub-cap): turn this into middleware LOG.info(_LI(&quo ...
- 5.MyBaits调用存储过程
1.创建一个javaweb项目MyBatis_Part4_Procedure 2.在src下创建procedure.sql文件 --创建表 create table p_user( id number ...