【12C】Oracle 12C 新特性“可插拔資料庫”功能體驗

kingsql發表於2015-03-09
Oracle 12C 新特性“可插拔資料庫”功能體驗

簡介:本文是好友~Oracle專家【高強】所著,此友擁有多年Oracle工作經驗,從9i -> 12C都有所涉獵,功力深厚可想而知,對Oracle有著一種無以比擬的熱愛,是一位技術大牛,下面轉發一篇剛剛草擬的技術文章,附交流方式

微博:高強_遊手好弦
郵箱: gaoqiangdba@163.com

QQ: 1253771276

#########################我是分隔符#############################
新年新群招募: 中國Oracle精英聯盟 170513055
群介紹:本群是大家的一個技術分享社群,在這裡可以領略大師級的技術講座,還有機會參加Oracle舉辦的技術沙龍,與興趣相投的小夥伴一起笑談風雲起,感悟職場情!
#########################我是分隔符#############################

前言:Oracle 12C加入了一個非常有新意的功能“可插拔資料庫”特性,實現了資料庫(PDB)在“容器”(CDB)上的拔功能,既能提高系統資源的利用率,也簡化大面積資料庫的管理和遷移工作。
原理圖


下面我們體驗一下可插拔資料庫的CDBPDB的操作:

基本資訊:
根容器(CDB):CUP
可插拔資料庫(PDB:TEA


啟動根容器:
[oracle@eric ~]$ export ORACLE_SID=cup
[oracle@eric ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jan 21 16:00:06 2015
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup    -----不會直接啟動所有可插拔資料庫,如需啟動所有可插拔資料庫,執行命令:alter pluggable database all open
ORACLE instance started.
Total System Global Area  767557632 bytes
Fixed Size                  2929112 bytes
Variable Size             574623272 bytes
Database Buffers          184549376 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.

停止根容器:
SQL> shutdown immediate   
Database closed.
Database dismounted.
ORACLE instance shut down.

檢視是否建立了CDB,如果有顯示名字:
SQL> select name,cdb from v$database;
NAME      CDB
--------- ---
CUP       YES

SQL> show parameter service;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      cup

檢視容器名字,其中有3個容器:根容器、種子容器和自己建立的容器:
注:12C中除了容器DB,就是非容器DB

SQL> select con_id,name from v$containers;

    CON_ID NAME
---------- ------------------------------
         1 CDB$ROOT                        ---根容器
         2 PDB$SEED                        ---種子容器,只可讀
         3 TEA                                ---自己建立的可插拔資料庫

SQL> select file_name from dba_data_files;               
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bch020oo_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf

SQL> select file_name from cdb_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/CUP/datafile/o1_mf_system_bch07kvz_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_sysaux_bch020oo_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_undotbs1_bch0d2on_.dbf
/oracle/app/oradata/CUP/datafile/o1_mf_users_bch0d15n_.dbf

建立公共使用者:
SQL> create user c##eric  identified by gao;
User created.

SQL> conn  c##eric/gao                 
ERROR:
ORA-01045: user C##ERIC lacks CREATE SESSION privilege; logon denied    ----沒有許可權,我們可以單獨給其賦予許可權,也可以給其指定角色。
Warning: You are no longer connected to ORACLE.

SQL> conn / as sysdba
Connected.
SQL> grant dba to c##eric container=all;     ---給其DBA角色,角色範圍覆蓋所有的容器
Grant succeeded.

SQL> conn c##eric/gao
Connected.               ---連線成功

切換容器:
首先啟動自己建立的容器資料庫:
SQL> alter pluggable database tea open;   ---首先啟動PDB資料庫

SQL> alter session set container = tea;

Session altered.

SQL> show con_name           ---檢視當前所在的容器名
CON_NAME
------------------------------
TEA

關閉可插拔資料庫:
SQL> alter pluggable database tea close immediate;
Pluggable database altered.

小結:本篇簡單講述了CDB、PDB、NON CDB的含義,實驗部分給大家演示了啟動容器、切換容器、關閉PDB等操作,請大家一起交流與探討。

如果喜歡我的文章就請掃下面二維碼吧!關注微訊號:leonarding_public
在這裡你能得到技術、實事、熱點訊息等新興事物的思考和觀點,別的地方可能沒有的東西。我將為大家提供最新技術與資訊動態,傳遞正能量。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1453202/,如需轉載,請註明出處,否則將追究法律責任。

相關文章