9i下创建standby database 步骤

创建

最近,对oracle 9i下的data guard进行了测试,发现9i作standby时更方便了
先整理出来,如下:

操作环境:Windows 2000 Professional + Serveice pack 4
数据库:Oracle 9201
主库SID:pormals
从库SID:pormals
oracle安装采用OMF结构

1.主从两机的操作系统和相同pack

2.在主从库上建立数据库,选择只安装Software

3.在主库上,通过dbca建立数据库,除了字符集选择 zhs16gbk外,全部使用缺省方式

4.在从库上,手工创建和主库相同目录

5.关闭主库数据库,备份数据文件到从库
确定需要copy过去的数据文件以及redo log
sqlplus /nolog
SQL> conn / as sysdba;
SQL> select file_name from dba_data_files;
确定所要copy数据文件
SQL> select member from v$logfile;
确定所要copy联机日至文件
SQL> shutdown immediate;
copy 上面选出的所有文件到从库上相应的目录.

6.打开主库数据库,修改为归档方式(oracle9i用户操作)
手工创建归档目录C:\Oracle\Arch
sqlplus /nolog
SQL> conn / as sysdba;
Connected.
SQL> startup mount;
SQL> alter database archivelog;
SQL> archive log start;
SQL> archive log list;
SQL> alter database open;
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=C:\Oracle\Arch';
SQL> alter system set log_archive_format='%t_%s.dbf' scope=spfile;
SQL> alter system set log_archive_start=true scope=spfile;
重新启动数据库,使修改结果生效
SQL> shutdown immediate;
察看归档模式
SQL> startup
SQL> archive log list;

7.在主库上制作从库control file
sqlplus /nolog
SQL> conn / as sysdba;
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'C:\Oracle\control01.ctl';
copy主库C:\oracle\control01.ctl 到从库 C:\oracle\oradata\poramals\目录下

8.配置主库listener.ora和tnsnames.ora文件
可以用net manager配置或者直接编辑c:\oracle\ora92\network\admin\listener.ora和tnsname.ora文件
也即正常为主库配置侦听和连接到主库(primary)、主库到从库(standby)的网络服务名

9.配置从库listener.ora和tnsnames.ora文件
可以用net manager配置或者直接编辑c:\oracle\ora92\network\admin\listener.ora和tnsname.ora文件
也即正常为从库配置侦听和连接到从库到主库(primary)、直接到从库(standby)的网络服务名

10.启动主从库的listener
分别在主从库上执行如下命令
lsnrctl start
看主从库listener是否正常启动

11 检查主从库tnsnames.ora配置
主库 tnsping standby
从库 tnsping primary
看分别到主从库的服务名是否配置正确

12.在主库上创建pfile,因为9i缺省使用spfile
sqlplus /nolog
SQL> conn / as sysdba;
Connected.
SQL> create pfile='C:\oracle\ora92\database\initporamls.ora' from spfile;

13.copy 刚才创建的C:\oracle\ora92\database.ora\initpormals.ora 到从库相应目录

14.修改从库刚才copy的initpormals.ora文件
主要修改添加:
修改CONTROL_FILES使它符合你的控制文件的实际路径
添加:
STANDBY_ARCHIVE_DEST=’location=c:\oracle tarch’
FAL_SERVER=’PRIMARY’
FAL_CLIENT=’STANDBY’
standby_file_management=’AUTO’
其中standby_file_management不是必须要,但是为了后面主库添加文件,从库能自动处理,加上这个参数,避免麻烦。
同时收工建立从库的相关归档日志路径C:\oracle tarch。

15.copy 主库的C:\oracle\ora92\database\pwdpormals.ora到从库相应目录
16.创建从库实例名 dos>oradim -new -sid pormals
17.启动从库
sqlplus /nolog
SQL> startup nomount;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
将从库置为standby模式
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

18.在主库上设置到从库的归档
SQL> alter system set log_archive_dest_2='SERVICE=standby MANDATORY REOPEN=60';
SQL> select *from v$log;
切换当前联机日志
SQL> alter system switch logfile;
SQL> select *from v$log;  
察看从库后台日志
C:\oracle\admin\pormals\bdump\pormals_arler.
看当前归档日志是否已经正常完成恢复
至此data guard配置完成。

19.测试一下
在主库上
SQL> create user test identified by 密码;
SQL> grant connect ,resource to test ;
SQL> conn test/密码@primary;
SQL> create table test(name varchar2(20));
SQL> insert into test values('hi,data guard');
SQL> commit;
SQL> conn / as sysdba
SQL> alter system switch logfile;

察看从库日志
C:\oracle\admin\poramls\bdump\pormals_alert.ora
看当前归档日志是否已经正常完成恢复

已只读方式打开从库察看是否insert into test values('hi,data guard');已经生效。
在从库上
SQL> conn / as sysdba;
SQL> alter database recover managed standby database cancel;
SQL> alter database open read only;
SQL> conn test/密码
SQL> select * from test;
察看是否insert into test values('hi,data guard');已经生效。
如果生效说明已经完全正常工作,data guard到此完全配置完毕。
再次置从库在恢复模式
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect from session;
注:
1、关于启动关闭顺序
启动的时候,先从库的listener,然后启动从库,然后启动主库的listener 接着是主库 关闭的时候正好相反,先关闭主库,然后是从库。
2、一些常用的view
V$ARCHIVE_DEST_STATUS 这里面会纪录到standby 的状态和恢复到那个日志
V$ARCHIVE_GAP 这里面会纪录当前从库mrp进程恢复需要的胆识还没有传到从库得日志
V$ARCHIVED_LOG 这里面会纪录所有已经归档到从库的日志,并且记录该日志是否已经恢复
V$DATABASE 会纪录系统的保护状态和是否处于force logging状态
V$MANAGED_STANDBY (Physical Standby Databases Only) 会纪录当前从库的一些进程情况和进程的process id,如rfs,mrp等
V$STANDBY_LOG (Physical Standby Databases Only) 会纪录当前从库的standby redo log的一些情况。

时间: 2024-09-17 04:30:45

9i下创建standby database 步骤的相关文章

Oracle dataGuard专题:利用冷备创建standby

dataGuard是oracle提供的一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑STANDBY两种.二者的最大差别在于,物理STANDBY应用的是主库的归档日志,而逻辑STANDBY应用的是主库的归档日志中提取的SQL语句.由于二者这一点的区别,决定了物理STANDBY无论从逻辑结构和物理结构都是和主库保持一致,而逻辑

Oracle10G Physical Standby Database笔记

oracle|笔记 试验环境primary server:  windows2000 server + oracle 10.0.1.0.2  ORACLE_SID:dgtest  ORACLE_HOME: D:\oracle\product\10.1.0\db_1standby server: windows XP pro + oracle 10.0.1.0.2ORACLE_SID:dgtestORACLE_HOME: D:\oracle\product\10.1.0\db_1   配置步骤首先

创建逻辑备用库(Logical Standby Database)

创建 下面的是Logical Standby Database的配置步骤. (下面用到的一些文件的位置都是临时性的,还得做一定的修改) 将主数据库置为FORCE LOGGING模式.在主数据库创建之后做如下操作: SQL>ALTER DATABASE FORCE LOGGING;   确认主数据库是归档的并定义好本地归档.如下: SQL >ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=e:\oracle\oradata\orcl\archive 

【DataGuard】ORA-00313, ORA-00312, ORA-27037 in Standby Database

启动备库的过程中出现如下错误: ORA-00313: open failed for members of log group 4 of thread 2 ORA-00312: online log 4 thread 2: '/opt/oracle/oradata/alifpre/group_4.260.761070481' ORA-27037: unable to obtain file status 原因: 备库上缺少联机重做日志 解决方法: 可以忽略此错误,因为联机重做日志会在switch

mysql下创建数据库的两种方式

mysql|创建|数据|数据库 1.命令创建 首先以root用户登录 sql>create database databasename; 2.如何你想在没登录mysql情况下创建mysql数据库,那在mysql的data目录下创建一个userbase目录即可.在连上mysql后,show databases;就可以看见你所创建的userbase库了 注:删除数据库 sql>drop database databasename;

如何在ubuntu下创建桌面快捷方式

习惯使用windows的朋友来说创建桌面快捷方式简直就是so easy, 鼠标右键点击文件-->选择发送桌面快捷方式,就OK了.对于ubuntu下该怎样创建桌面快捷方式呢?下面以创建eclipse的快捷方式为例,简单介绍一下. 环境: 1)系统版本:Ubuntu 14.04 2)桌面环境:Unity 3)已经下载并解压eclipse(免安装)到/opt目录下 详细步骤: 1)新建文件eclipse.desktop,命令如下: sudo vim  /usr/share/applications/e

Oracle dataGuard专题:利用rman创建standby

使用rman来创建standby,过程相当简单,主库无需停机.本次试验演示了利用Rman热备,然后restore来创建备库的过程. 1. 演示环境 [oracle@gaojf orcl]$ sqlplus "/as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 6 08:54:45 2006 Copyright (c) 1982, 2005, Oracle.  All rights reserved. Conn

Oracle dataGuard专题:Rman通过duplicate创建standby

rman提供了更便捷的方式来创建standby,方法就是通过duplicate命令,下面做一个详细介绍: 1. 试验环境 [oracle@gaojf orcl]$ sqlplus "/as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 6 08:54:45 2006 Copyright (c) 1982, 2005, Oracle.  All rights reserved. Connected to: Ora

Win8下创建虚拟磁盘安装Win7

  很多朋友都喜欢给自己的电脑安装双系统,硬盘大的当然是给硬盘多分几个区,然后实机安装.但是也有很多朋友和我一样,硬盘只有可怜的320G,分区多了硬盘的使用率也就跟着降低了,着实不划算.硬盘小有硬盘小的办法,那就是创建一个虚拟磁盘,然后在虚拟磁盘里装一个系统.鉴于本人目前使用的是Win8,我就给各位演示一遍如何在Win8下创建一个虚拟磁盘,并且在这个虚拟磁盘中安装一个Win7系统.最后声明以下一切操作都使用相关软件. 步骤一.使用系统自带磁盘管理器创建一个虚拟磁盘文件 自己设置虚拟磁盘文件的存放