惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
PCI Perspectives
PCI Perspectives
K
Kaspersky official blog
T
Tenable Blog
Help Net Security
Help Net Security
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
罗磊的独立博客
P
Palo Alto Networks Blog
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
人人都是产品经理
人人都是产品经理
L
LangChain Blog
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
博客园_首页
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
S
Secure Thoughts
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Project Zero
Project Zero
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
V2EX
Last Week in AI
Last Week in AI
H
Heimdal Security Blog
U
Unit 42
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
SecWiki News
SecWiki News
量子位
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
NISL@THU
NISL@THU
S
Securelist
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
云风的 BLOG
云风的 BLOG
I
Intezer
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - Franky
Cisco Talos Blog
Cisco Talos Blog
小众软件
小众软件
C
CXSECURITY Database RSS Feed - CXSecurity.com

博客园 - 海沙

[转贴]制作ubuntu的安装u盘 Android之旅-Emulator WinXP下的编译 ubuntu7.04 安装ELDK4.1交叉编译环境 光圈和快门 烧友必读《音响二十要》转台湾音响大师刘汉盛毕生精华 [参考]查看ORACLE DB信息的一些SQL [参考]利用iptables防火墙保护Oracle数据库 [参考]RedHat AS3下自动启动和关闭oracle的脚本 [参考]Oracle10G Physical Standby Database笔记 [参考]Oracle9i (9.2.0.4.0) Installation on RedHat Advanced Server 4.1 And Centos 4.1 [转载]Install Oracle 9.2.0.6 On RedHat AS 3.0 [参考]FreeBSD5.4+GNOME2.10.0安装过程 资料连接记录 Linux Add SMB(windows) Printer Notes On RHAS2.1 DiabloII 1.10 教育文章-合成与符文之语(不断补充中....) [參考]Oracle9i (9.2.0.4.0) Installation on RedHat Advanced Server 2.1 Linux [參考]Oracle Application Release 11i (11.5.9) on RedHat Advance Server 2.1 [参考]RedHat高级服务器版2.1的安装、Oracle9iR2的安装 [参考]用Oracle导入导出工具实现Oracle数据库移植
[参考] 在单机上创建物理的 Oracle9i standby 数据库笔记
海沙 · 2006-03-17 · via 博客园 - 海沙

[Oracle] 在单机上创建物理的 Oracle9i standby 数据库笔记

--------------------------------------------------------------------------------


简单介绍
说明:Oracle9i 数据库的 Data Guard 特性确保对数据进行完整的保护,是 Oracle 9i 的一个关键特性之一。Data Guard 可以创建物理的 Standby 数据库,也可以创建逻辑的Standby数据库,还可以混合使用,灵活性比较强.这个文档是Fenng练习时候记下来的东西,谈不上是什么心得。这不过是一份安装过程中的笔记而已,大约写于一年以前,如果对Standby机制的了解有更高的期望,或者想得到关于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 immediate;

备份数据库

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 ORDER BY sequence#;
SEQUENCE# APP
---------- ---
38 YES
39 YES
40 YES
41 YES
42 YES
43 YES

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

附加内容
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'