首页 数据库 mysql教程 Dataguard搭建灾备库操作手册

Dataguard搭建灾备库操作手册

Jun 07, 2016 pm 03:58 PM
搭建 数据库 灾备

数据库:Oracle11gr2 主库 alter database force logging; alter system set db_unique_name='erpdb' scope=spfile; --我们让主库db_name=db_unique_name alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile; alter system set LOG_ARCHIVE

数据库:Oracle11gr2

主库
alter database force logging;
alter system set db_unique_name='erpdb' scope=spfile; --我们让主库db_name=db_unique_name
alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile;
alter system set LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' scope=spfile;
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(erpdb,erpdg)' scope=both;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=erpdb' scope=both;
#alter system set LOG_ARCHIVE_DEST_2='SERVICE=erpdg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=erpdg' scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=10.10.1.251:1601/erpdg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=erpdg' scope=both;
alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=both;
alter system set LOG_ARCHIVE_DEST_STATE_2=defer scope=both;
alter system set LOG_ARCHIVE_MAX_PROCESSES=30 scope=both;

重启库
shutdown immediate;
startup mount
开启归档:
alter database archivelog;
alter database open;

将两边库的监听、tns都配好,能互相tnsping通。
监听
SID_LIST_erpdb =(SID_LIST =(SID_DESC =(ORACLE_HOME= /u01/erpdb/db/tech_st/11.2.0)(SID_NAME = erpdb)))
erpdb =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = erpdb.dji.com)(PORT = 1601))))
SID_LIST_erpdg=(SID_LIST=(SID_DESC=(SID_NAME=erpdg)(ORACLE_HOME=/u01/erpdg/db/tech_st/11.2.0)))
erpdg=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.1.251)(PORT=1601))))
TNS
erpdb=(description =(address = (protocol = tcp)(host =10.10.0.251)(port = 1601))(connect_data = (sid = erpdb)))
erpdg=(description =(address = (protocol = tcp)(host =10.10.1.251)(port = 1601))(connect_data = (sid = erpdg)))

创建主库的密码文件,传送到dg库。或者dg库直接创建密码文件,sys密码与主库一致。
cd $ORACLE_HOME/dbs && orapwd file=orapw$ORACLE_SID password=oracle force=y

cd $ORACLE_HOME/dbs && vi fwy.ora
#
db_name=erpdb
db_unique_name=erpdg
db_create_file_dest='/u01/erpdg/db/apps_st'
diagnostic_dest='/u01/erpdg/db/tech_st/11.2.0/admin/erpdg_erpdg'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(erpdb,erpdg)'
fal_server=erpdb
fal_client=erpdg
#
utl_file_dir='/tmp'
log_buffer=15728640 #15m
pga_aggregate_target=1073741824 #1G
java_pool_size=157286400 #150m
large_pool_size=157286400 #150m
sga_target=0
shared_pool_size=1073741824 #1G
db_cache_size=1073741824 #1G
parallel_max_servers = 8
_b_tree_bitmap_plans=FALSE
_fast_full_scan_enabled=FALSE
O7_DICTIONARY_ACCESSIBILITY=FALSE
_like_with_bind_as_equality=TRUE
_optimizer_autostats_job=FALSE
_sort_elimination_cost_ratio=5
_system_trig_enabled=TRUE
_trace_files_public=true
plsql_code_type='NATIVE'
plsql_optimize_level=2
compatible=11.2.0
cursor_sharing=EXACT
db_block_checking=false
db_block_checksum=true
db_files=5120
dml_locks=30000
log_checkpoint_interval=100000
log_checkpoint_timeout=1200
log_checkpoints_to_alert=TRUE
nls_territory=america
olap_page_pool_size=4194304
optimizer_secure_view_merging=FALSE
parallel_min_servers=0
sec_case_sensitive_logon=false
undo_management=auto
undo_retention=21600 #6小时
undo_tablespace=APPS_UNDOTS1
remote_login_passwordfile=EXCLUSIVE
query_rewrite_enabled=true
db_block_size=8192
db_file_multiblock_read_count=64
db_writer_processes=10
resource_manager_plan=''
_resource_manager_always_on = false
disk_asynch_io=false
open_cursors=7000
recyclebin =off
_system_trig_enabled = true
O7_DICTIONARY_ACCESSIBILITY = false
nls_language = american
nls_territory = america
nls_date_format='DD-MON-RR'
nls_numeric_characters='.,'
nls_sort=binary
nls_comp=binary
nls_length_semantics=BYTE
max_dump_file_size=51200
timed_statistics = true
processes=3000
sessions = 6000
aq_tm_processes = 2
job_queue_processes = 30
_sqlexec_progression_cost = 2147483647
workarea_size_policy = AUTO
olap_page_pool_size = 4194304
optimizer_mode =FIRST_ROWS
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
STANDBY_FILE_MANAGEMENT = auto

备库启动到nomount状态
sqlplus '/as sysdba' startup nomount pfile=?/dbs/fwy.ora
EOF

源端利用11g的duplicate from active技术
源端
rman target sys/oracle auxiliary sys/oracle@erpdg
DUPLICATE TARGET DATABASE for standby FROM ACTIVE DATABASE;

duplicate完毕后,备库:
create spfile='?/dbs/fwy2.ora' from memory;
cd $ORACLE_HOME/dbs && cp fwy2.ora spfile${ORACLE_SID}.ora

备库增加日志组,执行4次增加4组。
alter database add standby logfile size 50m;

主库开启传送日志
alter system set LOG_ARCHIVE_DEST_STATE_2=enable scope=both;

先不要open库,就算open也失败,因为此时可能数据文件不一致。所以,我们先recover一会儿,让其recover到一致状态。
alter database recover managed standby database using current logfile disconnect from session parallel 8;

一会儿后,停掉MRP进程:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
然后可以开启open read only模式了。
alter database open read only;
alter database recover managed standby database using current logfile disconnect from session parallel 8;

观察mrp进程是否正常工作。
select PROCESS,STATUS,CLIENT_PROCESS,GROUP#,THREAD#,SEQUENCE# , BLOCK# from v$managed_standby where process='MRP0';

--比较主库备库的应用日志最大时间
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
col max(first_time) for a30
select max(first_time) from v$log_history;

--对于主库就是写完了的最大日志,对于备库,就是应用完了的最大日志。
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select max(sequence#) from v$log_history where resetlogs_time>=( select max(resetlogs_time ) from v$log_history) ;


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Go语言如何实现数据库的增删改查操作? Go语言如何实现数据库的增删改查操作? Mar 27, 2024 pm 09:39 PM

Go语言是一种高效、简洁且易于学习的编程语言,因其在并发编程和网络编程方面的优势而备受开发者青睐。在实际开发中,数据库操作是不可或缺的一部分,本文将介绍如何使用Go语言实现数据库的增删改查操作。在Go语言中,我们通常使用第三方库来操作数据库,比如常用的sql包、gorm等。这里以sql包为例介绍如何实现数据库的增删改查操作。假设我们使用的是MySQL数据库。

Hibernate 如何实现多态映射? Hibernate 如何实现多态映射? Apr 17, 2024 pm 12:09 PM

Hibernate多态映射可映射继承类到数据库,提供以下映射类型:joined-subclass:为子类创建单独表,包含父类所有列。table-per-class:为子类创建单独表,仅包含子类特有列。union-subclass:类似joined-subclass,但父类表联合所有子类列。

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

深入解析HTML如何读取数据库 深入解析HTML如何读取数据库 Apr 09, 2024 pm 12:36 PM

HTML无法直接读取数据库,但可以通过JavaScript和AJAX实现。其步骤包括建立数据库连接、发送查询、处理响应和更新页面。本文提供了利用JavaScript、AJAX和PHP来从MySQL数据库读取数据的实战示例,展示了如何在HTML页面中动态显示查询结果。该示例使用XMLHttpRequest建立数据库连接,发送查询并处理响应,从而将数据填充到页面元素中,实现了HTML读取数据库的功能。

MySQL数据库管理系统的基本原理解析 MySQL数据库管理系统的基本原理解析 Mar 25, 2024 pm 12:42 PM

MySQL数据库管理系统的基本原理解析MySQL是一种常用的关系型数据库管理系统,它通过结构化查询语言(SQL)来进行数据存储和管理。本文将介绍MySQL数据库管理系统的基本原理,包括数据库的创建、数据表的设计、数据的增删改查等操作,并提供具体的代码示例。一、数据库的创建在MySQL中,首先需要创建一个数据库实例来存储数据。通过以下代码可以创建一个名为"my

账号矩阵怎么搭建?矩阵搭建有哪些作用? 账号矩阵怎么搭建?矩阵搭建有哪些作用? Mar 23, 2024 pm 06:46 PM

在当下信息充斥的时代,社交媒体平台已经成为人们获取和分享信息的主要途径。对于个人和企业而言,建立一个有效的账号网络以实现信息的最大传播和提升影响力,已成为亟需解决的挑战。一、账号矩阵怎么搭建?1.明确目标人群在构建账号矩阵之前,关键是明确目标受众,深入了解他们的需求、兴趣和消费习惯,这样才能制定更具针对性的内容策略。2.选择合适的平台根据目标人群的特点,选择适合的社交媒体平台进行布局。目前主流的社交媒体平台有微博、微信、抖音、快手等,每个平台都有其独特的用户群体和传播特点,需要根据实际情况进行选

如何在PHP中处理数据库连接错误 如何在PHP中处理数据库连接错误 Jun 05, 2024 pm 02:16 PM

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

See all articles