zoukankan      html  css  js  c++  java
  • 18C dataguard主库添加pdb,数据文件名没有自动转换unname

    环境:

    主库:2 节点RAC

    从库:单节点

    db:18c

    1.主库上新增了一个pdb

    SQL> show pdbs

    CON_ID CON_NAME OPEN MODE RESTRICTED
    ---------- ------------------------------ ---------- ----------
    2 PDB$SEED READ ONLY NO
    3 PDB1 READ WRITE NO
    4 PDB2 READ WRITE NO

    SQL> create pluggable database pdb3 from pdb1;

    2.从库发现文件名没有转换

    SQL> set linesize 5000;
    SQL> column CON_ID format 99;
    SQL> column guid format a32;
    SQL> column name format a8;
    SQL> column file_id format 99;
    SQL> column file_name format a128;
    SQL> select a.CON_ID, null as guid, 'CDB' as name, file_id, file_name
      2    from cdb_data_files a
      3   where a.CON_ID = 1
      4  union all
      5  select a.CON_ID, a.guid, a.name, b.FILE#, b.NAME
      6    from v$pdbs a, v$datafile b
      7   where a.CON_ID = b.CON_ID
      8  order by name;
    
    CON_ID GUID                             NAME     FILE_ID FILE_NAME
    ------ -------------------------------- -------- ------- --------------------------------------------------------------------------------------------------------------------------------
         1                                  CDB            7 /u01/app/oracle/oradata/ora18c/users01.dbf
         1                                  CDB            4 /u01/app/oracle/oradata/ora18c/undotbs1_01.dbf
         1                                  CDB            3 /u01/app/oracle/oradata/ora18c/sysaux01.dbf
         1                                  CDB            1 /u01/app/oracle/oradata/ora18c/system01.dbf
         1                                  CDB            9 /u01/app/oracle/oradata/ora18c/undotbs2_01.dbf
         1                                  CDB           22 /u01/app/oracle/oradata/ora18c/tps_cdb_hxl.398.1073357031
         2 C21CA002E8FB24FDE0536F38A8C0D830 PDB$SEED       5 /u01/app/oracle/oradata/ora18c/pdbseed/system01.dbf
         2 C21CA002E8FB24FDE0536F38A8C0D830 PDB$SEED       6 /u01/app/oracle/oradata/ora18c/pdbseed/sysaux01.dbf
         2 C21CA002E8FB24FDE0536F38A8C0D830 PDB$SEED       8 /u01/app/oracle/oradata/ora18c/pdbseed/undotbs01.dbf
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          13 /u01/app/oracle/oradata/ora18c/pdb1/undo_2.dbf
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          12 /u01/app/oracle/oradata/ora18c/pdb1/undotbs1.dbf
    
    CON_ID GUID                             NAME     FILE_ID FILE_NAME
    ------ -------------------------------- -------- ------- --------------------------------------------------------------------------------------------------------------------------------
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          11 /u01/app/oracle/oradata/ora18c/pdb1/sysaux01.dbf
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          10 /u01/app/oracle/oradata/ora18c/pdb1/system01.dbf
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          14 /u01/app/oracle/oradata/ora18c/pdb1/users01.dbf
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          21 /u01/app/oracle/oradata/ora18c/pdb1/tps_hxl.331.1072888977
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          20 /u01/app/oracle/oradata/ora18c/pdb1/tps_hxl.dbf
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          15 /u01/app/oracle/oradata/ora18c/pdb2/system01.dbf
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          16 /u01/app/oracle/oradata/ora18c/pdb2/sysaux01.dbf
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          19 /u01/app/oracle/oradata/ora18c/pdb2/users01.dbf
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          18 /u01/app/oracle/oradata/ora18c/pdb2/undo_2.dbf
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          17 /u01/app/oracle/oradata/ora18c/pdb2/undotbs1.dbf
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          26 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00026
    
    CON_ID GUID                             NAME     FILE_ID FILE_NAME
    ------ -------------------------------- -------- ------- --------------------------------------------------------------------------------------------------------------------------------
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          25 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00025
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          24 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00024
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          29 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00029
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          28 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00028
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          27 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00027
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          23 /u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00023
    
    28 rows selected.

    3.主库上查看文件id与文件名的关系

    SQL> set linesize 5000;
    SQL> column CON_ID format 99;
    SQL> column guid format a32;
    SQL> column name format a8;
    SQL> column file_id format 99;
    SQL> column file_name format a128;
    SQL> select a.CON_ID, null as guid, 'CDB' as name, file_id, file_name
      2    from cdb_data_files a
      3   where a.CON_ID = 1
      4  union all
      5  select a.CON_ID, a.guid, a.name, b.FILE#, b.NAME
      6    from v$pdbs a, v$datafile b
      7   where a.CON_ID = b.CON_ID
      8  order by name;
    
    CON_ID GUID                             NAME     FILE_ID FILE_NAME
    ------ -------------------------------- -------- ------- --------------------------------------------------------------------------------------------------------------------------------
         1                                  CDB            1 +DATA/SLNNGK/DATAFILE/system.260.1072316819
         1                                  CDB           22 +DATA/SLNNGK/DATAFILE/tps_cdb_hxl.398.1073357031
         1                                  CDB            9 +DATA/SLNNGK/DATAFILE/undotbs2.279.1072317491
         1                                  CDB            7 +DATA/SLNNGK/DATAFILE/users.257.1072316921
         1                                  CDB            4 +DATA/SLNNGK/DATAFILE/undotbs1.258.1072316919
         1                                  CDB            3 +DATA/SLNNGK/DATAFILE/sysaux.259.1072316885
         2 C21CA002E8FB24FDE0536F38A8C0D830 PDB$SEED       5 +DATA/SLNNGK/64A52F53A7693286E053CDA9E80AED76/DATAFILE/system.276.1072317193
         2 C21CA002E8FB24FDE0536F38A8C0D830 PDB$SEED       6 +DATA/SLNNGK/64A52F53A7693286E053CDA9E80AED76/DATAFILE/sysaux.275.1072317193
         2 C21CA002E8FB24FDE0536F38A8C0D830 PDB$SEED       8 +DATA/SLNNGK/64A52F53A7693286E053CDA9E80AED76/DATAFILE/undotbs1.277.1072317193
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          10 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/system.289.1072317933
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          21 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/tps_hxl.331.1072888977
    
    CON_ID GUID                             NAME     FILE_ID FILE_NAME
    ------ -------------------------------- -------- ------- --------------------------------------------------------------------------------------------------------------------------------
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          20 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/tps_hxl.317.1072505347
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          11 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/sysaux.290.1072317933
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          12 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/undotbs1.288.1072317933
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          13 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/undo_2.292.1072317981
         3 C21CCC2F26B343B4E0536F38A8C01387 PDB1          14 +DATA/SLNNGK/C21CCC2F26B343B4E0536F38A8C01387/DATAFILE/users.293.1072317987
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          15 +DATA/SLNNGK/C21CD091742C46B3E0536F38A8C09100/DATAFILE/system.295.1072318011
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          19 +DATA/SLNNGK/C21CD091742C46B3E0536F38A8C09100/DATAFILE/users.299.1072318065
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          18 +DATA/SLNNGK/C21CD091742C46B3E0536F38A8C09100/DATAFILE/undo_2.298.1072318061
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          17 +DATA/SLNNGK/C21CD091742C46B3E0536F38A8C09100/DATAFILE/undotbs1.294.1072318011
         4 C21CD091742C46B3E0536F38A8C09100 PDB2          16 +DATA/SLNNGK/C21CD091742C46B3E0536F38A8C09100/DATAFILE/sysaux.296.1072318011
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          28 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/tps_hxl.401.1073359953
    
    CON_ID GUID                             NAME     FILE_ID FILE_NAME
    ------ -------------------------------- -------- ------- --------------------------------------------------------------------------------------------------------------------------------
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          27 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/users.400.1073359953
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          26 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/undo_2.403.1073359953
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          25 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/undotbs1.402.1073359953
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          24 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/sysaux.406.1073359953
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          29 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/tps_hxl.404.1073359953
         5 C30F698489920BA1E0536F38A8C0B746 PDB3          23 +DATA/SLNNGK/C30F698489920BA1E0536F38A8C0B746/DATAFILE/system.405.1073359953
    
    28 rows selected.

    4.从库上创建新的pdb目录

    [root@18c_single ~]# su - oracle

    [oracle@18c_single ~]$ mkdir -p /u01/app/oracle/oradata/ora18c/pdb3

    5.文件转换

    SQL> connect / as sysdba
    alter system set standby_file_management=manual;
    alter session set container=pdb3;
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00026' as '/u01/app/oracle/oradata/ora18c/pdb3/undo_2.403.dbf';
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00025' as '/u01/app/oracle/oradata/ora18c/pdb3/undotbs1.402.dbf';
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00024' as '/u01/app/oracle/oradata/ora18c/pdb3/sysaux.406.dbf';
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00029' as '/u01/app/oracle/oradata/ora18c/pdb3/tps_hxl.404.dbf';
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00028' as '/u01/app/oracle/oradata/ora18c/pdb3/tps_hxl.401.dbf';
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00027' as '/u01/app/oracle/oradata/ora18c/pdb3/users.400.dbf';
    alter database create datafile '/u01/app/oracle/product/18.0.0.0/db_1/dbs/UNNAMED00023' as '/u01/app/oracle/oradata/ora18c/pdb3/system.405.dbf';
    alter session set container=cdb$root;
    alter system set standby_file_management=auto;

    若是已经停掉应用日志的,需要重新应用
    alter database recover managed standby database using current logfile disconnect from session;

    6.尝试打开pdb3

    SQL> alter pluggable database pdb3 open;
    alter pluggable database pdb3 open
    *
    ERROR at line 1:
    ORA-01147: SYSTEM tablespace file 23 is offline

    alter database datafile 23 online;

    7.需要恢复

    SQL> alter session set container=cdb$root;
    SQL>alter system set standby_file_management=auto;
    SQL>alter database recover managed standby database cancel;

    SQL> alter session set container=pdb3;
    SQL>alter pluggable database disable recovery;

    ##tnsslnngk1 是连接到主库的tns
    RMAN> run{
    2> restore pluggable database pdb3 from service tnsslnngk1 ;
    3> }

    Starting restore at 24-MAY-21
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=82 device type=DISK

    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00023 to /u01/app/oracle/oradata/ora18c/pdb3/system.405.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:04
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00024 to /u01/app/oracle/oradata/ora18c/pdb3/sysaux.406.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:08
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00025 to /u01/app/oracle/oradata/ora18c/pdb3/undotbs1.402.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00026 to /u01/app/oracle/oradata/ora18c/pdb3/undo_2.403.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00027 to /u01/app/oracle/oradata/ora18c/pdb3/users.400.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00028 to /u01/app/oracle/oradata/ora18c/pdb3/tps_hxl.401.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: using network backup set from service tnsslnngk1
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00029 to /u01/app/oracle/oradata/ora18c/pdb3/tps_hxl.404.dbf
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
    Finished restore at 24-MAY-21


    SQL> alter session set container=cdb$root;
    SQL> shutdown immediate;

    SQL> startup mount;
    SQL> alter session set container=pdb3;
    SQL> alter pluggable database enable recovery;


    SQL> alter session set container=cdb$root;
    SQL> alter database recover managed standby database disconnect from session;

    8.打开pdb

    alter database recover managed standby database cancel;
    alter database open;
    alter database recover managed standby database disconnect from session;

    select open_mode from v$database;
    SQL> show pdbs;

    CON_ID CON_NAME OPEN MODE RESTRICTED
    ---------- ------------------------------ ---------- ----------
    2 PDB$SEED READ ONLY NO
    3 PDB1 MOUNTED
    4 PDB2 MOUNTED
    5 PDB3 MOUNTED
    SQL> alter pluggable database all open;

    Pluggable database altered.

    SQL> show pdbs;

    CON_ID CON_NAME OPEN MODE RESTRICTED
    ---------- ------------------------------ ---------- ----------
    2 PDB$SEED READ ONLY NO
    3 PDB1 READ ONLY NO
    4 PDB2 READ ONLY NO
    5 PDB3 READ ONLY NO

    经过分析发现,dataguard 环境下,只要 source pdb 是 READ ONLY,那么在primary 上执行创建pdb时,在 standby 上就能顺利创建.
    重点关注下文档 ID 1916648.1

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/hxlasky/p/14804790.html
Copyright © 2011-2022 走看看