现在的位置: 首页 > 综合 > 正文

如何搭建一个 Data Guard 环境

2012年12月04日 ⁄ 综合 ⁄ 共 3509字 ⁄ 字号 评论关闭

 

       Blog里零零散散的讲了一些DB 维护的东西,比较杂,也比较散。 这里就Oracle Data Guard 这块做一个小结。 主要是流程上的东西。 做个参考,以后装DG,照这个流程走就ok了。  

 

 

.  服务器设置

1.1 硬盘的规划

       根据自己的业务量来规划硬盘。 我上周搭建的DG,用了4SAS 硬盘。 单盘300G1.5w/s 这个IOPS 大概在150M/s 是个估算值。 做了RAID1.

不同的RAID IOPS 是有影响的。

 

1.2 将硬盘挂载到服务器上

       这块参考我的Blog

       Linux 下挂载硬盘的 方法

       http://blog.csdn.net/tianlesoftware/archive/2010/06/02/5642883.aspx

 

. 安装DB

       这部分包括2块,安装DB 软件和升级。 如果是10g的话,可以先将DB升级到10.2.0.5 升级的原因是为了避免某些bug

       先安装软件,升级,升级完在用DBCA 创建实例。 这样比安装DB 和创建实例之后升级要简单点。

 

2.1 安装DB 软件

       具体步骤参考BLog

       32 位系统,参考: linux平台下oracle数据库安装

       http://blog.csdn.net/tianlesoftware/archive/2009/10/23/4718218.aspx

      

       64 位系统参考:64 linux 平台下Oracle 安装文档

       http://blog.csdn.net/tianlesoftware/archive/2010/12/08/6062816.aspx

 

2.2 升级DB 软件

       具体步骤参考Blog

       linux平台下oracle10.2.0.1升级到10.2.0.4

       http://blog.csdn.net/tianlesoftware/archive/2009/10/27/4733475.aspx

 

       其实,升级的步骤,在升级包的readme.html 里有详细的说明,可以照那个步骤来。

 

2.3  在主库DBCA创建实例

       在我的Blog有说明:

       如何搭建一个数据库服务器平台

       http://blog.csdn.net/tianlesoftware/archive/2010/05/17/5602291.aspx

 

在这里简单的说一下:

1redo 文件默认是50M,改成100M

2)每个redo group里改成2 redo logfile 大小100M

3)检查一下字符集:ZHS16GBK

4)设置SGA,PGA 大小。

       OLTP 系统一般的规则是:

              SGA=内存*80%*80%

              PGA=内存*80%*20%

 

. 搭建DG 环境

       这块内容参考BLog

       Oracle Data Guard 理论知识

       http://blog.csdn.net/tianlesoftware/archive/2010/04/22/5514082.aspx

 

       Oracle Data Guard Linux 平台 Physical Standby 搭建实例

       http://blog.csdn.net/tianlesoftware/archive/2010/04/30/5547565.aspx

 

       在这里补充一点, 在我装的2DG上都遇到一个问题。 就是主库的sys 用户密码会改变。 怀疑和安装过程中copy 密码文件的过程有关。因为找不到其他原因了。 所以安装之后,用原来的sys密码连接一下。 如果不能使用,赶紧重新设置一下。然后在copy到备库。 不然在客户端就不能用sys用户登陆了。  

 

       如果是现在有DG,不知道sys用户密码。 我在测试环境下测试过,在不停DG的情况下,直接修改sys用户密码,然后copy到备库。这样是可以使用的。 生产库上没有做过。

 

 

. 后续的调整

       在这部分,主要是修改一些参数和数据文件的变动。

 

4.1 修改数据文件

       SQL 命令,或者用Toad 都可以。

1)将SYSTEM,SYSAUX 2个系统表空间增加到1G,并设置为自动增长,每次10M

2UNDO 表空间,设成32G4*8G 或者16G2*8G)。关闭自动扩展。

3TEMP 表空间,设成32G4*8G 或者16G2*8G)。关闭自动扩展。

 

4.2 参数修改

1 修改undo_retention

       undo_retention 只是指定undo 数据的过期时间,默认是900s15分钟。建议改成10800s,即3个小时。

 

SQL> alter system set undo_retention=10800 scope=both;

系统已更改。

 

2)修改sessions processes 参数

SQL> alter system set sessions=2000 scope=spfile;

系统已更改。

SQL> alter system set processes=1000 scope=spfile;

系统已更改。

 

3)修改CONTROL_FILE_RECORD_KEEP_TIME 参数

       该参数设置控制文件中存储备份记录的时间,在用RMAN的时候会涉及到这个参数。 备份记录包括完全的数据库备份记录,以及指定的数据文件,控制文件,参数文件和归档目录的备份记录。数据库参数CONTROL_FILE_RECORD_KEEP_TIME以天为单位(默认值为7天),因此在默认情况下,Oracle 会将RMAN备份和恢复记录保存7天。 可以将该参数设置为0365之间的任意值。

 

SQL> alter system set control_file_record_keep_time=14;

系统已更改。

 

4)设置open_links_per_instance open_links 参数

       关于这2个参数的说明,参考Blog

       open_links_per_instance open_links 参数说明

       http://blog.csdn.net/tianlesoftware/archive/2010/12/22/6090729.aspx

 

       2个参数修改之后,需要重启才能生效,所以,在安装DB的时候,就把这个参数修改了。 默认值是4,如果用到话就太小了。 所以在安装的时候,就给修改了。 修改建议值:100

 

       SQL> alter system set open_links=100 scope=spfile;

       系统已更改。

 

.  部署RMAN 备份

       在部署脚本之前,记得修改2个参数:

 

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

配置DG主库RMAN 归档文件的删除策略:

RMAN> configure archivelog deletion policy to applied on standby;

 

参考:

Nocatalog 下的RMAN 增量备份 shell脚本

http://blog.csdn.net/tianlesoftware/archive/2011/01/26/6164931.aspx

 

Linux 平台下 RMAN 全备 增量备份 shell 脚本

http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

 

如何 搭建 RMAN 备份平台

http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740896.aspx

 

 

. 在备库部署删除归档文件脚本

       DG 备库的归档文件不能自动删除。 需要使用脚本来删除。

参考:

       Oracle Data Guard 备库 归档文件 删除脚本

       http://blog.csdn.net/tianlesoftware/archive/2011/02/19/6194498.aspx

 

 

. 部署其他的监控脚本

       这部分监控如CPU,磁盘空间,表空间使用率。 alert log 日志等。 以前有个shell 的脚本,可以监控这些。 最近在整理一个Python的监控脚本。

 

抱歉!评论已关闭.