详谈Oracle12c新特点容器数据库&可插拔数据库(CDB&PDB)
一般信息
|
数据字典 |
|
|||||||||||||||||||||||||||||||||
|
角色 |
|
|||||||||||||||||||||||||||||||||
|
系统权限 |
|
|||||||||||||||||||||||||||||||||
|
探究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; 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新特点容器数据库&可插拔数据库(CDB&PDB)的更多相关文章
- Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本
对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文 ...
- oracle12c新特点之可插拔数据库(Pluggable Database,PDB)
1. 12c PDB新特点的优势 1) 可以把多个PDB集成进一个平台. 2) 可以快速提供一个新的PDB或一个已有PDB的克隆. 3) 通过拔插技术,可以快速把存在的数据库重 ...
- Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)
Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB).本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB).1. 配置CDB中的实例 ...
- Oracle12cr1新特性之容器数据库(CDB)和可插拔数据库(PDB) 的启动和关闭
Oracle12c中引入的多宿主选项(multitenant option)允许一个容器数据库容纳多个独立的可插拔数据库(PDB).本文将说明如何启动和关闭容器数据库(CDB)和可插拔数据库(PDB) ...
- Oracle 12C 新特性 - “可插拔数据库”功能
Oracle 12C加入了一个非常有新意的功能"可插拔数据库"特性,实现了数据库(PDB)在"容器"(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积 ...
- Oracle可插拔数据库的jdbc连接串写法
我在服务器上部署某个第三方系统的数据库的时候,服务器数据库版本为oracle 12c.我采用的方式是新建了一个实例.访问正常. 后来项目的负责人告诉我,oracle12C支持所谓的可插拔数据库.可插拔 ...
- 如何连接oracle 12c可插拔数据库
启动根容器:[oracle@eric ~]$ export ORACLE_SID=cup[oracle@eric ~]$ sqlplus / as sysdbaSQL*Plus: Release 12 ...
- Oracle 12c的可插拔数据库PDB
1. 默认安装之后会有一个可插拔数据库:pdborcl 2. 启动根容器: [oracle@eric ~]$ export ORACLE_SID=orcl [oracle@eric ~]$ sqlpl ...
- 12c可插拔数据库CDB与PDB管理总结
12c可插拔数据库CDB与PDB管理总结 创建pdb1.直接创建 CREATE PLUGGABLE DATABASE pdb2 ADMIN USER boswll IDENTIFIED BY orac ...
随机推荐
- HDU 3047 Zjnu Stadium(带权并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=3047 题意: 给出n个座位,有m次询问,每次a,b,d表示b要在a右边d个位置处,问有几个询问是错误的. 思路: ...
- 51nod 1437 迈克步(单调栈)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1437 题意: 思路: 单调栈题.求出以每个数为区间最大值的区间范围即可. ...
- Go 结构体(Struct)
引用曾经看到的一篇文章里面对 Golang 中结构体的描述,如果说 Golang 的基础类型是原子,那么 结构体就是分子.我们都知道分子是由原子组成的,换言之就是结构体里面可以包含基础类型.切片. 字 ...
- webpack插件配置(二)- HtmlWebpackPlugin
作用 简化Html文件的创建,以便为你的webpack bundle包提供服务.这对于在文件名中包含每次会随着编译而发生变化的hash的webpack bundle尤其有用.插件可以生成一个HTML文 ...
- 【抓包】【Charles】
Mac抓包神器-----Charles Charles 是一款Mac上的HTTP代理服务器.HTTP监视器.反向代理服务器,可以让开发者监视查看所有连接互联网的HTTP通信,包括请求,响应和HTTP头 ...
- ThreadPoolExecutor最佳实践--如何选择线程数
去年看过一篇<ThreadPoolExecutor详解>大致讲了ThreadPoolExecutor内部的代码实现. 总结一下,主要有以下四点: 当有任务提交的时候,会创建核心线程去执行任 ...
- springBoot集成Redis遇到的坑(择库)源码分析为什么择库失败
提示: springboot提供了一套链接redis的api,也就是个jar包,用到的连接类叫做LettuceConnectionConfiguration,所以我们引入pom时是这样的 <de ...
- JAVA基础知识总结:十二
一.String类 字符串是一种特殊的对象,一旦被初始化就不能被改变了 字符串常量存储于常量池中 二.StringBuffer类 是一个字符串缓冲区,相当于一个容器 特点 a.可以对字符串进行增加和删 ...
- Python全栈开发-有趣的小程序
进度条的打印 import sys,time for i in range(20): sys.stdout.write('$') #stdout是标准输出的意思,在一般电脑上,stdout的 ...
- 日常英语---十一、MapleStory/Monsters/Level 201-210(Dark Demon Eagle Rider)
日常英语---十一.MapleStory/Monsters/Level 201-210(Dark Demon Eagle Rider) 一.总结 一句话总结:骑着鹰的快速飞行的恶魔,进入地图后跟着你. ...