Oracle数据库Data Guard数据安全技术应用
2013-08-13杨勃
摘要:文章根据四川眉山车辆有限公司对IT应用系统数据安全保护的技术研究,阐述了Oracle数据库数据安全保护的一种方法,并结合实例对应用中的技术难点进行了详细分析。
关键词:Data Guard数据安全;主数据库;备用数据库
中图分类号:TM769 文献标识码:A 文章编号:1009-2374(2013)20-0042-02
Data Guard是管理、监控和自动化软件的基础架构,它创建、维护和监控一个或多个备用数据库。通过提供日志传送服务、日志应用服务和角色装换服务,Data Guard简化了备用数据库的建立、维护和管理,并且Data Guard使用产品数据库的事物变化来维护备用数据库。如果因不可预计的故障导致产品数据库宕机,则Data Guard可以切换备用数据库,并将其转变为产品数据库,以最小化故障停机
时间。
1 Data Guard配置环境
Data Guard由一个产品数据库和一个或多个备用数据库组成,数据库之间的互联通过Oracle Net来完成。
主数据库:主数据库是指用于存放应用系统数据库的Oracle数据库。
备用数据库:备用数据库是主数据库的事务一致性副本,是使用主数据库备份建立的数据库。
2 备用数据库
备用数据库通过应用主数据库的重做数据,与主数据库保持同步。在将归档日志传送到备用数据库之后,备用数据库可以直接应用这些事务变化,从而保持与主数据库的同步性。
3 备用数据库的建立
当使用备用数据库时,要求必须激活主数据库的强制日志特征,并且数据库必须处在归档模式。
下面以我公司ERP系统数据库为例,在不同服务器上使用RMAN备份建立备用数据库的方法。
具体步骤如下:
(1)建立存放备用数据库相关文件的OS目录。
(2)建立例程服务。示例如下:
C:\oradim-new-sid msbakerp-intpwd oracle
(3)配置监听程序和网络服务。因为主数据库和备用数据库的交互是通过Oracle Net来完成的,所以必须在主数据库和备用数据库服务器上进行网络配置并配置监听程序、网络服务名。
(4)准备主数据库的参数文件。具体步骤如下:
建立参数文件。示例如下:
sql>create pfile from spfile;
编辑文本参数文件initcsrerp.ora。示例如下:
db_unique_name=ncmserp
log_archive_dest_1='location=d:\product\10.2.0\flash_recovery_area\ncmserp\archivelog
valid_for=(all_logfiles,all_roles)
db_unique_name=ncmserp'
log_archive_config='dg_config=(ncmserp,msbakerp)'
fal_server=msbakerp
fal_client=ncmserp
standby_file_management=auto
建立服务器参数文件。在编辑了文本参数文件之后,使用Create Spfile命令为主数据库建立Spfile文件。示例
如下:
Sql>create spfile from
‘%oracle_home\database\initncmserp.ora%
Sql>startup
(5)准备备用数据库参数文件。具体步骤如下:
建立参数文本文件。示例如下:
C:\>Sqlplus /nolog
Sqlplus>connect /as sysdba
Sqlplus>create pfile=
%oralce_home\database\initmsbakerp.ora% from spfile;
编辑文本参数文件initmsbakerp.ora。如下所示:
db_unique_name=msbakerp
service_names=msbakerp
instance_name=msbakerp
fal_client=msbakerp
fal_server=ncmserp
db_file_name_convert='s:\oradata\ncmserp','D:\product\10.2.0\oradata\msbakerp'
log_file_name_convert='s:\oradata\ncmserp','D:\product\10.2.0\oradata\msbakerp'
log_archive_config='dg_config=(ncmserp,msbakerp)'
log_archive_dest_1='location=D:\product\10.2.0\flash_recovery_area\msbakerp\archivelog
valid_for=(all_logfiles,all_roles)
db_unique_name=msbakerp'
standby_file_management=auto
standby_archive_dest='d:\product\10.2.0\flash_recovery_area\msbakerp\archivelog'
建立服务器参数文件。示例如下:
Sql>create spfilemsbak.ora from
‘%oracle_home\database\initmsbakerp.ora%
(6)复制相关文件到备用主机。为了建立备用数据库,必须将主数据库的数据文件备份集、控制文件备份集、参数文件复制到备用数据库所在服务器。
(7)启用备用例程,并建立备用数据库。示例如下:
C:>Rman target sys/change_on_install@csrerp auxiliary sys/change_on_install@msbakerp
Rman>Duplicate target database for standby dorecover;
当执行了DUPLICATE命令之后,Rman会建立备用控制文件、装载备用数据库、转储所有数据文件备份,并应用归档日志恢复备用数据库。
5 备用数据库的管理
(1)启动备用数据库。示例如下:
C:\>sqlplus/nolog sys/change_on_install@msbakerp as sysdba
Sql>startup mount
(2)开始应用归档日志。当备用数据库处于MOUNT状态时,为了使两个数据库保持同步,应该使备用数据库应用归档1日志的事务变化。示例如下:
Sql>alter database recover managed standby database disconnect from session;
(3)关闭备用数据库。当备用数据库处于重做应用状态时,它不能被关闭,必须先取消重做应用状态,然后才能关闭备用数据库。示例如下:
Sql>alter database recover managed standby database cancel;
Sql>shutdown immediate;
(4)激活备用数据库。当主数据库出现重大故障时,可以激活备用数据库,并将其转化为主数据库。示例
如下:
C:\>sqlplus /nolog
Sql>connect /as sysdba
Sql>alter database activate standby database;
Sql>startup force.
参考文献
[1] 精通Oracle10g备份与恢复.
作者简介:杨勃(1972—),男,重庆荣昌人,四川眉山车辆有限公司工程师,研究方向:信息技术。