12C PDB创建(从seed PDB创建一个PDB)

场景如下:
     
数据库原来PDB都是建在 DATADG1 磁盘组下,现磁盘组空间不足,需新建PDB到 DATADG3 磁盘组。
在 DATADG1 空间充足的情况下可以直接创建PDB如下:

    create pluggable database mas_pdb admin user mas_adm identified by mas_adm;


在 DATADG3 下创建PDB:
    SQL> create pluggable database tl_pdb admin user tl_adm identified by tl_adm roles=(connect) file_name_convert=('+DATADG1','+DATADG3');
    create pluggable database tl_pdb admin user tl_adm identified by tl_adm roles=(connect) file_name_convert=('+DATADG1','+DATADG3')
    *
    ERROR at line 1:
    ORA-01119: error in creating database file
    '+DATADG3/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/pdbseed_temp01.dbf'
    ORA-17502: ksfdcre:4 Failed to create file
    +DATADG3/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/pdbseed_temp01.dbf
    ORA-15173: entry 'DD7C48AA5A4404A2E04325AAE80A403C' does not exist in directory
    'DSCDB'

---可以看到直接转换会报错,只有在 +DATADG3/DSCDB/ 创建 DD7C48AA5A4404A2E04325AAE80A403C 目录后才能创建成功,但是在下次在DATADG3创建就会出现问题,可采用以下方法创建

1、
先在 DATADG3 下创建 tlyd 目录
    asmcmd
    lsdg  
    cd  DATADG3
    mkdir  tlyd


2、创建pdb(从seed PDB创建一个PDB
   ---查看seed pdb的数据文件情况
     SQL> alter session set container=PDB$SEED;

    Session altered.

    SQL> select file_name from dba_data_files;

    FILE_NAME
    --------------------------------------------------------------------------------
    +DATADG1/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/system.266.833377847
    +DATADG1/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/sysaux.265.833377847


    SQL> select file_name from dba_temp_files;

    FILE_NAME
    --------------------------------------------------------------------------------
    +DATADG1/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/pdbseed_temp01.dbf

   ---根据seed pdb的数据文件穿件PDB
     CREATE PLUGGABLE DATABASE tl_pdb
           ADMIN USER tl_adm IDENTIFIED BY tl_adm
           ROLES = (connect)
            DEFAULT TABLESPACE tlyd
    
        DATAFILE '+DATADG3/tlyd/tlyd01.dbf' SIZE 250M AUTOEXTEND OFF       ---可以先不指定
      file_name_convert=(' +DATADG1/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/system.266.833377847 ',
      '+DATADG3/tlyd/system01.dbf',
     ' +DATADG1/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/sysaux.265.833377847 ',
     '+DATADG3/tlyd/sysaux01.dbf',
     ' +DATADG1/DSCDB/DD7C48AA5A4404A2E04325AAE80A403C/DATAFILE/pdbseed_temp01.dbf ',
     '+DATADG3/tlyd/temp01.dbf');           ---标红色的数据文件在下次创建pdb时无需替换,只需替换对应的转换文件即可

    ---文件系统
    CREATE PLUGGABLE DATABASE salespdb
          ADMIN USER salesadm IDENTIFIED BY salesadm
          ROLES = ( connect)
          DEFAULT TABLESPACE sales
            DATAFILE '/oracle/app/oradata/salespdb/sales01.dbf' SIZE 250M AUTOEXTEND ON
     file_name_convert=('/oracle/app/oradata/ORCL/datafile/o1_mf_sysaux_bhj9j15y_.dbf',
     '/oracle/app/oradata/salespdb/system01.dbf',
    '/oracle/app/oradata/ORCL/datafile/o1_mf_system_bhj9j16c_.dbf',
    '/oracle/app/oradata/salespdb/sysaux01.dbf',
    '/oracle/app/oradata/ORCL/datafile/pdbseed_temp012015-03-05_05-48-23-PM.dbf',
    '/oracle/app/oradata/salespdb/temp01.dbf') ;                  



3、启动pdb(如果是RAC,注意在其他节点也要open
    alter  pluggable database anq_pdb open;

4、删除pdb
    drop pluggable database anq_pdb including datafiles;
     drop pluggable database anq_pdb keep datafiles;

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

转载于:http://blog.itpub.net/29953799/viewspace-1677946/

你可能感兴趣的:(12C PDB创建(从seed PDB创建一个PDB))