Oracle PDB Creat

1. CREATE PLUGGABLE DATABASE "NEW_PDB" ADMIN USER "Admin" IDENTIFIED BY ""
  FILE_NAME_CONVERT=NONE
  STORAGE UNLIMITED TEMPFILE REUSE;
代表在OMF 开启情况下创建PDB,
当启用OMF时:
开启OMF自动管理文件,在创建表空间时若不指定表空间的创建类型(FILE_NAME_CONVERT=NONE),指定数据文件位置及大小,OMF会自动管理指定默认路径。
在CDB 下查看OMF 设定的路径:
SQL> show parameter db_create_file_dest
假设OMF 设置了,则会显示:
****************************************
NAME                TYPE   VALUE                                 
------------------- ------ --------------------------------------
db_create_file_dest string C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW6
*****************************

如果OMF 关闭了,则会显示
***************************
NAME                TYPE   VALUE                                 
------------------- ------ --------------------------------------
db_create_file_dest string
******************************************

此处的db_create_file_dest 可以用:
SQL>alter system set db_create_file_dest='C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEWPDB' scope=both;
来设置,db_create_file_dest 指的是要新建的PDB 的路径,不是源PDB(种子PDB) 的路径。
如果将db_create_file_dest 设置成PDB$SEED 所在路径,
假设 PDB$SEED='C:\APP\ADMINISTRATOR\ORADATA\ORCL\DATAFILE'
则时会在C:\app\Administrator\oradata\ORCL\DATAFILE\ORCL\A35DD84C04E44EC88A436E385AB1DACF\DATAFILE 下创建PDB表空间
如果将db_create_file_dest='C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEWPDB'
则时会在C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEWPDB\ORCL\A35DD84C04E44EC88A436E385AB1DACF\DATAFILE 下创建PDB表空间
 

#####################################################################################
2.
SQL>alter system set db_create_file_dest=''
当关闭OMF时:
表示不指定OMF,用1 处的语句创建PDB会报错:“Failed to process SQL command - ORA-65016: FILE_NAME_CONVERT must be specified”
(此时系统不知道要把新的PDB 创建到哪里),此时应该手动指定:FILE_NAME_CONVERT
但是如果仅仅指定PDB$SEED 文件夹路径名:
 CREATE PLUGGABLE DATABASE NEW6 ADMIN USER NEW6ADM IDENTIFIED BY USER123
  ROLES=(DBA)
  FILE_NAME_CONVERT=(
    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DATAFILE',
    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW6'
  );

此时创建会报:ORA-01276: Cannot add file C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW6\O1_MF_SYSTEM_G0B17RL4_.DBF.
具体解决办法网上不详细。
此时应该手动指定全部名字:
CREATE PLUGGABLE DATABASE NEW11 ADMIN USER NEW11USER IDENTIFIED BY USER123
  ROLES=(DBA)
DEFAULT TABLESPACE NEW11SPACE
DATAFILE 'C:\app\Administrator\oradata\ORCL\NEW11\NEW11SP.DBF' SIZE 50M AUTOEXTEND ON
  FILE_NAME_CONVERT=(
    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DATAFILE\O1_MF_SYSTEM_G0B17RL4_.DBF', 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW11\O1_MF_SYSTEM_G0B17RL4-NEW_PDB.DBF',
    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DATAFILE\O1_MF_SYSAUX_G0B17RL4_.DBF', 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW11\O1_MF_SYSAUX_G0B17RL4-NEW_PDB.DBF',
    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DATAFILE\O1_MF_UNDOTBS1_G0B17RL4_.DBF', 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW11\O1_MF_UNDOTBS1_G0B17RL4-NEW_PDB.DBF',
    'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DATAFILE\TEMP012018-12-03_18-27-22-533-PM.DBF', 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW11\TEMP012018-12-03_18-27-22-533-P-NEW_PDB.DBF'
  )
  STORAGE UNLIMITED
  PATH_PREFIX = 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\NEW11';
查看PDB$SEED 表空间:
首先确认在CDB用户下:
alter session set container=pdb$seed;
select FILE_NAME from dba_data_files;
(显示PDBSEED 文件位置) 
切回CDB
alter session set container=CDB$ROOT;

3. 创建完后登陆当前PDB!!!!! 非常重要。

ALTER PLUGGABLE DATABASE NEW11 OPEN READ WRITE;
alter session set container=NEW11;
select FILE_NAME from dba_data_files;
4. 创建永久表空间: 参考书本。。。
5. 创建用户: 参考书本
6. 授权: 参考书本
 
https://blog.csdn.net/leshami/article/details/73242500
########################################
表DBA_DATA_FILES是数据库数据文件信息表;
列DBA_DATA_FILES.FILE_NAME是数据库数据文件的名字,也是物理文件存放地址;
列DBA_DATA_FILES.FILE_ID 是数据库文件的ID;
列DBA_DATA_FILES.TABLESPACE_NAME 是所属表空间的名字;
列DBA_DATA_FILES.BYTES是文件的大小,以bytes为单位;
列DBA_DATA_FILES.BLOCKS是ORACLE文件的大小;
列DBA_DATA_FILES.STATUS是文件的状态:“无效”或者“有效”;
列column DBA_DATA_FILES.RELATIVE_FNO是表空间相对文件号;
列DBA_DATA_FILES.AUTOEXTENSIBLE是否自动扩展;
列DBA_DATA_FILES.MAXBYTES是文件的最大多少byte;
列DBA_DATA_FILES.MAXBLOCKS是ORACLE文件的最大数;
列DBA_DATA_FILES.INCREMENT_BY默认自动增量值;
列DBA_DATA_FILES.USER_BYTES是指文件中有用的大小;
列DBA_DATA_FILES.USER_BLOCKS是指ORACLE文件有用的大小;

猜你喜欢

转载自www.cnblogs.com/YichengLiu/p/11050672.html
pdb