dg实时同步 oracle_oracle dg实时同步 - CSDN
精华内容
参与话题
  • 1 说明 Data Guard maximum availability supports the use of the NOAFFIRM redo transport attribute. A standby database returns receipt acknowledgment to its primary database as soon as redo is received ...

    1 说明
    Data Guard maximum availability supports the use of the NOAFFIRM redo transport attribute. A standby database returns receipt acknowledgment to its primary database as soon as redo is received in memory. The standby database does not wait for the Remote File Server (RFS) to write to a standby redo log file.
    DG最大可用支持NOAFFIRM redo传输属性,备库只要接收的redo存到内存中时,就会向主库返回接收确认。就不需要RFS进程写入到redo log文件中了。

    This feature provides increased primary database performance in Data Guard configurations using maximum availability and SYNC redo transport. Fast Sync isolates the primary database in a maximum availability configuration from any performance impact due to slow I/O at a standby database.

    Fast Sync会使处于最大可用的主库不会受到备库上的I/O的影响。不需要牺牲太大的性能来提升数据的安全性。这个特性引入,正常情况是足以满足需求了。除非特殊的灾难情况才会造成数据丢失,例如:主库故障后,传输的数据在备库的内存中,还没来得及写入日志文件中,备库也被重启了或者断电了,就会造成数据的丢失(数据不一致)。

    关于最大可用,参考官方文档:http://docs.oracle.com/database/121/SBYDB/protection.htm#SBYDB4743

    When a transport is performed using SYNC/NOAFFIRM, the primary performs write operations and waits only for acknowledgement that the data has been received on the standby, not that it has been written to disk. The SYNC/NOAFFIRM transport can provide a performance benefit at the expense of potential exposure to data loss in a special case of multiple simultaneous failures.

    用丢失数据的可能性来换性能的提升。 可根据业务和数据的情况,来自行选择。

    下表,各种保护模式的Redo传输属性

    Maximum Availability Maximum Performance Maximum Protection
    AFFIRM or NOAFFIRM NOAFFIRM AFFIRM
    SYNC ASYNC SYNC
    DB_UNIQUE_NAME DB_UNIQUE_NAME DB_UNIQUE_NAME

    语法:

    ALTER SYSTEM SET log_archive_dest_2='SERVICE=DG SYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DG_P';
    
    ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
    
    展开全文
  • 使用sys用户登录备库数据库,查看数据库状态 ...针对RAC环境的dg环境,RFS和MRP是只存在一个节点中的。 如果登录一个节点发现没有这两个进程,要在另一个节点上再次验证。 查看备库数据库同步情况: select threa

    使用sys用户登录备库数据库,查看数据库状态

    select open_mode,database_role from v$database;
    

    查看备库进程情况

    select process,status,sequence# from v$managed_standby;
    
    RFS进程:负责日志的传输
    MRP进程:负责日志的应用
    针对RAC环境的dg环境,RFS和MRP是只存在一个节点中的。
    如果登录一个节点发现没有这两个进程,要在另一个节点上再次验证。
    

    查看备库数据库同步情况:

    select thread#,sequence#,applied from v$archived_log;
    查看applied的结果,如果是YES 最后为IN-MEMORY 表示数据已经应用。
    如果 结果中出现NO,表示数据同步已经出现延迟,要明确是未来得及应用还是同步中断。
    
    展开全文
  • oracle--DG查询同步

    千次阅读 2019-09-27 07:22:39
    查询归档历史: SELECT FIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#, SEQUENCE# FROM V$LOG_HISTORY; 检查归档文件路径和创建信息 ...SELECT NAME,CREATOR,SEQUENCE#,APPLIED,COMPLETION_TIME FROM V$ARCHIVED_LOG;...

    查询归档历史:

    SELECT  FIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#, SEQUENCE# FROM V$LOG_HISTORY;

    检查归档文件路径和创建信息

    SELECT NAME,CREATOR,SEQUENCE#,APPLIED,COMPLETION_TIME  FROM V$ARCHIVED_LOG; 

    查看进程的活动状态
    V$MANAGED_STANDBY视图专用于显示物理Standby数据库相关进程的
    当前状态,该视图中的列也很有特点,查看进程状态时,通常我们会关注
    PROCESS、CLIENT_PROCESS、SEQUENC#和STATUS几列,例如:

    SQL>  SELECT  PROCESS,CLIENT_PROCESS,SEQUENCE#,  STATUS  FROM
    V$MANAGED_STANDBY;
    PROCESS      CLIENT_P    SEQUENCE# STATUS
    --------- -------- ---------- ------------
    ARCH            ARCH                78     CLOSING
    ARCH            ARCH                79    CLOSING
    MRP0            N/A                    80    WAIT_FOR_LOG
    RFS              LGWR                80    IDLE
    RFS              ARCH                  0      IDLE
    RFS              N/A                     0      IDLE 

    相关说明:
    PROCESS:进程名称,如ARCH、RFS、MRP0等。
    CLIENT_P:对应的Primary数据库中的进程,如ARCH、LGWR等。
    SEQUENCE#:归档序号。
    STATUS:进程的当前状态,值较多,常见的有:
    1)ALLOCATED:正准备连接Primary数据库。
    2)ATTACHED:正在连接Primary数据库。
    3)CONNECTED:已连接至Primary数据库。
    4)IDLE:空闲中。
    5)RECEIVING:归档文件接收中。
    6)OPENING:归档文件处理中。
    7)CLOSING:归档文件处理完,收尾中。
    8)WRITING:REDO数据库写向归档文件中。
    9)WAIT_FOR_LOG:等待新的REDO数据中。
    10)WAIT_FOR_GAP:归档有中断,正等待中断的那部分REDO数据。
    11)APPLYING_LOG:应用REDO数据中。

    查看最后应用的归档

    SELECT  THREAD#,  MAX(SEQUENCE#)  AS  "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;

       THREAD# LAST_APPLIED_LOG
    ---------- ----------------
         1           3104

      查看对应的应用状态
    SELECT THREAD#, SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG;
       THREAD#  SEQUENCE# APPLIED
    ---------- ---------- ---------
         1     3098 YES
         1     3099 YES
         1     3100 YES
         1     3101 YES
         1     3102 YES
         1     3103 YES
         1     3104 IN-MEMORY

    查看物理Standby数据库未接收的日志文件

    日志文件的发送是通过LOG_ARHIVE_DEST_N参数来控制,因此我们只需
    要对比本地生成的归档和远端生成的归档间差异即可。例如:
    select local.thread#,  local.sequence#  from  (select  thread#,  sequence#  from v$archived_log  where  dest_id=1)  local  where  local.sequence#  not  in    (select sequence# from v$archived_log where dest_id=2 and    thread# = local.thread#);
     
       THREAD#  SEQUENCE#
    ---------- ----------
         1     3098
         1     3099
         1     3100
         1     3101
         1     3102
         1     3103
         1     3104

    监控日志应用服务

    查询当前数据的基本信息(v$database信息)
    select database_role,db_unique_name,open_mode,protection_mode,protection_level, switchover_status from v$database;  


    DATABASE_ROLE     DB_UNIQUE_NAME         OPEN_MODE
    ---------------- ------------------------------ --------------------
    PROTECTION_MODE      PROTECTION_LEVEL      SWITCHOVER_STATUS
    -------------------- -------------------- --------------------
    PHYSICAL STANDBY standby_oracle01        MOUNTED
    MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  NOT ALLOWED


    查看当前REDO应用和REDO传输服务的活动状态
    查询物理Standby 数据库当前REDO应用和REDO传输服务的状态非
    V$MANAGED_STANDBY视图莫属,例如:

     select  process,  status,  thread#,  sequence#,  block#,  blocks  from v$managed_standby;
    
    PROCESS   STATUS      THREAD#  SEQUENCE#     BLOCK#     BLOCKS
    --------- ------------ ---------- ---------- ---------- ----------
    ARCH      CONNECTED        0       0          0      0
    ARCH      CONNECTED        0       0          0      0
    ARCH      CONNECTED        0       0          0      0
    ARCH      CLOSING        1    3104       6144       1008
    ARCH      CONNECTED        0       0          0      0
    RFS      IDLE            0       0          0      0
    RFS      IDLE            0       0          0      0
    RFS      IDLE            1    3105       1596      1
    MRP0      APPLYING_LOG        1    3105       1596     163840

     


    检查应用模式(是否启用了实时应用)

    物理Standby数据库查询V$ARCHIVE_DEST_STATUS视图,如果打开了实
    时应用,则RECOVERY_MODE列会显示为:MANAGED REAL TIME APPLY,

    RECOVERY_MODE
    -----------------------
    IDLE


    Data Guard事件(V$DATAGUARD_STATUS)

    SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;
    
    MESSAGE
    --------------------------------------------------------------------------------
    ARC0: Archival started
    ARC1: Archival started
    ARC2: Archival started
    ARC3: Archival started
    ARC3: Becoming the 'no FAL' ARCH
    ARC2: Becoming the heartbeat ARCH
    ARC2: Becoming the active heartbeat ARCH
    ARC4: Archival started
    Managed Standby Recovery not using Real Time Apply
    RFS[1]: Assigned to RFS process 27418
    ARC3: Beginning to archive thread 1 sequence 3102 (14245665-14245874)
    
    MESSAGE
    --------------------------------------------------------------------------------
    ARC3: Completed archiving thread 1 sequence 3102 (0-0)
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[2]: Assigned to RFS process 27420
    Attempt to start background Managed Standby Recovery process
    MRP0: Background Managed Standby Recovery process started
    Managed Standby Recovery starting Real Time Apply
    Clearing online redo logfile 1 /u01/app/oracle/oradata/oracle01/redo01.log
    Clearing online redo logfile 1 complete
    Clearing online redo logfile 2 /u01/app/oracle/oradata/oracle01/redo02.log
    Clearing online redo logfile 2 complete
    Clearing online redo logfile 3 /u01/app/oracle/oradata/oracle01/redo03.log
    
    MESSAGE
    --------------------------------------------------------------------------------
    Clearing online redo logfile 3 complete
    Clearing online redo logfile 9 /u01/app/oracle/oradata/oracle01/redo05a.log
    Clearing online redo logfile 9 complete
    Media Recovery Log /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_3102_100
    0748999.dbf
    
    Media Recovery Waiting for thread 1 sequence 3103 (in transit)
    ARC3: Beginning to archive thread 1 sequence 3103 (14245874-14245930)
    ARC3: Completed archiving thread 1 sequence 3103 (0-0)
    Media Recovery Waiting for thread 1 sequence 3104 (in transit)
    MRP0: Background Media Recovery cancelled with status 16037
    
    MESSAGE
    --------------------------------------------------------------------------------
    Managed Standby Recovery not using Real Time Apply
    MRP0: Background Media Recovery process shutdown
    Managed Standby Recovery Canceled
    Attempt to start background Managed Standby Recovery process
    MRP0: Background Managed Standby Recovery process started
    Managed Standby Recovery starting Real Time Apply
    Media Recovery Waiting for thread 1 sequence 3104 (in transit)
    ARC3: Beginning to archive thread 1 sequence 3104 (14245930-14250924)
    ARC3: Completed archiving thread 1 sequence 3104 (0-0)
    Media Recovery Waiting for thread 1 sequence 3105 (in transit)
    
    41 rows selected.
    


    设置RECOVER并行度
    在介质恢复或REDO应用期间,都需要读取重做日志文件,默认都是串行
    复,我们可以在执行RECOVER的时候加上PARALLEL子句来指定并行度,
    高读取和应用的性能,例如:

    SQL> RECOVER STANDBY DATABASE PARALLEL 2 ;  

    查看保护模式

    SQL> select protection_mode,protection_level from v$database;
    PROTECTION_MODE            PROTECTION_LEVEL
    -------------------- --------------------
    MAXIMUM PERFORMANCE    MAXIMUM PERFORMANCE 
    

     

    转载于:https://www.cnblogs.com/kingle-study/p/10955393.html

    展开全文
  • Oracle 12c的DG自动同步密码文件--ASM 新特性:共享密码文件 orapwdfile='+data/HTZXDBPRI/password/orapwh...
        

    Oracle 12c的DG自动同步密码文件--ASM 新特性:共享密码文件


    
    orapwd file='+data/HTZXDBPRI/password/orapwhtzxdbpri' force=y dbuniquename=htzxdbpri format=12 sys=oracle sysbackup=oracle sysdg=oracle syskm=oracle
    orapwd input_file='+data/HTZXDBPRI/password/orapwhtzxdbpri' file='+ocr/asm/password/orapwASM' asm=y force=y 
    srvctl config db -d htzxdbpri -a
    srvctl modify db -d htzxdbpri -pwfile '+data/HTZXDBPRI/password/orapwhtzxdbpri'
    ---密码文件  linux区分$ORACLE_SID大小写  sysdba  select* from v$pwfile_users;
    --linux:orapw+$ORACLE_SID 
    --windows: pwd+$ORACLE_SID.ora
     
    --密码文件存放在ASM中:
    orapwd file='+data/lhrracphy/PASSWORD/pwdlhrracphy' force=y dbuniquename=lhrracphy format=12 password=lhr
    orapwd file='+data' force=y dbuniquename=lhrracphy format=12 password=lhr
    orapwd file='+data/HTZXDBPRI/password/orapwhtzxdbpri' force=y dbuniquename=htzxdbpri format=12 sys=oracle sysbackup=oracle sysdg=oracle syskm=oracle
     
    --使用老密码文件替换新密码文件
    orapwd input_file='+data/HTZXDBPRI/password/orapwhtzxdbpri' file='+ocr/asm/password/orapwASM' force=y 
     
    orapwd input_file='+data/HTZXDBPRI/password/orapwhtzxdbpri' file='+ocr/asm/password/orapwASM' asm=y force=y 
     
    --备份密码文件
    ASMCMD> pwcopy pwdorcl.378.98780432 /home/grid/
     
    --配置数据库的密码文件
    srvctl config db -d htzxdbpri -a
    srvctl modify db -d htzxdbpri -pwfile '+data/HTZXDBPRI/password/orapwhtzxdbpri'
     
     
    oradim -NEW -sid orcl9i -INTPWD admin -pfile d:\oracle\ora90\database\initstorm.ora;
    C:\Users\Administrator> orapwd file="E:\oracle\ora8i\DATABASE\PWDortest.ORA" password=lhr
    [oracle@robinson dbs]$  orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle force=y
    asmcmd同样也可以创建密码文件:
    $ asmcmd
    ASMCMD> pwcreate
    ASMCMD [+] > pwcreate --asm +DG/mydir/mypwfile 'oracle' -f --format 12
    ASMCMD [+] > pwcreate --dbuniquename racdb +DG/mydir/mypwfile 'oracle' -f --format 12
    其它命令:
    pwcreate、pwdelete、pwcopy、pwmove、pwset、pwget
    ASMCMD> pwget --dbuniquename htzxdbpri
    +data/HTZXDBPRI/password/orapwhtzxdbpri
     
    ASM存储密码文件前提条件是ASM磁盘组的 COMPATIBLE.ASM>= 12.1
    select name,compatibility from v$asm_diskgroup;
     
    -- create new password in ASM
    orapwd file='+data/ASM/orapwasm' asm=y
    -- create new password in ASM from location
    orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm'[asm=y]
    -- move password file from A asm diskgroup to another
    ASMCMD> pwmove --asm +CRS/asm/password/orapwasm +data/orapwasm
    




    oracle 11g 12c dg环境 SYS密码同步的问题


    When password file is used for Redo Transport Authentication, the password of redo transport user should be same across primary and all its physical and snapshot standby databases. By default SYS user is used to authenticate redo transport sessions when password file is used.

    Till 12cR1 Dataguard setup, if there is a change in password file of Primary database like Changes in password or Changes in admin privileges, then the password file needs to be copied from Primary database to standby database server and rename it according to standby database Instance name. If the password file of Primary and Standby databases are not same, then errors will be seen.

    In 12cR2, the password file of standby database gets synchronized automatically when there is a change in Primary database password file. The password file change of Primary will be included in Redo and when the Redo is applied to standby, the synchronization happens in the background.

    这里延伸几个知识点:

    1 、 11g中口令文件并不能实现存放于asm共享访问,修改SYS密码,需要再每个RAC节点手动实施同步 ,同样备库的口令文件也要手动进行更新覆盖
    2、12.1版本可以实现口令文件ASM共享存储,RAC中只需要一个节点执行alter user sys 就可以实现主库所有节点同步,这点是11g中无法实现。但是备库中口令文件依然需要手动同步主库的口令文件过来覆盖
    3 、12.2版本oracle在口令文件ASM共享存储的前提下,实现了口令文件自动同步主备所有节点

    MOS --- 
    Automatic Password file synchronization in 12.2 Dataguard Standby database

    Data Guard Standby Automatic Password file Synchronization in 12.2 (文档 ID 2307365.1)




    1 概念


    This feature automatically synchronizes password files across Oracle Data Guard configurations. When the passwords of SYS, SYSDG, and so on, are changed, the password file at the primary database is updated and then the changes are propagated to all standby databases in the configuration.

    该特性自动同步Oracle数据保护配置中的密码文件。当SYS、SYSDG等的密码发生更改时,主数据库中的密码文件被更新,然后将更改传播到配置中的所有备用数据库。

    This feature provides additional automation that further simplifies management of Oracle Data Guard configurations.

    这个特性提供了额外的自动化,进一步简化了Oracle数据保护配置的管理。

    Redo Transport Authentication Using a Password File

    In an Oracle Data Guard configuration, all physical and snapshot standby databases must use a copy of the password file from the primary database. That copy is automatically refreshed whenever an administrative privilege (SYSDG, SYSOPER, SYSDBA, and so on) is granted or revoked, and after the password of any user with administrative privileges is changed. The only exception to this is far sync instances. Updated password files must still be manually copied to far sync instances because far sync instances receive redo, but do not apply it. Once the password file is up-to-date at the far sync instance the redo containing the password update at the primary is automatically propagated to any standby databases that are set up to receive redo from that far sync instance. The password file is updated on the standby when the redo is applied.

    在Oracle数据保护配置中,所有物理和快照备用数据库必须使用来自主数据库的密码文件副本。当管理员权限(SYSDG、SYSOPER、SYSDBA等)被授予或撤销时,该副本将自动刷新,并且任何具有管理员权限的用户的密码发生更改后,该副本将自动刷新。唯一的例外是far sync instances。更新的密码文件必须手动复制到far sync instances,因为far sync instances接收重做,但不应用它。一旦密码文件在远同步实例中是最新的,那么在主服务器上包含密码更新的重做就会自动传播到任何准备far sync instances接收重做的备用数据库。在应用重做时,在备用服务器上更新密码文件。


    2 实验

    2.1 tnsname.ora 中配置主备库的网络服务

    PDBCNDBA_P =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.74)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = cndba)
        )
      )
    PDBCNDBA_S =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.75)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = cndba)
        )
      )
    

    2.2 修改主库sys 用户密码  

    [oracle@dg1 admin]$ sqlplus sys/PDBCNDBA_P@cndba as sysdba
    SQL*Plus: Release 12.2.0.1.0 Production on Tue Aug 15 10:55:49 2017
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
    SQL> alter user sys identified by oracle_p; 
    User altered.
    2.3 验证备库密码也跟着改变。
    SQL> connect sys/oracle_p@PDBCNDBA_P as sysdba
    Connected.
    SQL> connect sys/oracle_p@"PDBCNDBA_S" as sysdba
    Connected.
    

    3 参考链接

    http://docs.oracle.com/database/122/NEWFT/new-features.htm#NEWFT-GUID-A6211BAC-0534-44B9-B988-A7CC2B97044F  

    https://petesdbablog.wordpress.com/2017/03/11/12-2-new-feature-automatically-synchronize-password-files-in-oracle-data-guard/  

    https://uhesse.com/2017/01/10/auto-sync-for-password-files-in-oracle-12c-data-guard/  



    ORACLE 12C ASM 新特性:共享密码文件



    在ORACLE 12C之前大家都知道密码文件是存放在?/dbs或者?/database中,如果要修改修改sysdba权限的用户密码时候,会去修改密码文件,而在rac数据库的sys密码文件是存在各个节点中,这个时候修改sysdba权限的密码就需要在两个节点都要做同样的操作,而对于数据库来说本身是只要在一个节点上修改即可,因为密码是记录在user$中,就是因为密码文件非共享且在各个节点中都有,因此需要在各个节点均要执行修改密码命令,确保密码文件被正常修改。因为rac 密码文件非共享的机制存在,导致修改sysdba权限密码繁琐,有些时候甚至有节点忘记修改,导致需要使用密码文件操作数据库的时候不能正常进行,DG传输日志异常等故障。在ORACLE 12C中为了解决这个问题,引入了密码文件可以存入ASM新特性,从而使得密码文件存储在ASM中实现所有节点共享,从而解决该问题.
    ASM存储密码文件前提条件 COMPATIBLE.ASM>= 12.1

    查询ASM信息


    SQL>  select * from v$version;

     

    BANNER                                                                               CON_ID

    -------------------------------------------------------------------------------- ----------

    Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0

    PL/SQL Release 12.1.0.1.0 - Production                                                    0

    CORE    12.1.0.1.0      Production                                                        0

    TNS for Linux: Version 12.1.0.1.0 - Production                                            0

    NLSRTL Version 12.1.0.1.0 - Production                                                    0

     

    SQL> select NAME,COMPATIBILITY from v$asm_diskgroup;

     

    NAME                           COMPATIBILITY

    ------------------------------ ------------------------------------------------------------

    DATA                           12.1.0.0.0

    查询crs中关于db配置


    [grid@xifenfei ~]$  srvctl config database -d cdb

    Database unique name: cdb

    Database name: cdb

    Oracle home: /u01/app/oracle/product/12.1/db_1

    Oracle user: oracle

    Spfile: +DATA/cdb/spfilecdb.ora

    Password file: 

    Domain: 

    Start options: open

    Stop options: immediate

    Database role: PRIMARY

    Management policy: MANUAL

    Database instance: cdb

    Disk Groups: DATA

    Services: 

    这里db的password file为空,即表示使用默认值,也就是为$ORACLE_HOME/dbs/orapwxifenfei


    创建密码文件存储在ASM中


    --创建db新密码文件

    [oracle@xifenfei ~]$ orapwd file='+data/CDB/orapwdxifenfei' dbuniquename='cdb'

     

    Enter password for SYS: 

    ----输入sys用户密码

     

    --创建asm新密码文件

    orapwd file='+data/ASM/orapwasm' asm=y

    ----asm=y 表示创建的密码文件为asm的

     

     

    --使用老密码文件创建db/asm新密码文件

    orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm' [asm=y]

    ----input_file 表示使用老的密码文件创建新的存储在ASM中的密码文件

    查看ASM中密码文件


    ASMCMD> showversion

    ASM version         : 12.1.0.1.0

    ASMCMD> pwd

    +data/cdb

    ASMCMD>  ls -l orapwdxifenfei

    Type      Redund  Striped  Time             Sys  Name

    PASSWORD  UNPROT  COARSE   MAY 31 19:00:00  N    orapwdxifenfei => +DATA/CDB/PASSWORD/pwdcdb.290.816897265

    配置crs中password file项


    [grid@xifenfei ~]$ srvctl modify database -db cdb -pwfile  +data/CDB/orapwdxifenfei

    查询crs中关于db配置


    [grid@xifenfei ~]$  srvctl config database -d cdb

    Database unique name: cdb

    Database name: cdb

    Oracle home: /u01/app/oracle/product/12.1/db_1

    Oracle user: oracle

    Spfile: +DATA/cdb/spfilecdb.ora

    Password file: +data/CDB/orapwdxifenfei

    Domain: 

    Start options: open

    Stop options: immediate

    Database role: PRIMARY

    Management policy: MANUAL

    Database instance: cdb

    Disk Groups: DATA

    Services: 


    至此数据库启动使用密码ASM中的密码文件完成,补充说明,该方式配置在ASM中的密码文件,只能是通过crs方式启动db才会生效,如果手工使用sqlplus启动数据库不会使用该密码文件,还是使用默认密码文件。这里也就提醒大家操作规范: 在RAC环境(包含单节点的GI环境)中,对数据库的启动关闭操作强烈建议使用crs相关命令来完成,而不推荐使用sqlplus命令


    Data Guard Standby Automatic Password file Synchronization in 12.2 (文档 ID 2307365.1)

    APPLIES TO:

    Oracle Database - Enterprise Edition - Version 12.2.0.1 and later
    Information in this document applies to any platform.

    GOAL

    Automatic Password file synchronization in 12.2 Dataguard Standby database

    SOLUTION

    When password file is used for Redo Transport Authentication, the password of redo transport user should be same across primary and all its physical and snapshot standby databases. By default SYS user is used to authenticate redo transport sessions when password file is used. 

    Till 12cR1 Dataguard setup, if there is a change in password file of Primary database like Changes in password or Changes in admin privileges, then the password file needs to be copied from Primary database to standby database server and rename it according to standby database Instance name. If the password file of Primary and Standby databases are not same, then errors will be seen.

    In 12cR2, the password file of standby database gets synchronized automatically when there is a change in Primary database password file. The password file change of Primary will be included in Redo and when the Redo is applied to standby, the synchronization happens in the background.

    Exception: Far-sync Instances (where the redo will not be applied). We need to manually copy the password file. Once the password file is sync at Far-Sync instance, the redo having password file information will get transmitted to standby which are suppose to receive from Far-sync instance.

    Example:

    PRIMARY>select username, sysdba, sysoper, sysasm,sysbackup,authentication_type AT from v$pwfile_users;

    USERNAME SYSDB SYSOP SYSAS SYSBA AT
    -------------------- ----- ----- ----- ----- --------
    SYS TRUE TRUE FALSE FALSE PASSWORD
    SYSDG FALSE FALSE FALSE FALSE PASSWORD
    SYSBACKUP FALSE FALSE FALSE TRUE PASSWORD
    SYSKM FALSE FALSE FALSE FALSE PASSWORD

    STANDBY>select username, sysdba, sysoper, sysasm,sysbackup,authentication_type AT from v$pwfile_users;

    USERNAME SYSDB SYSOP SYSAS SYSBA AT
    ---------- ----- ----- ----- ----- --------
    SYS TRUE TRUE FALSE FALSE PASSWORD
    SYSDG FALSE FALSE FALSE FALSE PASSWORD
    SYSBACKUP FALSE FALSE FALSE TRUE PASSWORD
    SYSKM FALSE FALSE FALSE FALSE PASSWORD

    Let's grant a role to a user at Primary database which will make changes in Password file

    PRIMARY>Grant SYSOPER to user1;

    Grant succeeded.

    PRIMARY>select username, sysdba, sysoper, sysasm,sysbackup,authentication_type AT from v$pwfile_users;

    USERNAME SYSDB SYSOP SYSAS SYSBA AT
    -------------------- ----- ----- ----- ----- --------
    SYS TRUE TRUE FALSE FALSE PASSWORD
    SYSDG FALSE FALSE FALSE FALSE PASSWORD
    SYSBACKUP FALSE FALSE FALSE TRUE PASSWORD
    SYSKM FALSE FALSE FALSE FALSE PASSWORD
    USER1 FALSE TRUE FALSE FALSE PASSWORD

    Password file of Primary database:

    -rw-r-----. 1 oracle oinstall 4096 /u01/app/oracle/product/12.2.0/dbhome_1/dbs/orapwprimdb

    Switch the logfile, so that the Redo reach its standby databases

    PRIMARY>alter system switch logfile;

    System altered.

    At standby Media recovery is not active. Verify v$pwfile_users for the granted role 

    STANDBY>select username, sysdba, sysoper, sysasm,sysbackup,authentication_type AT from v$pwfile_users;

    USERNAME SYSDB SYSOP SYSAS SYSBA AT
    ---------- ----- ----- ----- ----- --------
    SYS TRUE TRUE FALSE FALSE PASSWORD
    SYSDG FALSE FALSE FALSE FALSE PASSWORD
    SYSBACKUP FALSE FALSE FALSE TRUE PASSWORD
    SYSKM FALSE FALSE FALSE FALSE PASSWORD

    Password file of Standby database:

    -rw-r-----. 1 oracle oinstall 3584 /u01/app/oracle/product/12.2.0/dbhome_2/dbs/orapwstdbydb

    Newly granted role is not reflected in Standby, lets start Media recovery and then query v$pwfile_users.

    STANDBY>recover managed standby database disconnect;
    Media recovery complete.


    STANDBY>select username, sysdba, sysoper, sysasm,sysbackup,authentication_type AT from v$pwfile_users;

    USERNAME SYSDB SYSOP SYSAS SYSBA AT
    ---------- ----- ----- ----- ----- --------
    SYS TRUE TRUE FALSE FALSE PASSWORD
    SYSDG FALSE FALSE FALSE FALSE PASSWORD
    SYSBACKUP FALSE FALSE FALSE TRUE PASSWORD
    SYSKM FALSE FALSE FALSE FALSE PASSWORD
    USER1 FALSE TRUE FALSE FALSE PASSWORD

     

    Password file of standby database:

    -rw-r-----. 1 oracle oinstall 4096 /u01/app/oracle/product/12.2.0/dbhome_2/dbs/orapwstdbydb

     We could see after media recovery v$pwfile_users has been updated




    oracle数据库软件是获得过最高级别的安全认证,完全超越其它所有数据库软件,并且在可维护性上基于大量的实践需要稳步前行,这里简单列举几个12c 关于password几个新特性。

    1. 新的password hash算法
    2. 新的password verify function
    3. 密码文件可以存储到ASM
    4. 密码自动从primary同步到standby端在Dataguard环境中
    5. 新的密码认证协议

     

    以下将介绍其中几个内容:

     

    1. 新的password hash算法

    Oracle对Oracle Database 12c中的用户密码哈希进行了改进, 通过使用基于PBKDF2的SHA512哈希算法,而不是简单的SHA1哈希,密码哈希更安全, 从11g起user$.spare4列存储着密码的哈希值。在12.1.0.2版本时spare4列有3部分组成(S:H:T).12.2时只剩下(S:T )2部分。

    S部分和11g时的算法一样,长度60 chars,是基于SHA1的哈希。

    H部分是基于MD5的哈希,长度为32 chars, 也可能是因为MD5 hash更方便入侵者的暴力破解,在12.2 版本时从Spare4列去掉该部分。

    T部分是从12.1.0.2版本增加,长度为160 chars, 使用的是基于PBKDF2-based SHA512的算法。该算法后部分32chars 的验证数据部分是随机生成。更加安全。

    2. 新的password verify function

    在12c中default profile除了password verify function和11g不同,其它资源限制都是相同的。
    不过国防安全要求有个建议值:
    RESOURCE NAME LIMIT
    PASSWORD_LIFE_TIME 60
    PASSWORD_REUSE_TIME 365
    PASSWORD_REUSE_MAX 5
    FAILED_LOGIN_ATTEMPTS 3
    PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function

    12c新引入了verify function 有ora12c_verify_function, ora12c_strong_verify_function (ora12c_stig_verify_function) ,而且可能在12.1.0.1 ,12.1.0.2, 12.2.0.1     profile默认的verify function名都不一样。

    比如STIG有以下限制:

    • Password at least 9 characters

    • at least 2 capital letters

    • at least 2 small letters

    • at least 2 digits

    • at least 2 special characters

    • password must differ by at least 4 characters from the old password


    3. 密码文件可以存储到ASM

    在Oracle Database 12c之前,密码文件始终位于$ ORACLE_HOME / dbs文件下,即使对于RAC实例和RAC ASM集群也是如此。 对于RAC而言,DBA必须设法保持这一点密码文件在每个节点上同步。现在,在Oracle 12c中,可以将密码文件存储在ASM上。 这意味着一个共享密码文件Oracle RAC数据库为集群中的所有实例共享,与ASM spfile不同,ASM密码文件的访问只有在启动ASM ,并且在磁盘组mount后才可以访问。用于创建密码文件的命令实用程序仍然是相同的:“orapwd”

    asmcmd同样也可以创建密码文件
    $ asmcmd
    ASMCMD> pwcreate
    

    ASM存储密码文件前提条件 COMPATIBLE.ASM>= 12.1

    -- create new password in ASM
    orapwd file='+data/ASM/orapwasm' asm=y
    -- create new password in ASM from location
    orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm'[asm=y]
    -- move password file from A asm diskgroup to another
    ASMCMD> pwmove --asm +CRS/asm/password/orapwasm +data/orapwasm
    

    2. 密码自动从primary同步到standby端在Dataguard环境中

    12cR2中一个有用的增强功能是密码文件在Data Guard环境中自动同步,如果在primary database上更改了sys的密码,并且它自动也在standby database上进行了更改。 在早期版本中必须手动完成的,通常通过使用primary database 密码文件替换standby database上的密码文件。

     

    5. 新的密码认证协议
    升级12C注意事项: 连接失败 ORA-28040 ORA-1017
    之前写过关于认证的协议的。如果你的数据库是从12c以前的版本升上来的,在升级时会提示去掉SEC_CASE_SENSITIVE_LOGON=FALSE参数如下,但是如果你没有去掉SEC_CASE_SENSITIVE_LOGON=FALSE,那么升级后登录可以会遇到ora-1017错误,即使密码是正确的,甚至修改在升级后再修改密码(新的密码版本将为”11G 12C”)。解决方法是:change SEC_CASE_SENSITIVE_LOGON=TRUE, –the default.另外注意如果是Data Pump导入创建的用户,密码版本会和导出时版本一致。
    RECOMMENDED ACTIONS
    ===================
    + Consider removing the following DEPRECATED initialization parameters.
    They are not OBSOLETE in version 12.2.0.1.0
    but probably will be OBSOLETE in a future release.
    Parameter
    ——————————
    sec_case_sensitive_logon
    Note:
    Oracle notes that the term “version” in the allowed_logon_version_server parameter name refers to the version of the authentication protocol. It does NOT refer to the Oracle release version.
    sqlnet.allowed_logon_version_server, depending on the version of the authentication protocol.
    sqlnet.allowed_logon_version_server=12a: For Oracle Database 12c Release 1 (12.1) release 12.1.0.2 or later.
    sqlnet.allowed_logon_version_server=12: For the critical patch updates CPUOct2012 and later Oracle Database 11g authentication protocols (recommended).
    sqlnet.allowed_logon_version_server=11: For Oracle Database 11g authentication protocols (default).
    sqlnet.allowed_logon_version_server=10: For Oracle Database 10g authentication protocols.
    sqlnet.allowed_logon_version_server=8: For Oracle8i authentication protocol
    

    3. 将主库RAC中的密码文件手动拷贝到备库中

    从主库ASM拷贝到文件系统中:

    ASMCMD> pwcopy +DATA/HISS/PASSWORD/pwdhis.256.918602833/home/grid/

    使用scp或者其它方式拷贝到备库的主机中并重命名为hiss:

    $ scp /home/grid/pwdhis.256.91860283310.241.8.9:/home/grid

    $ mv pwdhis.256.918602833 orapwhiss

    从备库文件系统拷贝到ASM中:

    ASMCMD> pwcopy /home/grid/orapwhiss +DATA/HISS/PASSWORD/

     

    4. 密码文件管理 

    查询ASM信息

    SQL>  select   * from   v$version;
     
    BANNER                                                                           CON_ID
    -------------------------------------------------------------------------------- ----------
    Oracle Database   12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0
    PL/SQL Release 12.1.0.1.0 - Production                                                    0
    CORE    12.1.0.1.0      Production                                                        0
    TNS for   Linux: Version 12.1.0.1.0 - Production                                            0
    NLSRTL Version 12.1.0.1.0 - Production                                                    0
     
    SQL> select   NAME ,COMPATIBILITY from   v$asm_diskgroup;
     
    NAME                             COMPATIBILITY
    ------------------------------ ------------------------------------------------------------
    DATA                           12.1.0.0.0

    查询crs中关于db配置

    [grid@orcl ~]$  srvctl config database -d cdb
    Database unique name: cdb
    Database name: cdb
    Oracle home: /u01/app/oracle/product/12 .1 /db_1
    Oracle user: oracle
    Spfile: +DATA /cdb/spfilecdb .ora
    Password file :
    Domain:
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: MANUAL
    Database instance: cdb
    Disk Groups: DATA
    Services:

    这里db的password file为空,即表示使用默认值,也就是为$ORACLE_HOME/dbs/orapworcl

    创建密码文件存储在ASM中

    --创建db新密码文件
    [oracle@orcl ~]$ orapwd file = '+data/CDB/orapwdorcl'   dbuniquename= 'cdb'
     
    Enter password for   SYS:
    ----输入sys用户密码
     
    --创建asm新密码文件
    orapwd file = '+data/ASM/orapwasm'   asm=y
    ----asm=y 表示创建的密码文件为asm的
      
    --使用老密码文件创建db /asm 新密码文件
    orapwd input_file= '/oraclegrid/dbs/orapwasm'   file = '+data/ASM/orapwasm'   [asm=y]
    ----input_file 表示使用老的密码文件创建新的存储在ASM中的密码文件

    查看ASM中密码文件

    ASMCMD> showversion
    ASM version         : 12.1.0.1.0
    ASMCMD> pwd
    +data /cdb
    ASMCMD>  ls   -l orapwdorcl
    Type      Redund  Striped  Time             Sys  Name
    PASSWORD  UNPROT  COARSE   MAY 31 19:00:00  N    orapwdorcl => +DATA /CDB/PASSWORD/pwdcdb .290.816897265

    配置crs中password file项

    [grid@orcl ~]$ srvctl modify database -db cdb -pwfile  +data /CDB/orapwdorcl

    查询crs中关于db配置

    [grid@orcl ~]$  srvctl config database -d cdb
    Database unique name: cdb
    Database name: cdb
    Oracle home: /u01/app/oracle/product/12 .1 /db_1
    Oracle user: oracle
    Spfile: +DATA /cdb/spfilecdb .ora
    Password file : +data /CDB/orapwdorcl
    Domain:
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: MANUAL
    Database instance: cdb
    Disk Groups: DATA
    Services:

    至此数据库启动使用密码ASM中的密码文件完成。

    补充说明,该方式配置在ASM中的密码文件,只能是通过crs方式启动db才会生效,如果手工使用sqlplus启动数据库不会使用该密码文件,还是使用默认密码文件。

    这里也就提醒大家操作规范: 在RAC环境(包含单节点的GI环境)中,对数据库的启动关闭操作强烈建议使用crs相关命令来完成,而不推荐使用sqlplus命令。

     

    -- END --



    About Me

    ........................................................................................................................

    ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

    ● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

    ● 本文itpub地址: http://blog.itpub.net/26736162

    ● 本文博客园地址: http://www.cnblogs.com/lhrbest

    ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

    ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

    ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

    ........................................................................................................................

    ● QQ群号: 230161599 (满) 、618766405

    ● weixin群:可加我weixin,我拉大家进群,非诚勿扰

    ● 联系我请加QQ好友 646634621 ,注明添加缘由

    ● 于 2018-11-01 06:00 ~ 2018-11-31 24:00 在魔都完成

    ● 最新修改时间:2018-11-01 06:00 ~ 2018-11-31 24:00

    ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

    ● 版权所有,欢迎分享本文,转载请保留出处

    ........................................................................................................................

    小麦苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

    小麦苗出版的数据库类丛书 http://blog.itpub.net/26736162/viewspace-2142121/

    小麦苗OCP、OCM、高可用网络班 http://blog.itpub.net/26736162/viewspace-2148098/

    小麦苗腾讯课堂主页 https://lhr.ke.qq.com/

    ........................................................................................................................

    使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

    ........................................................................................................................

    欢迎与我联系

     

     



    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2215881/,如需转载,请注明出处,否则将追究法律责任。

    展开全文
  • Oracle DG gap 手动同步

    千次阅读 2017-04-06 12:17:34
    实时同步方式。 主库重启后,没有按照正常顺序启动和关闭备库及日志应用。早上发现后,已经出现很多gap。1.在备库的日志里去查看,说是等待sequence 3362的日志,其实主库上的最小(最早的)的日志已经到3370了。。...
  • Oracle之ADG与DG的区别?

    千次阅读 2019-07-20 20:07:05
    在上云后的Oracle数据灾备场景中,我们经常听到DBA迁移工程师讲到“在这个项目中用ADG进行数据实时备份,ADG比DG更好!”。究竟ADG作Oracle数据灾备的优势在什么地方? 一、ADG主要解决了DG时代读写不能并行的...
  • DG既可以同步,也可以异步。 DG有三种模式: 最大保护 是同步 最大性能 是异步 最高可用 能同步就不异步,不能同步时才会异步。
  • 概述: 一、环境 ... ip地址:192.168.122.203 ... oracle根目录:/data/db/oracle  SID:qyq  数据文件路径/data/db/oracle/oradata/qyq  归档文件路径:/data/db/oracle/archive'  备库:  
  • ORACLE DG概念及切换

    万次阅读 2019-01-15 16:02:46
    DG的原理: DG分为物理standy,逻辑standy 物理standy: 物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。 逻辑standy: 逻辑STANDBY则不是...
  • HA/DG/RAC 三者的区别

    千次阅读 2010-08-14 16:04:00
    高可用性解决方案分为4种 (DG AR RAC HA): 一种是oracle提供的被用方法,Standby (=9i DataGuard) 一种是AR (高级复制Advanced Replication,在以前版本叫快照snapshot) 一种是oracle 并行...
  • oracle dg 状态检查

    万次阅读 2018-05-18 10:04:40
    先检查备库的归档日志同步情况 SELECT NAME,applied FROM v$archived_log; alter database recover managed standby database cancel;select thread#,sequence#,standby_dest,archived,applied,status from v$...
  • oracle dataguard 传输方式(基本原理)

    千次阅读 2014-04-14 22:19:38
     那么对于oracle dataguard(简称DG)有两种传输模式:async(异步)和sync(同步),在介绍这两种传输模式前,说一下dg的重做传输进程架构。 在主库使用LNS进程从sga中的重做缓冲区中获得相应redo数据,然后...
  • Oracle数据库--读写分离架构

    万次阅读 2016-09-24 18:29:25
     采用Oracle读写分离的思路,Writer DB和Reader DB采用日志复制软件实现实时同步; Writer DB负责交易相关的实时查询和事务处理,Reader DB负责只读接入,处理一些非实时的交易明细,报表类的汇总查询等。同时,...
  • 一、物理DG与逻辑DG的区别 官方文档是这样说明的 The main difference between physical and logical standby databases is the manner in which log apply services apply the archived redo logs:  For ...
  • ORACLE RAC+DG(单实例)

    万次阅读 2019-07-02 14:55:43
    ORACLE RAC+DG(单实例) 前提条件: 1.主库RAC已经成功安装,数据库也已经创建。 2.DG备库已经安装完相同版本的oracle软件,无需创建数据库。 1、RAC开启归档。 任意节点: alter system set log_archive_format='%t_%s...
  • 今天帮一朋友检查主库alter日志的时候,
  • 前段时间公司在做一个数据仓库,但是这个数据仓库很奇怪,他需求把实时变化的数据同步到本库。这个大大的增加了工作的难度。 当时让我提方案,我提出了OGG,dg,SymmetricDS,trigger,sqlldr,exp,megre 等方案 ...
  • dg和ogg的区别--oracle数据库

    万次阅读 2018-12-04 15:42:21
    ADG和OGG的新特性,目前越来越多的客户重视灾备数据站点的建设,由于存储级灾备和操作系统级灾备的局限性(主要是带宽高及事务完整性不容易保证),因此在选择甲骨文的应用...Oracle DataGuard 11g的新特性 ~~~~~~ ...
  • DG维护常用命令---oracle DG dataguard

    千次阅读 2018-11-10 16:42:33
    DG维护常用命令 10g alter日志位置 /opt/app/oracle/admin/moe/bdump /u01/app/oracle/product/10.2.0/db_1/rdbms/log 11g alter日志位置 cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert /u01/app/oracle/...
  • Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目录存储结构,以及...
1 2 3 4 5 ... 20
收藏数 4,631
精华内容 1,852
关键字:

dg实时同步 oracle