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

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
V
Visual Studio Blog
量子位
博客园 - 三生石上(FineUI控件)
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
宝玉的分享
宝玉的分享
Hacker News: Ask HN
Hacker News: Ask HN
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
Google Online Security Blog
Google Online Security Blog
AI
AI
Schneier on Security
Schneier on Security
大猫的无限游戏
大猫的无限游戏
WordPress大学
WordPress大学
I
InfoQ
A
Arctic Wolf
月光博客
月光博客
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
Cloudbric
Cloudbric
Google DeepMind News
Google DeepMind News
Security Latest
Security Latest
GbyAI
GbyAI
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
博客园 - 司徒正美
The Hacker News
The Hacker News
Cisco Talos Blog
Cisco Talos Blog
I
Intezer
云风的 BLOG
云风的 BLOG
T
Threatpost
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
罗磊的独立博客
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Tenable Blog

博客园 - 海沙

[转贴]制作ubuntu的安装u盘 Android之旅-Emulator WinXP下的编译 ubuntu7.04 安装ELDK4.1交叉编译环境 光圈和快门 烧友必读《音响二十要》转台湾音响大师刘汉盛毕生精华 [参考]查看ORACLE DB信息的一些SQL [参考]利用iptables防火墙保护Oracle数据库 [参考]RedHat AS3下自动启动和关闭oracle的脚本 [参考] 在单机上创建物理的 Oracle9i standby 数据库笔记 [参考]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数据库移植
[参考]Oracle10G Physical Standby Database笔记
海沙 · 2006-03-17 · via 博客园 - 海沙

Oracle10G Physical Standby Database笔记

试验环境
primary server: 
 windows2000 server + oracle 10.0.1.0.2
ORACLE_SID:dgtest
ORACLE_HOME: D:\oracle\product\10.1.0\db_1
standby server: 
windows XP pro + oracle 10.0.1.0.2
ORACLE_SID:dgtest
ORACLE_HOME:
D:\oracle\product\10.1.0\db_1 

配置步骤
首先,装好primarystandby上的oracle,建SID同为dgtest的库,所有设置完全相同。然后停止shutdown两台上的oracle,将primary上的所有数据文件,控制文件,redo文件和password文件都copystandby机器的相应位置。(还可以利用热备,rman等来建立初始standby库),这样,我们就拥有了两台完全一样的oracle server 

1.      primary database上设置force logging
SQL>alter database force logging;

 2.      修改primary databse的初始化参数
DB_UNIQUE_NAME=’primary’
CONTROL_FILES='d:\oracle\product\oradata\control01.ctl','d:\oracle\product\oradata\control02.ctl','d:\oracle\product\oradata\control03.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION= d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= 'SERVICE=standby'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='arc%s%t%r.arc'
FAL_SERVER=standby
FAL_CLIENT=primary
STANDBY_FILE_MANAGEMENT=AUTO
LOCK_NAME_SPACE           ----这是当主数据库和备用数据在同一台机上时要设该参数,设为备用数据库的SID  

3.      设置primary databasearchivelog模式
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open: 
 

4.      primary database上创建standby database的控制文件
SQL>shutdown immedaite;
SQL>startup mount;
SQL>alter database create standby controlfile as ‘d:\oracle\product\oradata\controlstandby.ctl’
SQL>alter database open;
然后将该controlfile复制到standby server的对应位置 

5.      修改standby databse的初始化参数
DB_UNIQUE_NAME=’standby’
CONTROL_FILES='d:\oracle\product\oradata\controlstandby.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION= d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= 'SERVICE=primary'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
STANDBY_ARCHIVE_DEST=’ d:\oracle\product\arch’ 
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=primary
FAL_CLIENT=standby
STANDBY_FILE_MANAGEMENT=AUTO
DB_FILE_NAME_CONVERT     ----
primarystandby的数据文件路径不一致时使用
LOG_FILE_NAME_CONVERT    ----
primarystandby的数据文件路径不一致时使用
LOCK_NAME_SPACE           ----当主数据库和备用数据在同一台机上时设为备用数据库的SID 
具体参数的说明请参考oracle在线文档 

6.      设置primary databasestandby databasetnsnames.ora
primary =
 (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = primary_server)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dgtest)
    )
 )

standby =
 (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = standby_server)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dgtest)
    )
 ) 

 

7.      启动standby database
SQL>startup nomount pfile=’d:\oracle\product\initdgtest.ora’

SQL>alter database mount standby database;  

8.      启动primary database
SQL>startup pfile=’d:\oracle\product\initdgtest.ora’
 

9.      启动standby databaserecover manage模式
SQL>alter database recover managed standby database disconnect from session; 
 

Switchover  

primary  

1.      SQL>select switchover_status from v$database
 switchover_status
的值入股是To standby,可以直接switchover,如果是sessions active   
 
则需要在switchover的命令后面加上with session shutdown  

2.      SQL>alter database commit to switchover to physical standby;  

3.      SQL>shutdowm immediate;  

4.      SQL>startup mount;  

standby  

1.      SQL> select switchover_status from v$database  

    switchover_status的值入股是To primary,可以直接switchover,如果是sessions active   
   
则需要在switchover的命令后面加上with session shutdown  

2.      SQL>alter database commit to switchover to primary;  

3.      SQL>shutdown immediate;  

4.      SQL>startup;  

要想顺利的实现switchover,最好在每台server上都同时设置好primarystandby的一些初始化参数,虽然其中一些参数只有在primary或者standby其中之一上起作用 

Failover 

standby

1.      SQL>alter database recover managed standby database finish;
 or SQL>alter database recover managed standby database finish skip standby logfile; 
 

2.      SQL>alter database commit to switchover to primary; 

3.     
SQL>shutdown immediate;  

4.      SQL>startup; 

相关视图  

v$archive_dest 
v$archive_dest_status
v$log_history
v$archvied_log
v$managed_standby
v$archive_gap

常见问题

 1.      日志无法传送
 SQL>select dest_name,status,error from v$archive_dest;
 
察看相应的归档路径的状态是否valid,否则根据error信息进行处理

 2.      无法使用alter database重命名data file
standby上,当设置standby_file_managementauto时,不允许下列操作
alter database rename
alter database add/drop logfile
alter database add/drop standby logfile member
alter database create datafile as

 失败
SQL>alter database commit to switchover to physical standby
ORA-01093:alter database close only permitted with no session connected
察看引起该错误的活动session
SQL>
select sid,process,program from v$session where type='USER' and
    sid<>(select distinct sid from v$mystat);
断开该session,或者使用如下命令来做switchover
SQL>lter database commit to switchover to physical standby with session shutdown;