oracle10g+Dataguard配置(2)

2019-04-23 19:25

然后执行

rman>backup database plus archivelog;

rman>backup current controlfile for standby;

这样就会在/u01/app/oracle/flash_recovery_area/DB99下生成备份,包括数据文件,控制文件和归档日志

下面对备库进行操作

由于备库没有创建实例,所以缺少几个文件目录 用oracle用户添加

对应主库的目录结构添加

/u01/app/oracle/admin/DB99下的adump,bdump,cdump,udump /u01/app/oracle/flash_recovery_area/ /u01/app/oracle/oradata/DB99

从主库dbtest1复制文件到备用库dbtest2上

需要复制/u01/app/oracle/flash_recovery_area/下的所有东西 还有/u01/app/oracle/product/10.2.0/db_1/dbs/下的所有东西

主库上的/u01/app/oracle/product/10.2.0/db_1/network/admin 目录下的listener.ora和tnsnames.ora

备库修改如/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora下 SID_LIST_LISTENER = (SID_LIST = (SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) )

(SID_DESC =

(SID_NAME = DB99)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) ) )

LISTENER =

(DESCRIPTION_LIST = (DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) ) )

注:和主库相同只有ip不同

tnsnames.ora 如下 DB99 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) (CONNECT_DATA =

(SERVER = DEDICATED) (SERVICE_NAME = DB99) ) )

#LISTENER_DB99 =

# (ADDRESS = (PROTOCOL = TCP)(HOST = localhoenorthdb1)(PORT = 1521)) DBTEST2 =

(DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) )

(CONNECT_DATA =

(SERVICE_NAME = DB99) ) )

DBTEST1 =

(DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) )

(CONNECT_DATA =

(SERVICE_NAME = DB99) ) )

EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2)) )

(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )

注:和主库一样,只有ip不同

恢复备用库

在恢复备份库的时候先把主库和备库的监听程序重启一下 方法,在oracle用户模式下lsnrctl stop,然后lsnrctl start 然后再回到备库

启动数据库到nomount阶段 sqlplus / as sysdba sql>startup nomount

再回到oracle用户模式 从rman恢复

rman target sys/userjishubu@dbtest1 auxiliary /

rman>duplicate target database for standby nofilenamecheck; 开始进行恢复数据库

修改备库的参数文件

直接编辑这个文件/u01/app/oracle/product/10.2.0/db_1/dbs/initDB99.ora 修改以下参数

*.db_unique_name=dbtest2 然后执行

sql>shutdown immediate; sql>create spfile from pfile;

启动备用库

sqlplus / as sysdba

sql>shutdown immediate; sql>startup nomount;

sql>alter database mount standby database; sql>ALTER DATABASE ADD STANDBY LOGFILE; sql>ALTER DATABASE ADD STANDBY LOGFILE; sql>ALTER DATABASE ADD STANDBY LOGFILE; sql>ALTER DATABASE ADD STANDBY LOGFILE;

sql>alter database recover managed standby database using current logfile disconnect from session;

这样Dataguard的最大可用模式实时备份就完成了

下面进行一下测试 在两边都执行 Sql>Archive log list 看看返回的结果 我的结果是

主库

SQL> archive log list

Database log mode Archive Mode Automatic archival Enabled

Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 17 Next log sequence to archive 19 Current log sequence 19

备库

SQL> archive log list

Database log mode Archive Mode Automatic archival Enabled

Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 18 Next log sequence to archive 0 Current log sequence 19

如果没出现数字,在oracle用户模式下lsnrctl stop,然后lsnrctl start

看我所标示的地方是否数字一致,说明已经同步了 然后看主库执行

Sql> select protection_level,protection_mode from v$database;

结果为

SQL> select protection_level,protection_mode from v$database;

PROTECTION_LEVEL PROTECTION_MODE -------------------- --------------------

MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

如果是这样的结果.两个显示都是高可用模式,那么说明应该配置正确了

再做测试,再主库上插入用户并添加表

然后在备库上执行

Sql> alter database recover managed standby database cancel; Sql>alter database open read only;

连接备库看看有没有你新加的用户名和表,如果都同步过来了,说明配置正确,一切正常了

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

select *from v$archive_gap;

select SEQUENCE# from V$ARCHIVED_LOG;

补充知识,关于大于2TB的硬盘如何分区,fdisk已经不能用了,方法如下

假设要用parted对Linux下的/dev/sdb(大小为3000G)进行分区操作:

1、进入系统,在#提示符下执行:parted /dev/sdb

2、建立磁盘label: mklabel GPT

3、按p键,查看磁盘可用空间,显示单位为M。3000G应该显示大致为: /dev/sdb 的磁盘几何结构:0.000-3000000.000 兆字节

4、创建分区:在(parted)后输入: mkpart并按照提示操作:分区类型? primary/主分区/extended/扩展分区? p (如果要创建扩展分区 此处输入e)。文件系统类型? [ext2]? (这里直接回车,千万不要改成ext3,分区创建完毕后通过mkfs.ext3 /dev/sdb*建立文件系统)

起始点?0.000 (加入要建立一个10G的分区)

结束点?10240.000

5、按p键查看刚创建的分区是否已经成功。

6、如果成功,键入quit退出parted。

7、使用mkfs.ext3 /dev/hdb* 来创建文件系统

8、挂载并使用该分区:

mkdir /testdir

mount /dev/sdb* /testdir cd /testdir

9、写入数据,测试写入是否正常。

附:em控制端按钮显示乱码解决方法

?

Linux安装oracle后em按钮出现乱码现象 - [oracle]


oracle10g+Dataguard配置(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:格氏试剂的标定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: