一般信息

数据字典

CDB_FILE$

DBA_PDBS

PDB$SEED

CDB_LOCAL_ADMINAUTH$

DBA_PDB_HISTORY

PDB_HISTORY$

CDB_PDB_SAVED_STATES

DBA_PDB_SAVED_STATES

PDB_PLUG_IN_VIOLATIONS

CDB_RESOURCE_PLAN$

DBMS_PDB

PDB_SPFILE$

CDB_RESOURCE_PLAN_DIRECTIVE$

DBMS_PDB_EXEC_SQL

V$CONTAINERS

CDB_SERVICE$

GV$CONTAINERS

V$PDBS

CDB_HIST_PDB_INSTANCE

GV$PDBS

V$PDB_INCARNATION

CDB_PDBS

GV$PDB_INCARNATION

WRI$_ADV_ADDM_PDBS

CDB_PDB_HISTORY

GV$SESSIONS_COUNT

WRM$_PDB_INSTANCE

CONTAINERS

INT$DBA_PDB_SAVED_STATES

XDB$CDBPORTS

DBA_HIST_PDB_INSTANCE

PDB_ALERT$

角色

CDB_DBA

系统权限

CREATE PLUGGABLE DATABASE

SET CONTAINER

SET CONTAINER

探究SEED PDB

 

从PDB$SEED创建PDB

语法:

CREATE PLUGGABLE DATABASE

ADMIN USER IDENTIFIED BY

FILE_NAME_CONVERT = ('', '')

ROLES = ()

DEFAULT TABLESPACE [DATAFILE ]

EXTENT MANAGEMENT LOCAL <autoallocate |="" uniform="" size="" >

STORAGE ];

例子:

col con_name format a10

col restricted format a10

SELECT v.name, v.open_mode, v.restricted, d.status

FROM v$pdbs v, dba_pdbs d

WHERE v.guid = d.guid

ORDER BY v.create_scn;

NAME                           OPEN_MODE  RESTRICTED STATUS

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

PDB$SEED                       READ ONLY  NO         NORMAL

ALTER PLUGGABLE DATABASE pdb1 OPEN;

SELECT v.name, v.open_mode, v.restricted, d.status

FROM v$pdbs v, dba_pdbs d

WHERE v.guid = d.guid

ORDER BY v.create_scn;

NAME                           OPEN_MODE  RESTRICTED STATUS

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

PDB$SEED                       READ ONLY  NO         NORMAL

SELECT * FROM dba_pdbs;

-- 12.1.0.1 version

-- SELECT * FROM cdb$view(dba_pdbs);

-- 12.1.0.2 versionSELECT * FROM containers(dba_pdbs);

-- 12.1.0.1 version

-- SELECT * FROM cdb$view(cdb_pdbs);

-- 12.1.0.2 version

SELECT * FROM containers(cdb_pdbs);

SELECT table_name, tablespace_name, con_id

FROM containers(dba_tables)

WHERE rownum < 6;

CREATE PLUGGABLE DATABASE pdb1

ADMIN USER TEST IDENTIFIED BY TEST

FILE_NAME_CONVERT = ('/pdbseed/', '/pdb1/');

SELECT v.name, v.open_mode, NVL(v.restricted, 'n/a') RESTRICTED, d.status

FROM v$pdbs v, dba_pdbs d

WHERE v.guid = d.guid

ORDER BY v1;

NAME                           OPEN_MODE  RESTRICTED STATUS

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

PDB1                         MOUNTED    NO         NORMAL

PDB$SEED                       READ ONLY  NO         NORMAL

ALTER SESSION SET CONTAINER=pdb1;

sho con_name

CON_NAME

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

PDB1

ALTER PLUGGABLE DATABASE pdb1 OPEN;

SELECT COUNT(*)FROM dba_tables;

探究数据文件

desc dba_data_files

desc cdb_data_files

SELECT file_name, tablespace_name, online_status

FROM dba_data_files;

SELECT file_name, tablespace_name, online_status, con_id

FROM cdb_data_files;

探究用户

desc dba_users

desc cdb_users

SELECT username, account_status, lock_date, expiry_date

FROM dba_users

ORDER BY 1;

SELECT username, default_tablespace, temporary_tablespace

FROM dba_users

ORDER BY 1;

SELECT username, default_tablespace, temporary_tablespace, con_id

FROM cdb_users

ORDER BY 1;

SELECT username, default_tablespace, temporary_tablespace, con_id

FROM cdb_users

WHERE username like 'TE%'

ORDER BY 1;

ALTER PLUGGABLE DATABASE pdb1 OPEN;

SELECT v.name, v.open_mode, NVL(v.restricted, 'n/a') "RESTRICTED", d.status

FROM v$pdbs v, dba_pdbs d

WHERE v.guid = d.guid

ORDER BY v.create_scn;

NAME                           OPEN_MODE  RESTRICTED STATUS

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

PDB$SEED                       READ ONLY  NO         NORMAL

PDB1 READ WRITE NO         NORMAL

SELECT username, default_tablespace, temporary_tablespace, con_id

FROM cdb_users

WHERE username like 'TE%'

ORDER BY 1;

连接创建PDB

SQL> conn sys@pdb1 as sysdba

Enter password: *********Connected.

SQL> GRANT create session TO TEST;

Grant succeeded.

SQL> SELECT COUNT(*) FROM cdb_sys_privs;

COUNT(*)

0

SQL> SELECT COUNT(*) FROM dba_sys_privs;

COUNT(*)

987

SQL> SELECT privilege, admin_option, common

FROM dba_sys_privs

WHERE grantee = 'TEST';

PRIVILEGE                                ADM COM

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

CREATE SESSION                           NO  NO

col grantee format a30

col granted_role format a30

SELECT * FROM dba_role_privs

WHERE grantee = 'TEST';

GRANTEE                        GRANTED_ROLE                   ADM DEF COM

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

TEST                        PDB_DBA                        YES YES NO

克隆PDB

从一个容器现有PDB克隆新的PDB

语法:

CREATE PLUGGABLE DATABASE FROM FILE_NAME_CONVERT=('', '<path');< span="" style="word-wrap: break-word;">

例子:

ALTER PLUGGABLE DATABASE pdb1 CLOSE;

ALTER PLUGGABLE DATABASE pdb1 OPEN READ ONLY;

CREATE OR REPLACE VIEW pdb_status AS

SELECT v.name, v.open_mode, NVL(v.restricted, 'n/a') "RESTRICTED", d.status

FROM v$pdbs v, dba_pdbs d

WHERE v.guid = d.guid

ORDER BY v.create_scn;

SELECT * FROM pdb_status;

NAME                           OPEN_MODE  RESTRICTED STATUS

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

PDB$SEED                       READ ONLY  NO         NORMAL

PDB1                        READ ONLY  NO         NORMAL

CREATE PLUGGABLE DATABASE pdb1_t FROM pdb1FILE_NAME_CONVERT = ('\uwpdb\', '\uwpdbd\');

SELECT * FROM pdb_status;

NAME                           OPEN_MODE  RESTRICTED STATUS

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

PDB$SEED                       READ ONLY  NO         NORMAL

PDB1                        READ ONLY  NO         NORMAL

创建时的UNPLUG/PLUGPDB

Unplug 子句

Unplug 子句

从unplugged创建

语法:

ALTER PLUGGABLE DATABASE UNPLUG INTO '';

例子:

conn / as sysdba

ALTER PLUGGABLE DATABASE pdb1 CLOSE;

ALTER PLUGGABLE DATABASE pdb1 UNPLUG INTO 'pdb1.xml';

-- 将文件ftp到新服务器

-- the xml 文件在 $ORACLE_HOME/database下

SQL> CREATE PLUGGABLE DATABASE pdb2 USING 'pdb1.xml'

SOURCE_FILE_NAME_CONVERT = ('\pdb1\', '\pdb2\')

NOCOPY

STORAGE (MAXSIZE 1G MAX_SHARED_TEMP_SIZE 20M)

TEMPFILE REUSE;

更改PDB

设置子句

默认版本

语法:

ALTER PLUGGABLE DATABASE

例子:

conn / as sysdba

ALTER SESSION SET CONTAINER = pdb1;

CREATE EDITION test_ed;

ALTER PLUGGABLE DATABASE pdb1 DEFAULT EDITION = test_ed;

默认表空间

语法:

ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE ;

例子:

conn / as sysdba

ALTER SESSION SET CONTAINER = pdb1;

SELECT tablespace_nameFROM dba_tablespaces;

ALTER PLUGGABLE DATABASE pdb1 DEFAULT TABLESPACE oradata;

默认表空间类型

ALTER PLUGGABLE DATABASE SET DEFAULT TABLESPACE;

conn / as sysdba

ALTER SESSION SET CONTAINER = pdb1;

ALTER PLUGGABLE DATABASE pdb1 SET DEFAULT BIGFILE TABLESPACE;

默认临时表空间

ALTER PLUGGABLE DATABASE DEFAULT TEMPORARY TABLESPACE ;;

conn / as sysdba

ALTER SESSION SET CONTAINER = pdb1;

ALTER PLUGGABLE DATABASE pdb1 DEFAULT TEMPORARY TABLESPACEtemp_grp;

重命名

语法:

ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO [.domain];

例子:

conn / as sysdba

ALTER SESSION SET CONTAINER = pdb1;

SELECT *FROM global_name;

ALTER PLUGGABLE DATABASE pdb1 RENAME GLOBAL_NAME TO pdb$dev;

PDB内设置时区

语法:

ALTER PLUGGABLE DATABASE [] SET TIME_ZONE = '';

ALTER PLUGGABLE DATABASE SET TIME_ZONE = '< | -> HH:MI';

例子:

conn sys@pdb1 as sysdba

ALTER SESSION SET CONTAINER = pdb1;

SELECT value$ FROM props$

WHERE name = 'DBTIMEZONE';

ALTER PLUGGABLE DATABASE pdb1 SET TIME_ZONE = 'Japan';

SELECT value$FROM props$WHERE name = 'DBTIMEZONE';

ALTER PLUGGABLE DATABASE pdb1 SET TIME_ZONE = '00:00';

SELECT value$FROM props$WHERE name = 'DBTIMEZONE';

 

数据文件重命名

语法:

ALTER PLUGGABLE DATABASE RENAME FILE '' TO '';

例子:

conn sys@pdb1 as sysdba

ALTER PLUGGABLE DATABASE CLOSE;

​ALTER PLUGGABLE DATABASE pdb1

RENAME FILE 'C:\APP\ORACLE\ORADATA\PDB1\PDB11.DBF'

TO 'C:\APP\ORACLE\ORADATA\PDB1\PDB101.DBF';

--原数据文件需手工去除

创建数据文件

ALTER PLUGGABLE DATABASE CREATE DATAFILE <'' | filenumber> [AS | NEW]

更改数据文件

ALTER PLUGGABLE DATABASE DATAFILE <'' | filenumber> <online |="" offline="" [for="" drop]="" resize="" | | END BACKUP>;

更改临时文件

ALTER PLUGGABLE DATABASE TEMPFILE <'' | filenumber> <resize |="" | DROP [INCLUDING DATAFILES] | ONLINE | OFFLINE>;

移除数据文件

ALTER PLUGGABLE DATABASE MOVE DATAFILE <'' | ASM_file_name | filenumber>TO '' [REUSE] [KEEP]

补充日志

语法:

ALTER PLUGGABLE DATABASE SUPPLEMENTAL LOG <data |="" | >

例子:

ALTER PLUGGABLE DATABASE pdb1 ADD SUPPLEMENTAL LOG DATA;

存储参数

语法:

ALTER PLUGGABLE DATABASE STORAGE <unlimited |="" >;

例子:

ALTER PLUGGABLE DATABASE pdb1 STORAGE UNLIMITED;

例子:

ALTER PLUGGABLE DATABASE STORAGE (MAX_SHARED_TEMP_SIZE <unlimited |="" );

例子:

ALTER PLUGGABLE DATABASE pdb1 STORAGE (MAX_SHARED_TEMP_SIZE UNLIMITED);

Datafile子句

数据文件联机/脱机

语法:

ALTER PLUGGABLE DATABASE DATAFILE ALL ;

例子:

conn / as sysdba

ALTER SESSION SET CONTAINER = pdb1;

ALTER PLUGGABLE DATABASE pdb1 CLOSE;

SELECT open_modeFROM v$pdbs;

SELECT file#, status, enabledFROM v$datafile;

ALTER PLUGGABLE DATABASE pdb1 DATAFILE ALL OFFLINE;

ALTER PLUGGABLE DATABASE pdb1 DATAFILE ALL ONLINE;

SELECT file#, status, enabledFROM v$datafile;

ALTER PLUGGABLE DATABASE pdb1 OPEN;

Recovery子句

备份和恢复PDB

语法:

ALTER PLUGGABLE DATABASE RECOVER [AUTOMATIC] [FROM ''  DATABASE;例子:

ALTER PLUGGABLE DATABASE pdb1 RECOVER AUTOMATIC DATABASE;

语法:

ALTER PLUGGABLE DATABASE BACKUP;

例子:

conn / as sysdba

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

ALTER PLUGGABLE DATABASE pdb1 OPEN;

ALTER SESSION SET CONTAINER = PDB1;

ALTER PLUGGABLE DATABASE pdb1 BEGIN BACKUP;

ALTER PLUGGABLE DATABASE pdb1 END BACKUP;

Change 子句

读写模式打开

语法:

ALTER PLUGGABLE DATABASE OPEN READ [WRITE] [UPGRADE] [RESTRICTED] [FORCE][INSTANCES = <('' | )] >);

例子:

ALTER PLUGGABLE DATABASE pdb1 OPEN;

只读模式打开

语法:

ALTER PLUGGABLE DATABASE OPEN READ ONLY ;

例子:

ALTER PLUGGABLE DATABASE pdb1 OPEN READ ONLY;

Resetlogs模式打开

语法:

ALTER PLUGGABLE DATABASE OPEN RESETLOGS ;

例子:

ALTER PLUGGABLE DATABASE pdb1 OPEN RESETLOGS;

打开/关闭PDB

语法:

ALTER PLUGGABLE DATABASE CLOSE [IMMEDIATE];

例子:

ALTER PLUGGABLE DATABASE pdb1 CLOSE;

打开/关闭所有PDB

语法:

ALTER PLUGGABLE DATABASE ALL CLOSE [IMMEDIATE];

例子:

ALTER PLUGGABLE DATABASE ALL CLOSE;

只读模式打开PDB

语法:

ALTER PLUGGABLE DATABASE READ ONLY;

例子:

conn / as sysdba

ALTER PLUGGABLE DATABASE pdb1 OPEN READ ONLY;

以READ ONLY RESTRICTED模式打开PDB

语法:

ALTER PLUGGABLE DATABASE OPEN READ ONLY RESTRICTED;

例子:

conn / as sysdbaALTER PLUGGABLE DATABASE pdb1 CLOSE;ALTER PLUGGABLE DATABASE pdb1 OPEN READ ONLY RESTRICTED;

移除PDB

从容器中删除PDB

语法:

DROP PLUGGABLE DATABASE [INCLUDING DATAFILES];

例子:

ALTER PLUGGABLE DATABASE pdb1 CLOSE;DROP PLUGGABLE DATABASE pdb1 INCLUDING DATAFILES;

 

详谈Oracle12c新特点容器数据库&amp;可插拔数据库(CDB&amp;PDB)的更多相关文章

  1. Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本

    对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文 ...

  2. oracle12c新特点之可插拔数据库(Pluggable Database,PDB)

    1.    12c PDB新特点的优势 1)    可以把多个PDB集成进一个平台. 2)    可以快速提供一个新的PDB或一个已有PDB的克隆. 3)    通过拔插技术,可以快速把存在的数据库重 ...

  3. Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)

    Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB).本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB).1. 配置CDB中的实例 ...

  4. Oracle12cr1新特性之容器数据库(CDB)和可插拔数据库(PDB) 的启动和关闭

    Oracle12c中引入的多宿主选项(multitenant option)允许一个容器数据库容纳多个独立的可插拔数据库(PDB).本文将说明如何启动和关闭容器数据库(CDB)和可插拔数据库(PDB) ...

  5. Oracle 12C 新特性 - “可插拔数据库”功能

    Oracle 12C加入了一个非常有新意的功能"可插拔数据库"特性,实现了数据库(PDB)在"容器"(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积 ...

  6. Oracle可插拔数据库的jdbc连接串写法

    我在服务器上部署某个第三方系统的数据库的时候,服务器数据库版本为oracle 12c.我采用的方式是新建了一个实例.访问正常. 后来项目的负责人告诉我,oracle12C支持所谓的可插拔数据库.可插拔 ...

  7. 如何连接oracle 12c可插拔数据库

    启动根容器:[oracle@eric ~]$ export ORACLE_SID=cup[oracle@eric ~]$ sqlplus / as sysdbaSQL*Plus: Release 12 ...

  8. Oracle 12c的可插拔数据库PDB

    1. 默认安装之后会有一个可插拔数据库:pdborcl 2. 启动根容器: [oracle@eric ~]$ export ORACLE_SID=orcl [oracle@eric ~]$ sqlpl ...

  9. 12c可插拔数据库CDB与PDB管理总结

    12c可插拔数据库CDB与PDB管理总结 创建pdb1.直接创建 CREATE PLUGGABLE DATABASE pdb2 ADMIN USER boswll IDENTIFIED BY orac ...

随机推荐

  1. sublime text3 license

    —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-821385 8A353C41 872A0D5C DF9B2950 AFF6F6 ...

  2. win10 安装Oracle 11g release 2

    参考资料: Oracle Database 11g Release 2 安装详解 - WIN 10 系统 准备工作: 安装 Oracle 11g 之前,要确保在此操作系统上未安装过 Oracle,或者 ...

  3. BZOJ 2754 【SCOI2012】 喵星球上的点名

    题目链接:喵星球上的点名 首先可以发现姓和名两个串就是逗你玩的.在两个串中间插入一个\(10001\),当成一个串做就可以了. 于是我们的问题转化为了: 有\(n\)个串\(A_1,A_2,\dots ...

  4. hdu 3829 Cat VS Dog 二分图匹配 最大点独立集

    Cat VS Dog Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 125536/65536 K (Java/Others) Prob ...

  5. overload、override、overwrite的介绍

    答:(1)overload(重载),即函数重载: ①在同一个类中: ②函数名字相同: ③函数参数不同(类型不同.数量不同,两者满足其一即可): ④不以返回值类型不同作为函数重载的条件. (2)over ...

  6. eclipse maven maven-compiler-plugin 报错 完全解决

    报错如下: Maven install失败 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:comp ...

  7. 如何连接oracle 12c可插拔数据库

    启动根容器:[oracle@eric ~]$ export ORACLE_SID=cup[oracle@eric ~]$ sqlplus / as sysdbaSQL*Plus: Release 12 ...

  8. [osg]OSG使用更新回调来更改模型

    使用回调类实现对场景图形节点的更新.本节将讲解如何使用回调来实现在每帧的更新遍历(update traversal)中进行节点的更新.        回调概览       用户可以使用回调来实现与场景 ...

  9. 使用@JsonFormat引起的时间比正常时间慢8小时解决方法

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

  10. Codeforces 1072 C - Cram Time

    C - Cram Time 思路:首先找到最大的x,使得x*(x+1)/2 <= a+b 那么一定存在一种分割使得 a1 <= a 且 b1 <= b 证明: 从x 到 1枚举过去, ...