`
yanghuidang
  • 浏览: 987309 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在单机上创建物理的Oracle9i standby数据库

阅读更多


说明;Oracle9i数据库的Data Guard 特性确保对数据进行完整的保护,是Oracle 9i的一个关键特性之一.Data Guard可以创建物理的Standby数据库,也可以创建逻辑的Standby数据库,还可以混合使用,灵活性比较强.这个文档是Fenng练习时候记下来的东西,谈不上是什么心得.*这不过是一份安装过程中的笔记而已* 如果对这个有更高的期望,或者想得到关于Oracle数据库的data guard 和Standby的更多信息,请参考官方的文档.

系统环境:Windows 2000 专业版 SP3 512M 内存

现有的数据库实例(Primary)名字:Demo
预创建的Standby 数据库实例名字:Pstandby

数据库版本信息:

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production

准备工作

首先确认Primary数据库是否在归档模式下
SQL> show user
USER is "SYS"
SQL>
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination d:\oracle\oradata\demo\archive
Oldest online log sequence 42
Next log sequence to archive 44
Current log sequence 44


如果不在归档模式下,调整数据库。
首先提交命令修改SPfile:

SQL>alter system set LOG_ARCHIVE_START=TRUE scope=spfile;

然后关闭数据库实例

SQL>SHUTDOWN

备份数据库

SQL>STARTUP MOUNT

SQL>ALTER DATABASE ARCHIVELOG;
SQL>ALTER DATABASE OPEN;

SQL>SHUTDOWN IMMEDIATE
备份

1. Primary Database 需要做的准备工作

1.1 激活 Forced Logging

SQL> ALTER DATABASE FORCE LOGGING;

1.2 设置本地归档目标

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\oradata\DEMO\Archive' SCOPE=BOTH;
此操作直接生效


2.创建物理的Standby数据库

2.1 标记出Primary数据库的数据文件

SQL> select name from v$datafile;

NAME
-----------------------------------------------------

D:\ORACLE\ORADATA\DEMO\SYSTEM01.DBF
D:\ORACLE\ORADATA\DEMO\UNDOTBS01.DBF
D:\ORACLE\ORADATA\DEMO\CWMLITE01.DBF
D:\ORACLE\ORADATA\DEMO\DRSYS01.DBF
D:\ORACLE\ORADATA\DEMO\EXAMPLE01.DBF
D:\ORACLE\ORADATA\DEMO\INDX01.DBF
D:\ORACLE\ORADATA\DEMO\ODM01.DBF
D:\ORACLE\ORADATA\DEMO\TOOLS01.DBF
D:\ORACLE\ORADATA\DEMO\USERS01.DBF
D:\ORACLE\ORADATA\DEMO\XDB01.DBF
D:\ORACLE\ORADATA\DEMO\OEM_REPOSITORY.DBF

11 rows selected.

SQL>

2.2 关闭Instance 拷贝数据文件到既定目的地

SQL> SHUTDOWN IMMEDIATE;

2.3 为Standby 数据库创建控制文件

SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE
AS 'C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL';

要注意这个控制文件的名字不要和Primary的控制文件名字重复

2.4 为Standby数据库准备初始化参数文件名字:

SQL> CREATE PFILE='C:\DataGuard\Pstandby\DEMO\initpstandby' FROM SPFILE;

2.5 设定初始化Physical Standby Database参数

*.aq_tm_processes=1
*.background_dump_dest='D:\oracle\admin\DEMO\bdump'
*.compatible='9.2.0.0.0'
*.control_files='C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL'
*.core_dump_dest='D:\oracle\admin\DEMO\cdump'
*.db_block_size=8192
*.db_cache_size=19922944
*.db_domain=''
*.db_file_multiblock_read_count=32
*.db_name='DEMO'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DEMOXDB)'
*.fast_start_mttr_target=300
*.hash_area_size=1048576
*.hash_join_enabled=TRUE
*.instance_name='pstandby'
*.java_pool_size=20971520
*.job_queue_processes=10
*.large_pool_size=7340032
*.log_archive_dest_1='location=d:\oracle\oradata\demo\archive'
*.log_archive_start=TRUE
*.open_cursors=300
*.optimizer_mode='FIRST_ROWS'
*.pga_aggregate_target=17825792
*.processes=150
*.query_rewrite_enabled='TRUE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=33554432
*.sort_area_size=1048576
*.star_transformation_enabled='TRUE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\admin\DEMO\udump'

lock_name_space=pstandby
standby_file_management=AUTO
remote_archive_enable=TRUE
standby_archive_dest='C:\DataGuard\Pstandby\DEMO\Archive'
db_file_name_convert=('D:\oracle\oradata\DEMO', 'C:\DataGuard\Pstandby\DEMO\')
log_file_name_convert=('D:\oracle\oradata\DEMO', 'C:\DataGuard\Pstandby\DEMO\')
log_archive_dest_1=('LOCATION=C:\DataGuard\Pstandby\DEMO\Archive')

整个操作的过程中,容易出现错误的地方几乎都集中在此处。必须认真仔细的对待这个文件。标记为黑色的地方是需要进行修改的。

2.6 创建一个Windows服务

WINNT> oradim -NEW -SID Pstandby -STARTMODE manual

2.7 Create a Server Parameter File for the Standby Database

可参考执行如下操作:
C:\>set oracle_sid=pstandby
C:\>sqlplus /nolog
SQL> connect / as sysdba
SQL> CREATE SPFILE FROM PFILE='C:\DataGuard\Pstandby\DEMO\initPstandby.ora';

2.8 启动物理Standby数据库

C:\>set oracle_sid=pstandby
C:\>sqlplus /nolog
SQL> connect / as sysdba
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

2.9 在Standby数据库上,初始化Log Apply 服务:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;


2.10 激活到物理Standby数据库的归档

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=Pstandby' SCOPE=BOTH;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;

2.11 启动远程归档

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;


3.安装完的的验证:

3.1在database, 查询V$ARCHIVED_LOG
(其实也可以直接到相关目录下查看Log是否创建):

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
2 FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# FIRST_TIME NEXT_TIME
---------- ---------- ----------
38 23-7? -02 23-7? -02
39 23-7? -02 23-7? -02
40 23-7? -02 23-7? -02
41 23-7? -02 23-7? -02
42 23-7? -02 23-7? -02

3.2 在Primary数据库上,归档当前的Log

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

3.3 验证是否收到:

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
2> FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# FIRST_TIME NEXT_TIME
---------- ---------- ----------
38 23-7? -02 23-7? -02
39 23-7? -02 23-7? -02
40 23-7? -02 23-7? -02
41 23-7? -02 23-7? -02
42 23-7? -02 23-7? -02
43 23-7? -02 23-7? -02


3.4 验证是否新的归档Redo日志已经被应用:

SQL> select sequence#,applied from v$archived_log
2 order by sequence#;

SEQUENCE# APP
---------- ---
38 YES
39 YES
40 YES
41 YES
42 YES
43 YES

OK.表明我们还是成功的。暂时告一段落。


参考文档

Oracle Data Guard Concepts and Administration
Release 2 (9.2)
Part Number A96653-02

附加内容:

primary数据库的Pfile内容:

*.aq_tm_processes=1
*.background_dump_dest='D:\oracle\admin\DEMO\bdump'
*.compatible='9.2.0.0.0'
*.control_files='D:\oracle\oradata\DEMO\CONTROL01.CTL',
   'D:\oracle\oradata\DEMO\CONTROL02.CTL','D:\oracle\oradata\DEMO\CONTROL03.CTL'
*.core_dump_dest='D:\oracle\admin\DEMO\cdump'
*.db_block_size=8192
*.db_cache_size=19922944
*.db_domain=''
*.db_file_multiblock_read_count=32
*.db_name='DEMO'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DEMOXDB)'
*.fast_start_mttr_target=300
*.hash_area_size=1048576
*.hash_join_enabled=TRUE
*.instance_name='DEMO'
*.java_pool_size=20971520
*.job_queue_processes=10
*.large_pool_size=7340032
*.log_archive_dest_1='location=d:\oracle\oradata\demo\archive'
*.log_archive_dest_2='SERVICE=PSTANDBY'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_start=TRUE
*.open_cursors=300
*.optimizer_mode='FIRST_ROWS'
*.pga_aggregate_target=17825792
*.processes=150
*.query_rewrite_enabled='TRUE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=33554432
*.sort_area_size=1048576
*.star_transformation_enabled='TRUE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\admin\DEMO\udump'

创建过程中的可能的错误:待续

分享到:
评论

相关推荐

    单机创建物理Oracle9istandby数据库

    在本案例中,我们将详细探讨如何在单机环境中创建一个物理的 Oracle9i Standby 数据库。 首先,理解 Data Guard 的核心功能是关键。Data Guard 提供了多种方式来保护数据,包括物理 Standby 和逻辑 Standby 数据库...

    oracle9i standby

    在IT领域,Oracle数据库是企业级数据管理的重要组成部分,而Oracle 9i版本中的Data Guard技术,特别是其Standby数据库功能,为数据高可用性和灾难恢复提供了强大的支持。以下是对Oracle 9i Standby数据库配置步骤的...

    Oracle Standby数据库建立

    Oracle Standby 数据库建立 Oracle Standby 数据库建立是指建立一个备用的数据库,用于备份 Primary 数据库,以确保数据的安全和可用性。Standby 数据库通过 Primary 数据库的 Archived log files 来实现备份。 ...

    Oracle Standby数据库建立.doc

    在 Primary Database 上,需要执行 alter database create standby controlfile as '/u01/standby.ctl' 语句,然后将生成的控制文件复制到 Standby 数据库上相应的控制文件目录下。 4.4 强行归档 在 Primary ...

    oracle9i关系数据库实用教程

    Oracle9i是Oracle公司推出的数据库版本,它在功能、性能和可扩展性上都有显著提升,尤其在互联网应用方面表现突出。本书旨在帮助读者理解和应用Oracle9i的相关技术,包括安装配置、数据库管理、SQL语言、PL/SQL编程...

    Oracle9i 数据库管理基础1(学生指南) 中文PDF版

    Oracle9i数据库管理系统是Oracle公司推出的数据库产品,其在企业级数据存储和管理领域具有广泛的应用。本资源为"Oracle9i 数据库管理基础1(学生指南) 中文PDF版",分为两卷,旨在帮助学习者掌握Oracle9i数据库的基础...

    ORACLE Standby数据库工作原理及程序设计.pdf

    2. 在Standby数据库服务器上创建与主数据库相同的数据文件目录结构。 3. 修改主数据库的初始化参数文件并复制到Standby数据库服务器的相应目录下。 4. 关闭主数据库,并制作冷备份,然后使用文件传输命令将备份的...

    《Oracle9i关系数据库实用教程》ppt

    7. 数据备份与恢复:了解Oracle9i的备份策略,如物理备份和逻辑备份,以及如何使用RMAN(恢复管理器)进行数据库恢复。 8. 高可用性与故障恢复:学习Oracle的高可用性技术,如RAC(实时应用集群)、Standby数据库和...

    Oracle 9i 备用数据库配置使用参考

    自Oracle 7.3开始支持Standby Database功能以来,其经历了从手动同步到自动化同步的演进过程,并在Oracle 9i版本中引入了Data Guard的概念,提供了更为完善的高可用性和灾难恢复机制。 - **Standby Database**:指...

    oracle9i数据库高级管理

    Oracle9i数据库高级管理是针对已经有一定基础的Oracle数据库管理员(DBA)的教程,旨在帮助他们提升技能,深入理解Oracle数据库的复杂机制,并掌握更高级的管理技巧。Oracle9i是Oracle公司的一个重要版本,它引入了...

    Oracle9i 数据库管理基础

    Oracle9i数据库管理系统是Oracle公司推出的数据库产品,其在企业级数据存储和管理中占据了重要地位。本资料集“Oracle9i数据库管理基础”共分为四册,旨在为读者提供全面且深入的Oracle9i数据库知识,帮助DBA...

    oracle_9i备用数据库配置使用参考手册.rar

    在Oracle 9i中,通过利用Data Guard功能可以创建和维护物理备用数据库。配置过程包括:创建主数据库的备用控制文件、设置redo log传输、启动备用数据库并将其置于RESTRICTED模式,以便只读访问。 二、逻辑备用...

    oracle dataguard 逻辑standby建立

    5. **创建初始化参数文件**:在物理 Standby 数据库上创建初始化参数文件,并对其中的一些参数进行修改,如 LOG_ARCHIVE_DEST、PARALLEL_MAX_SERVERS、SHARED_POOL_SIZE 等。 ##### 2.4 关闭物理 Standby 数据库并...

    Oracle9i DataGuard、备用数据库、集群技术全面介绍

    Oracle9i DataGuard支持多种高级架构,如物理备用数据库(Physical Standby)、逻辑备用数据库(Logical Standby)和远端归档(Remote Archiving)。这些架构提供了不同的数据保护级别和功能,可以根据实际需求进行...

    oracle9i数据库管理员指南

    Oracle 9i是Oracle公司推出的第9个主要版本,它在数据管理、性能优化、网络支持以及安全性等方面都有显著提升,对数据库管理员(DBA)来说,理解其特性和功能至关重要。 1. 数据库安装与配置:Oracle 9i的安装过程...

    Oracle 9i数据库管理员指南.rar

    Oracle 9i数据库管理员指南是针对Oracle公司9i版本数据库系统的一份详尽参考资料,它涵盖了数据库管理员在日常工作中所需的各种知识和技能。9i是Oracle数据库的一个重要里程碑,引入了许多创新特性和优化,旨在提高...

    Oracle.9i数据库管理员指南

    《Oracle.9i数据库管理员指南》是一本专为Oracle 9i数据库系统管理人员精心编写的指导书籍,旨在帮助读者深入理解和掌握Oracle数据库的管理和维护工作。Oracle 9i是Oracle公司推出的第九个主要版本,它在性能、可用...

    Oracle9i数据库管理实务讲座

    Oracle9i数据库管理系统是Oracle公司推出的数据库产品,它在数据管理、性能优化、安全性以及网络支持等方面具有显著特点。这个“Oracle9i数据库管理实务讲座”很可能是针对数据库管理员(DBA)或IT专业人士的一个...

    oracle 10g 物理与逻辑standby测试手册

    根据给定的文件信息,以下是对Oracle...通过以上步骤,可以为Oracle 10g物理与逻辑standby数据库的搭建和测试做好充分准备,确保在主数据库出现故障时,能够快速切换到standby数据库,保障业务的连续性和数据的安全性。

Global site tag (gtag.js) - Google Analytics