oracle数据库切换教程,oracle 11gR2 物理备用数据库搭建及切换
在同一台机器上搭建物理备用数据库的步骤,linux环境 oracle 11.2.0.1 主库:orcl 备库:stby 1 检查侦听是否启动 2 配置主备数据库的初始化参数文件 sqlplus /as sysdba create pfile='/home/oracle/initprim.ora' from spfile; cp /home/oracle/initprim.o
在同一台机器上搭建物理备用数据库的步骤,linux环境 oracle 11.2.0.1
主库:orcl
备库:stby
1 检查侦听是否启动
2 配置主备数据库的初始化参数文件
sqlplus "/as sysdba"
create pfile='/home/oracle/initprim.ora' from spfile;
cp /home/oracle/initprim.ora /home/oracle/initstby.ora
vi /home/oracle/initprim.ora
orcl.__db_cache_size=104857600
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=155189248
orcl.__sga_target=268435456
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=142606336
orcl.__streams_pool_size=4194304
*.audit_file_dest='/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/oradata/orcl/control01.ctl','/oradata/flash_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/oradata/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=422576128
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.fal_client='prim'
*.fal_server='stby'
*.standby_file_management=auto
*.log_archive_dest_1='location=/oradata/arch/orcl valid_for=(all_logfiles,all_roles) db_unique_name=prim'
*.log_archive_dest_2='service=stby valid_for=(online_logfiles,primary_role) db_unique_name=stby'
*.DB_UNIQUE_NAME=prim
*.log_archive_config='dg_config=(prim,stby)'
编辑备库的参数文件
vi /home/oracle/initstby.ora
stby.__db_cache_size=104857600
stby.__java_pool_size=4194304
stby.__large_pool_size=4194304
stby.__oracle_base='/oracle'#ORACLE_BASE set from environment
stby.__pga_aggregate_target=155189248
stby.__sga_target=268435456
stby.__shared_io_pool_size=0
stby.__shared_pool_size=142606336
stby.__streams_pool_size=4194304
*.audit_file_dest='/oracle/admin/stby/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/oradata/stby/control01.ctl','/oradata/flash_recovery_area/stby/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl' #
*.db_recovery_file_dest='/oradata/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=stbyXDB)'
*.memory_target=622576128
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.DB_FILE_NAME_CONVERT='/oradata/orcl','/oradata/stby'
*.LOG_FILE_NAME_CONVERT='/oradata/orcl','/oradata/stby'
*.fal_client='stby'
*.fal_server='prim'
*.standby_file_management=auto
*.log_archive_dest_1='location=/oradata/arch/stby valid_for=(all_logfiles,all_roles) db_unique_name=stby'
*.log_archive_dest_2='service=prim valid_for=(online_logfiles,primary_role) db_unique_name=prim'
*.DB_UNIQUE_NAME='stby'
*.log_archive_config='dg_config=(prim,stby)'
备份主库
rman target /
backup database format '/u01/oradata/dbfull%U';
创建备库控制文件
export ORACLE_SID=orcl
sqlplus "/as sysdba"
alter database create standby controlfile as '/oradata/stby/stbycontrol.ctl';
cp /oradata/stby/stbycontrol.ctl /oradata/stby/control01.ctl
cp /oradata/stby/stbycontrol.ctl /oradata/flash_recovery_area/stby/control02.ctl
处理备库
export ORACLE_SID=stby
orapwd file=/oracle/product/11.2.0/db_1/dbs/orapwstby password=oracle entries=5 ignorecase=y #一定要加ignorecase=y 要不然归档传不到备用库上
sqlplus "/as sysdba"
startup nomount
alter database mount;
rman target /
restore database;
重启主库
export ORACLE_SID=orcl
sqlplus "/as sysdba"
shutdown immediate
startup pfile='/home/oracle/initprim.ora'
配置tnsnames.ora(因为在同一台机器上,所以就改这一个文件)
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
(SERVER = DEDICATED)
)
)
stby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = stby)
(SERVER = DEDICATED)
)
)
将备库置于接收归档日志状态
export ORACLE_SID=stby
sqlplus "/as sysdba"
alter database recover managed standby database disconnect from session;
过一会儿检查是否收到日志
export ORACLE_SID=orcl
sqlplus "/as sysdba"
select max(sequence#) from v$archived_log; --查看归档日志序列号
alter system switch logfile;
alter system switch logfile;
export ORACLE_SID=stby
sqlplus "/as sysdba"
select sequence#,applied from v$archived_log order by 1; --查看归档日志序列号
主备库角色切换
角色切换
步骤1:验证主库能否进行角色切换,TO STANDBY表示可以进行
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO STANDBY
步骤2:在主库上执行角色切换到从库角色
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
步骤3:关闭并重新启动之前的主库实例
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT
步骤4:在备库的V$DATABASE视图中查看备库的切换状态
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO_PRIMARY
步骤5:切换备库到主库角色
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
步骤6:完成备库到主库的切换
1. 如果备库没有以只读模式打开,直接执行以下语句打开到新的主库。
SQL> ALTER DATABASE OPEN;
2. 如果备库以只读模式打开,先关闭数据,然后再重新启动。
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
步骤7:如果有必要,重新启动一下新的备库上的重做日志应用服务
SQL> alter database recover managed standby database disconnect from session;
(注:可以通过select message from v$dataguard_status;查看当前备库应用重做日志的状态)
步骤8:开始发送重做数据到备库上
Issue the following statement on the new primary database:
SQL> ALTER SYSTEM SWITCH LOGFILE;
备注:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
如果有缺失的归档日志文件,手工考背后,在备库上:
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
FORCE 关键词终止目标物理备数据库上活动的RFS 进程,使得故障转移能不用等待网络连接超时而立即进行。
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE; ,
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
oracle数据库切换教程,oracle 11gR2 物理备用数据库搭建及切换相关推荐
- oracle12c数据库基础教程,Oracle 12C 数据库基础教程
章 Oracle 12c简介 1 1.1 Oracle 12c简介 1 1.2 Oracle 12c产品系列 2 1.3 Oracle 12c新特性 2 1.3.1 插接式数据库PDB 2 1.3.2 ...
- oracle自动备份教程,Oracle数据库自动备份脚本分享(超实用)
前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC ...
- oracle重做日志教程,Oracle教程:重做日志文件基本维护
重做日志文件最重要的用途就是用来恢复数据(其实你也可以用来logminer),它记录着system global area(sga)当中的database bu 重做日志文件最重要的用途就是用来恢复数 ...
- oracle归档模式教程,Oracle从归档模式变成非归档模式详细步骤
更改Oracle数据库的非归档模式需要重新启动数据库,在mount模式下修改,简要步骤1 以shutdown immediate方式关闭数据库2 启动实 Oracle从归档模式变成非归档模式详细步骤 ...
- linux安装oracle tar,在linux as4上用tar方式安装oracle 10g步骤教程-Oracle
今天在linux as4上用tar方式安装oracle 10g,下面简单那记录步骤及安装过程中出现的问题. 原数据库所在服务器信息: [oracle@haoc2008 data]$ more /etc ...
- MySQL数据库实用教程考核_《MySQL数据库实用教程》郑明秋,蒙连超,赵海侠【pdf】...
内容简介 郑明秋.蒙连超.赵海侠主编的<MySQL数据库实用教程>是作者在多年的数据库开发实践与教学经验的基础上,根据计算机相关专业的职业岗位能力需求及学生的认知规律倾心组织编写的.本教材 ...
- mysql数据库入门教程(1):数据库的相关概念,存储特点,软件安装教程,数据库启动,服务端登录退出
1为什么使用数据库 使用 内存(数组,集合)存储数据,一断电容易消失数据. 使用文件存储数据,断电不消失.但存储大量数据时难以查找. 数据库:能实现数据持久化,方便查询 2数据库相关概念 DB(dat ...
- 【详细】Oracle数据库安装教程--Oracle DataBase 19c
目录 前言/背景 1.下载Oracle 19c数据库 1. Oracle官网下载 2. 网盘下载 3. 安装及使用 2.Oracle管理工具 前言/背景 Oracle Database 19c 是最新 ...
- oracle重做日志教程,Oracle重做日志管理
Oracle重做日志操作是为了记录数据的改变,提供数据库的恢复,下面就为您介绍重做日志的运行流程,希望对您能够有所帮助. 一.ORACLE引入重做日志目的:记录数据的改变,提供数据库的恢复. 1.日志 ...
最新文章
- Java基础概念(一)
- Android判断应用是否拥有某种权限
- python for
- 宏转录组方法_高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)...
- std::atomic和std::mutex区别
- android 仿携程选择城市,类似携程商旅的城市选择器 CityPicker
- python networkx使用案例_在有向图networkx的大型网络实例上,什么是最快的迭代?...
- 两年质保,只此一加!一加9系列推出两年质保
- 【Spring】Failed to load ApplicationContext Neither GenericXmlContextLoader nor AnnotationConfigCont
- 5-顺序表查找及插入问题
- Android开发笔记(九十四)图片的基本加工
- [网络流24题]孤岛营救问题
- 用PWA构建一个完全离线的网站
- codevs——1230 元素查找
- java中连接字符串_Java中几种方式连接字符串的方法
- 如何用atom编辑python_对于新手来说 如何用atom搭建python的ide?
- 计算机逆向工程专业,计算机软件反向工程的合法性研究
- HTML5之横向二三级,纵向三级导航栏
- ASP.NET 即时通信,WebSocket服务端实例
- 浏览器主页被劫持篡改了怎么办