10G物理备库搭建文档(根据官方文档修改)

2024-04-18 02:18

本文主要是介绍10G物理备库搭建文档(根据官方文档修改),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主要步骤:
This document includes the following tasks:
•  Task 1: Gather Files and Perform. Back Up
•  Task 2: Configure Oracle Net on the Physical Standby
•  Task 3: Create the Physical Standby Instance and Database
•  Task 4: Configure the Primary Database for Data Guard
•  Task 5: Verify Data Guard Configuration
This document assumes that the following conditions are met:
•  The primary RAC database is using ASM.
•  The standby host has an existing Oracle software installation.
•  The physical standby database storage uses an existing ASM instance.
•  The primary and standby databases are using a flash recovery area.
•  Oracle Managed Files (OMF) is used for all storage.
主库操作:CHICAGO
TASK 1: GATHER FILES AND PERFORM. BACK UP
1.  On the primary node, create a staging directory. For example:
[oracle@chicago_host1 oracle]$ mkdir -p /opt/oracle/stage 
 
2.  Create the same exact path on the standby host:
[ oracle@boston_host1 oracle]$ mkdir -p /opt/oracle/stage
 
3.  On the primary node, connect to th e primary database and create a PFILE
from the SPFILE in the staging directory. For example:
SQL> CREATE PFILE='/opt/oracle/stage/initCHICAGO.ora' FROM SPFILE;
 
4.  On the primary node, perform. an RMAN backup of the primary database
that places the backup pieces into the staging directory. For example:
[oracle@chicago_host1 stage]$ rman target /
RMAN> BACKUP DEVICE TYPE DISK FORMAT '/opt/oracle/stage/%U' DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP DEVICE TYPE DISK FORMAT '/opt/oracle/stage/%U' CURRENT CONTROLFILE FOR STANDBY;
也可以使用下面的 备份脚本。
run{
sql "alter system switch logfile";
allocate channel ch1 type disk format '/oracle/backup/primary_for_dg_%U';
backup database;
backup current controlfile for standby;
sql "alter system archive log current";
}
5.  Place a copy of the listener.ora, tnsn ames.ora, and sqlnet.ora files into the
staging directory. For example:
[oracle@chicago_host1 oracle]$ cp $ORACLE_HOME/network/admin/*.ora /opt/oracle/stage
 
6.  Copy the contents of the staging  directory on the RAC node to the staging
directory on the standby host. For example:
[oracle@chicago_host1 oracle]$ scp /opt/oracle/stage/* oracle@boston_host1:/opt/oracle/stage

备库操作
TASK 2: CONFIGURE ORACLE NET SERVICES ON THE STANDBY
1.  Copy the listener.ora, tnsnames.ora, and sqlnet.ora files from the staging directory on the standby host to  the $ORACLE_HOME/network/admin directory on the standby host.
2.  Modify the listener.ora file on the standby host to contain the hostname of the standby host.
实例:
LISTENER_RACDG =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.58.250)(PORT = 1521)(IP = FIRST))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1 )
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = racdg)   ----这里比较重要,如果设置了 db_unique_name的话一定要同名设置
      (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
      (SID_NAME = racdg)
    )
  )

3.  Modify the tnsnames.ora file on each node, including the primary RAC nodes and standby host, to contain all primary and standby net service names. In this example, each tnsnames.ora file should contain all three of the net service names in the following table:
Primary Net Service Names  Standby Net Service Name
 
CHICAGO1_SERV =
 (DESCRIPTION =
  (ADDRESS = 
   (PROTOCOL = TCP)
   (HOST = chicago_host1vip)
   (PORT = 1521))
  (CONNECT_DATA =
    ( SERVER = DEDICATED)
    (SERVICE_NAME = CHICAGO)
    (INSTANCE_NAME = CHICAGO1)
  )
 )  
BOSTON =
 (DESCRIPTION =
  (ADDRESS = 
   (PROTOCOL = TCP)
   (HOST = boston_host1) 可以用IP代替
   (PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = BOSTON)
  )
 )    

CHICAGO2_SERV =
 (DESCRIPTION =
  (ADDRESS = 
   (PROTOCOL = TCP)
   (HOST = chicago_host2vip)
   (PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = CHICAGO)
    (INSTANCE_NAME = CHICAGO2)
  )
 )  
 
实例:
RACDG =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.58.250)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = racdg)
    )
  )

TASK 3: CREATE THE PHYSICAL STANDBY INSTANCE AND DATABASE
1.  To enable secure transmission of redo data, make sure the primary and
physical standby databases use a password file, and make sure the
password for the  SYS  user is identical on every system. For example:
$ cd $ORACLE_HOME/dbs   ---目录很重要
$ orapwd file=orapwBOSTON password=oracle
 
The naming and location of the password file varies on different
platforms. See  “Creating and Maintaining a Password File”  in the  Oracle
Database Administrator’s Guide for more information.
2.  Copy and rename the primary database PFILE from the staging area on
the standby host to the $ORACLE_HOME/dbs directory on the standby
host. For example:
[oracle@boston_host1 stage]$ cp initCHICAGO.ora $ORACLE_HOME/dbs/initBOSTON.ora
 
3.  Modify the standby initialization parameter file copied from the primary
node to remove RAC parameters and to include Data Guard parameters as illustrated in the following table:
Creating a Single Instance Phys ical  Standb
初始化参数 
 

RAC参数 
之前:
*.cluster_database=true
*.db_unique_name=CHICAGO
CHICAGO1.instance_name=CHICAGO1
CHICAGO2.instance_name=CHICAGO2
CHICAGO1.instance_number=1
CHICAGO2.instance_number=2
CHICAGO1.thread=1
CHICAGO2.thread=2
CHICAGO1.undo_tablespace=UNDOTBS1
CHICAGO2.undo_tablespace=UNDOTBS2
*.remote_listener=LISTENERS_CHICAGO  
CHICAGO1.LOCAL_LISTENER=LISTENER_CHICAGO_HOST1
CHICAGO2.LOCAL_LISTENER=LISTENER_CHICAGO_HOST2  *.cluster_database=false
之后:
*.db_unique_name=BOSTON
*.instance_name=BOSTON
*.thread=1
*.undo_tablespace=UNDOTBS1

Dataguard参数  
*.log_archive_config='dg_config=
    (BOSTON,CHICAGO)'
*.log_ archive_ dest_ 2='service=CHICAGO1_ SERV   
    valid_for=(online_logfiles,primary_role) 
    db_unique_name=CHICAGO'
*.db_file_name_convert='+DATA/CHICAGO/',
    '+DATA/BOSTON/','+RECOVERY/CHICAGO', '+RECOVERY/BOSTON'
*.log_file_name_convert='+DATA/CHICAGO/',
    '+DATA/BOSTON/','+RECOVERY/CHICAGO', '+RECOVERY/BOSTON'
*.standby_file_management=auto
*.fal_server='CHICAGO1_SERV','CHICAGO2_SERV'
*.fal_client='BOSTON'
*.service_names='BOSTON'   

其他参数
之前: 
*.background_dump_dest= 
    /opt/oracle/admin/CHICAGO/bdump
*.core_dump_dest=
    /opt/oracle/admin/CHICAGO/cdump
*.user_dump_dest=
    /opt/oracle/admin/CHICAGO/udump
*.audit_file_dest=
    /opt/oracle/admin/CHICAGO/adump
*.db_recovery_dest=’+RECOVERY’
*.log_archive_dest_1 ='LOCATION=+DATA/CHICAGO/'
*.dispatchers=CHICAGOXDB 
 
之后:
*.background_dump_dest= 
    /opt/oracle/admin/BOSTON/bdump
*.core_dump_dest=
    /opt/oracle/admin/BOSTON/cdump
*.user_dump_dest=
    /opt/oracle/admin/BOSTON/udump
*.audit_file_dest=
    /opt/oracle/admin/BOSTON/adump
*.db_recovery_dest=’+RECOVERY’
*.log_archive_dest_1=
    'LOCATION=USE_DB_RECOVERY_FILE_DEST'
*.dispatchers=BOSTONXDB  
 
         For more information about these initialization parameters, see Chapter 13, “Initialization Parameters” in  Oracle Data Guard Concepts and Administration manual.
     If you are using an SPFILE instead of an initialization parameter file, then see the  “Managing Initialization Parameters Using a Server Parameter File” section in the  Oracle Database Administrator’s Guide for instructions on managing an SPFILE.

4.  Connect to the ASM instance on the standby host, and create a directory within the DATA disk group that has the same name as the DB_UNIQUE_NAME of the physical standby database. For example:
SQL> ALTER DISKGROUP data ADD DIRECTORY '+DATA/BOSTON';
 
5.  Connect to the physical standby database, with the standby in the IDLE
state, and create an SPFILE in  the standby DATA disk group:
SQL> CREATE SPFILE='+DATA/BOSTON/spfileBOSTON.ora' FROM PFILE='?/dbs/initBOSTON.ora';
 
6.  In the $ORACLE_HOME/dbs direct ory on the standby host, create a PFILE that is named init oracle_sid.ora that contains a pointer to the SPFILE. For example:
[oracle@boston_host1 oracle]$ cd $ORACLE_HOME/dbs
[oracle@boston_host1 dbs]$ echo "SPFILE='+DATA/BOSTON/spfileBOSTON.ora'" > initBOSTON.ora
 
7.  Create the dump directories on the standby host as referenced in the standby initialization parameter file. For example:
[oracle@boston_host1 oracle]$ mkdir -p $ORACLE_BASE/admin/BOSTON/bdump
[oracle@boston_host1 oracle]$ mkdir -p $ORACLE_BASE/admin/BOSTON/cdump
[oracle@boston_host1 oracle]$ mkdir -p $ORACLE_BASE/admin/BOSTON/udump
[oracle@boston_host1 oracle]$ mkdir -p $ORACLE_BASE/admin/BOSTON/adump
 
8.  After setting up the appropriate environment variables on the standby host, such as ORACLE_SID, ORACLE_HOME, and PATH, start the physical standby database instance without mounting the control file.
SQL> STARTUP NOMOUNT
 
9.  From the standby host, duplicate th e primary database as a standby into the ASM disk group. For example:
$ rman target sys/oracle@CHICAGO1_SERV auxiliary /
RMAN> DUPLICATE TARGET DATABASE FOR STANDBY;
 
10.  Connect to the physical standby database, and create the standby redo logs to support the standby role. The standby redo logs must be the same size as the primary database online logs.  The recommended number of standby redo logs is: 
(maximum # of logfiles +1) * maximum # of threads
 
This example uses two online log files for each thread. Thus, the number of standby redo logs should be (2 + 1) * 2 = 6. That is, one more standby redo log file for each thread.
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 
GROUP 5 SIZE 10M,
GROUP 6 SIZE 10M,
GROUP 7 SIZE 10M;
 
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 
GROUP 8 SIZE 10M,
GROUP 9 SIZE 10M,
GROUP 10 SIZE 10M;
These statements create two standb y log members for each group, and each member is 10MB in size. One member is created in the directory specified by the DB_CREATE_FILE_DEST initialization parameter, and the other member is created in the directory specified by DB_RECOVERY_FILE_DEST initialization parameter. Because this example assumes that there are two redo log groups in two threads, the next group is group five.
You can check the number and group numbers of the redo logs by querying the V$LOG view:
SQL> SELECT * FROM V$LOG;
SQL> SELECT * FROM V$STANDBY_LOG;
SQL> SELECT * FROM V$LOGFILE;
11.  Start managed recovery and real-time apply on the standby database:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

TASK 4: CONFIGURE THE PRIMARY DATABASE FOR DATA GUARD
1.  Configure the primary database initialization parameters to support both the primary and standby roles.
*.log_archive_config='dg_config=(BOSTON,CHICAGO)'
*.log_archive_dest_2='service=BOSTON valid_for=(online_logfiles,primary_role) db_unique_name=BOSTON'
*.db_file_name_convert='+DATA/BOSTON/','+DATA/CHICAGO/', '+RECOVERY/BOSTON','+RECOVERY/CHICAGO'
*.log_file_name_convert='+DATA/BOSTON/','+DATA/CHICAGO/', '+RECOVERY/BOSTON','+RECOVERY/CHICAGO'
*.standby_file_management=auto
*.fal_server='BOSTON'
CHICAGO1.fal_client='CHICAGO1_SERV'
CHICAGO2.fal_client='CHICAGO2_SERV'
*.service_names=CHICAGO
For more information about these initialization parameters, see Chapter 13, “Initialization Parameters” in  the  Oracle Data Guard Concepts and Administration manual. 
If you are using an SPFILE instead of an initialization parameter file, then see the  “Managing Initialization Parameters Using a Server Parameter File” section in the  Oracle Database Administrator’s Guide for instructions on managing an SPFILE.  
Note that all the parameters listed above can be dynamically modified with the exception of the standby role pa rameters log_file_name_convert and db_file_name_convert.  It is recomme nded to set the parameters with “scope=spfile” so that they can be put into effect upon the next role change.
2.  Create standby redo logs on the primary database to support the standby role. The standby redo logs are the same size as the primary database online logs. The recommended number of standby redo  logs is one more than the number of online redo logs for each thread. Because this example has two online redo logs for each thread, three standby re do logs are required for each thread. (可选)
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 
GROUP 5 SIZE 10M,
GROUP 6 SIZE 10M,
GROUP 7 SIZE 10M;
 
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 
GROUP 8 SIZE 10M,
GROUP 9 SIZE 10M,
GROUP 10 SIZE 10M;
 
These statements create two standb y log members for each group, and each member is 10MB in size. One member is created in the directory specified by the DB_CREATE_FILE_DEST initialization parameter, and the other member is created in the directory specified by DB_RECOVERY_FILE_DEST initialization parameter. Because this example assumes that there are two redo log groups in two threads, the next group is group five. You can check the number and group numbers of the redo logs by querying the V$LOG view:
SQL> SELECT * FROM V$LOG;
 
SQL> SELECT * FROM V$STANDBY_LOG;
 
SQL> SELECT * FROM V$LOGFILE;
 
See the “Configure a Standby Redo Log” section in  Oracle Data Guard Concepts and Administration  manual for more information.
TASK 5: VERIFY DATA GUARD CONFIGURATION
1.  On the physical standby database, query the V$ARCHIVED_LOG  view to identify existing files in the ar chived redo log. For example: 
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
 
2.  On the primary database, issue the following SQL statement to force a log switch and archive the current online redo log file group: 
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
 
3.  On the physical standby database, query the V$ARCHIVED_LOG  view to verify that the redo data was r eceived and archived on the standby database: 
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

这篇关于10G物理备库搭建文档(根据官方文档修改)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913505

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与