IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle 11G dataguard单机部署(Windows-->Linux) -> 正文阅读

[大数据]Oracle 11G dataguard单机部署(Windows-->Linux)

dataguard部署环境如下:

主库备库
IP: 192.168.80.222IP:192.168.80.130
OS:WindowsOS:Linux
instance_name:windbinstance_name:windg
data_file_directory:D:\ORADATA\WINDBdata_file_directory:/oradatadg/windg
  1. 主端设置force logging
    select name,log_mode,force_logging from gv$database;
    显示NO未开启,需要开启:
    alter database force logging;
    显示yes开启成功

  2. 主端要在归档模式,不是则开启归档
    shutdown immediate
    startup mount
    将数据库更改为归档模式:
    alter database archivelog;
    再次查看是否开启成功:
    archive log list;

  3. 主端配置参数
    ALTER SYSTEM SET LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(WINDB,WINDG)’;

    主库归档目的地:
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=‘LOCATION=D:\arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WINDB’;

    传输到备端归档目的地:
    ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=‘SERVICE=WINDG LGWR ASYNC REOPEN NET_TIMEOUT=300 VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=WINDG’;

    允许redo传输数据到目的地,默认enable:
    alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
    alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;

    设置备库文件自动管理:
    ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

    设置FAL_SERVER为备库名:(主备库切换的时候会用到这个参数)
    ALTER SYSTEM SET FAL_SERVER=‘WINDG’;

    以下参数修改需要重启数据库,如果主库不能重启备库必须设置:
    alter system set DB_FILE_NAME_CONVERT = ‘D:\ORADATA\WINDB’,’/oradatadg/windg/’ scope=spfile;
    alter system set LOG_FILE_NAME_CONVERT = ‘D:\ORADATA\WINDB’,’/oradatadg/windg/’ scope=spfile;
    注意:对方路径在前,自己路径在后。
    DB_FILE_NAME_CONVERT参数的作用是转换主库和备库的数据文件路径。
    LOG_FILE_NAME_CONVERT参数的作用是转换主库和备库的redo日志文件的路径。

  4. 主端创建standby redolog
    对于11g此步骤可以在主端备份数据库之前创建standby redolog,在备端执行alter database mount后会在备端自动创建standby redolog。
    查看当前redo日志组:
    select GROUP#,MEMBER from v$logfile;

    创建standby redolog:
    standby日志的大小至少必须与redo日志一样大,standby日志的数量至少比当前redo日志多一个日志组。
    alter database add standby logfile thread 1 group 4 (‘D:\ORADATA\WINDB\standby_redo04.log’) size 200M;
    alter database add standby logfile thread 1 group 5 (‘D:\ORADATA\WINDB\standby_redo05.log’) size 200M;
    alter database add standby logfile thread 1 group 6 (‘D:\ORADATA\WINDB\standby_redo06.log’) size 200M;
    alter database add standby logfile thread 1 group 7 (‘D:\ORADATA\WINDB\standby_redo07.log’) size 200M;

  5. 主端配置listener.ora和tnsnames.ora文件:
    D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = orcl)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_home)
    (SID_NAME = orcl)
    )
    )

    LISTENER =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.128)(PORT = 1521))
    )

    D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
    WINDG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 备库的ip )(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = orcl) (UR=A)
    )
    )

    (UR=A)作用当备端数据库nomount,mount或者restricted时,动态监听显示状态为BLOCKED时,主端可通过配置UR=A进行连接。

  6. 备端配置listener.ora和tnsnames.ora文件:
    vim $ORACLE_HOME/network/admin/listener.ora
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = windg)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_home)
    (SID_NAME = windg)
    )
    )

    LISTENER =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.130)(PORT = 1521))
    )

    vim $ORACLE_HOME/network/admin/tnsnames.ora
    WINDB =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 主库ip )(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = windb)
    )
    )

    主备端配置完监听需重启:
    lsnrctl stop
    lsnrctl start
    主备端测试监听配置:
    tnsping WINDB
    tnsping WINDG

  7. 主端生成pfile
    create pfile=‘D:\backup\windb.ora’ from spfile;

  8. 备份数据库
    run {
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    allocate channel c3 type disk;
    backup incremental level 0 format ‘D:\backup\windb_full_%U’ database;
    backup format ‘D:\backup\windb_full_stanctf_%U’ current controlfile for standby;
    release channel c1;
    release channel c2;
    release channel c3;
    }

  9. 把主端的参数文件、密码文件和备份文件传输到备库

  10. 备库修改参数文件
    *.audit_file_dest=’/u01/app/oracle/admin/windg/adump’
    *.control_files=’/oradatadg/windg/control01.ctl’,’/oradatadg/windg/control02.ctl’
    *.db_file_name_convert=‘D:\ORADATA\WINDB’,’/oradatadg/windg/’
    *.log_file_name_convert=‘D:\ORADATA\WINDB’,’/oradatadg/windg/’
    *.diagnostic_dest=’/u01/app/oracle’
    *.fal_server=‘WINDB’
    *.db_unique_name=‘WINDG’
    *.log_archive_dest_1=‘LOCATION=/arch/windg VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=WINDG’
    *.log_archive_dest_2=‘SERVICE=WINDB LGWR ASYNC REOPEN NET_TIMEOUT=300 VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=WINDB’

  11. 备端创建所需路径
    mkdir -p /u01/app/oracle/admin/windg/adump
    mkdir -p /arch/windg
    mkdir -p /oradatadg/windg

  12. 备端恢复数据库
    生成spfile,再启动到nomount:
    create spfile from pfile=’/tmp/dgbak/windb.ora’;
    startup nomount;

    测试主备间的连通性:
    主端测试:
    connect sys/admin@windg AS SYSDBA
    备端测试:
    connect sys/admin@windb AS SYSDBA

    恢复控制文件:
    restore standby controlfile from ‘/tmp/dgbak/WINDB_FULL_STANCTF_05VRRQB3_1_1’;

    恢复数据文件:
    alter database mount;
    catalog start with ‘/tmp/dgbak/’;
    run {
    allocate channel d1 type disk;
    allocate channel d2 type disk;
    allocate channel d3 type disk;
    restore database;
    recover database;
    release channel d1;
    release channel d2;
    release channel d3;
    }

  13. 备端同步主库的归档日志
    alter database recover managed standby database using current logfile disconnect from session;
    SELECT PROCESS,STATUS,THREAD#,SEQUENCE#,BLOCK#,BLOCKS,DELAY_MINS FROM V$MANAGED_STANDBY;

    关闭介质恢复:
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
    只读模式打开数据库:
    ALTER DATABASE OPEN READ ONLY;

  14. 查询同步
    主:
    select max(sequence#),thread# from vKaTeX parse error: Expected 'EOF', got '#' at position 36: …ESETLOGS_CHANGE#? = (SELECT RESE…DATABASE_INCARNATION WHERE STATUS = ‘CURRENT’) GROUP BY THREAD#;

    备:
    select max(sequence#),thread# from vKaTeX parse error: Expected 'EOF', got '#' at position 55: …ESETLOGS_CHANGE#? = (SELECT RESE…DATABASE_INCARNATION WHERE STATUS = ‘CURRENT’) GROUP BY THREAD#;

    查看同步是否存在错误:
    select error from v$archive_dest where target=‘STANDBY’;

    查看备端归档是否成功应用:
    SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:18:09  更:2022-04-04 12:22:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:52:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码