没有合适的资源?快使用搜索试试~ 我知道了~
oracle11g dataguard 配置
2 下载量 183 浏览量
2022-11-09
16:42:45
上传
评论
收藏 50KB DOCX 举报
温馨提示
试读
13页
oracle11g dataguard 配置
资源推荐
资源详情
资源评论
oracle11g dataguard 配置
一、配置前提
1.主库是归档模式:
一个主库,最多配置 9 个从库。同时分为逻辑 standby 和物理 standby 这
里我们讨论的是物理 standby.一旦创建并配置成 standby 后,dg 负责传输
primary 数据库 redo data 到 standby 数据库,standby 数据库通过应用接收
到的 redo data 保持与 primary 数据库的事务一致。这下清楚了吧,需要保证
主从库一致,需要传输 archive log 和 redo log 到从库,如果不是归档模式无法
保证主从库的数据一致。
2.从库只需要安装数据库软件,数据从主库传输后完成。
3.很多人说 11g 有了 active dataguard(ADG),逻辑 standby 实际上已经没什么
用处了。
4.主从库硬件最好一致。oracle 数据库版本需要一致。
(1)内存检查项: # grep MemTotal /proc/meminfo
交换分区检查项:如果内存在 1-2G,swap 是 1.5 倍;2-16G,1 倍;超过
16G,设置为 16G 即可。 # grep SwapTotal /proc/meminfo
查看共享内存大小 # df -h /dev/shm
(2)查看系统处理器架构,与 oracle 安装包一致 # uname -m
(3)空间 /tmp 必须大于 1G # df -h /tmp
5.配置环境数据库用户必须有 sysdba 权限
6.后面的环境:
主库 10.16.41.133 数据库实例名:
dzjg db_unique_name:dzjg
从库 10.16.41.129 数据库实例名:
dzjg db_unique_name:dzjgdg
二、配置过程
1.判断 DG 是否已经安装:
select * from v$option where parameter = 'Oracle Data Guard';
如果是 true 表示已经安装可以配置,否则需要安装相应组件。
2.设置主、从库为强制记录日志。(主、从库)
(1)开启强制归档
1)SQL> conn / as sysdba (以 DBA 身份连接数据库)
2)SQL> shutdown immediate; (立即关闭数据库)
3)SQL> startup mount (启动实例并加载数据库,但不打开)
4)SQL> alter database archivelog; (更改数据库为归档模式)
5)alter database force logging; (设置强制归档)
(2) sql>select name,force_logging from v$database; 检查状态(YES 为强
制)
(3)如果需要在主库添加或者删除数据文件时,这些文件也会在备份添加或
删除,使用如下:
sql> alter system set STANDBY_FILE_MANAGEMENT=auto;(设置自动同步)
sql>show parameter standby (默认此参数是 manual 手工方式)
3.创建 standby log files(备用日志文件)(主、从库都建立)(最好最后创建)
注:从库使用 standby log files 来保存从主库接收到的重做日志。既然主要是从库在
使用,那为什么需要在主库上也建立。 standby log files?原因主要有两个:一是主库可
能转换为备库,而备库是需要有 standby log files 的;二是如果主库建立了 standby log
files 那备库会自动建立。
建立 standby 要注意以下几点:
<1>standby log files 的大小和 redo log files 一样。
select group#,bytes/1024/1024 as M from v$log (查询 redo log files 文件大小
(默认 50M,3 个))
<2>一般而言, standby redo 日志文件组数要比 primary 数据库的 online redo 日志文
件组数至少多一个。推荐 standby redo 日志组数量基于 primary 数据库的线程数(这里的
线程数可以理解为 rac 结构中的 rac 节点数)。有一个推荐的公式可以做参考:(每线程的
日志组数+1)*最大线程数
假设现在节点是 1 个,则=(3+1)*1=4
如果是双节点 则=(3+1)*2=8
这里我们创建 4 个 standby logfile:
另:不建议组号 group#紧挨着 redo,因为后续 redo 有可能调整,这里我们从建立从 11
到 14 的 standby logfile
# cd $ORACLE_BASE/oradata/dzjg/
# mkdir dg
# chown oracle:dba dg
sql> alter database add standby logfile group 11
'D:\app\Administrator\oradata\dzjg\dg\standby11.log' size 50M;
sql> alter database add standby logfile group 12
D:\app\Administrator\oradata\dzjg\dg\standby12.log' size 50M;
sql> alter database add standby logfile group 13 '
D:\app\Administrator\oradata\dzjg\dg\standby13.log' size 50M;
sql> alter database add standby logfile group 14 '
D:\app\Administrator\oradata\dzjg\dg\standby14.log' size 50M;
注: 如果重新做 standby logfile,需要删除之前建立的 standby logfile
sql> ALTER DATABASE DROP STANDBY LOGFILE GROUP 11;
4.密码文件和控制文件的创建传输
(1)一般数据库默认就有密码文件,存放在$ORACLE_HOME/dbs/orapwSID
(linux), 这里为 orapwdzjg,(windows server 2008 R2 系统在
D:\app\Administrator\product\11.2.0\dbhome_1\database) 如果没有
sql>orapwd file=$ORACLE_HOME/dbs/orapwdzjg password=oracle
(2)检查 REMOTE_LOGIN_PASSWORDFILE 值是否为 EXCLUSIVE
sql>show parameter REMOTE_LOGIN_PASSWORDFILE
如果值不是 EXCLUSIVE,则:
alter system set remote_login_passwordfile=exclusive scope=spfile;
(3)密码文件需要 scp 到从库
linux 环境
# scp orapwdzjg oracle@10.16.41.129:
/opt/app/oracle/product/11.2.0/dbhome_1/dbs
windows 环境
拷贝 D:\app\Administrator\product\11.2.0\dbhome_1\database\
PWDdzjg.ora 到 10.16.41.129 对应目录
(4)控制文件
11g 的控制文件一共两份,内容一样,一份在
$ORACLE_BASE/oradata/dzjg/control01.ctl
一份在 /opt/oracle/fast_recovery_area/dzjg/control02.ctl
生成 standby 控制文件:
sql>shutdown immediate
sql>startup mount
sql>alter database create standby controlfile as ' D:\app
\standby_control01.ctl';
sql>startup open;
在主、备数据库正常关闭状态下,将主数据库全部数据文件及密码文件用
冷备方式复制到备数据库对应目录,注:不复制主数据库控制文件、联机重做日
志 文 件 、 归 档 日 志 文 件 。 数 据 文 件 复 制 完 成 后 , 将 创 建 的 控 制 文 件
control_standby.ctl 复制到备库,将 pfile 中的配置复制 1 份,然后在备库建
立对应的目录,并授权
mkdir dzjg (chown oracle:oinstall(或 dba) orcl)
scp standby_control01.ctl
oracle@10.16.41.172:/opt/app/oracle/oradata/dzjg/control01.ctl
scp standby_control01.ctl
oracle@10.16.41.172:/opt/app/oracle/fast_recovery_area/dzjg/control02.
ctl
5.db_name 和 db_unique_name
默认 db_name 和 db_unique_name 和实例名是一致的,这里是 dzjg 需要注意
在 DG 中主库和从库的 db_unique_name 是不能一致的,需要区分开的。这里我们
设置主库的 db_unique_name 为 dzjg,从库为 dzjgdg.
剩余12页未读,继续阅读
资源评论
miaobinfei
- 粉丝: 130
- 资源: 55
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功