oracle12c安裝及使用要點

edwards63發表於2014-02-11

1、按照正常步驟安裝好資料庫後,此時存在一個CDB和一個PDB,透過lsnrctl status命令可以看監聽是否正常及是否監聽到PDB

    2、資料庫起來後,預設PDBmount狀態,透過執行alter PLUGGABLE database pdb1 open;或者執行alter PLUGGABLE database all open;來開啟PDB資料庫,透過執行alter PLUGGABLE database pdb1 close;或者alter PLUGGABLE database all close;來關閉PDB資料庫;

    3、登入PDB,首先必須在TNSNAMES檔案中加入如下內容:

pdb1 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = THINKED)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = pdb1)

    )

  )

在設定了以上內容後,可以執行以下命令登入PDB

$sqlplus sys/xifenfei@pdb1 as sysdba

或者在以sysdba登入CDB後,執行以下命令:

sql>alter session set container=pdb1;

    4、建立使用者

    建立使用者預設的是container=all,cdb中只能建立全域性使用者(c##開頭),會在cdb和所有的pdb中建立該使用者(但是pdb中的全域性使用者需要另外授權才能夠在pdb中訪問)。在pdb中建立的使用者只能為本地使用者。

    按照以上內容理解一般我們日常使用的業務使用者應該是建立在PDB下的。

    5、使用者授權

    使用者授權預設情況下是隻會給當前container,cdb中也可以指定container=all,對所有openpdb且存在該使用者都進行授權。

    6、修改引數

    ROOT中修改引數,預設情況和指定container=all/current均是所有openpdb都生效。

    透過測試我們發現在獨立修改pdb引數之時,其本質是在pdb_spfile$基表中插入或者修改相關記錄。

    透過對pdb_spfile$基表的分析,證明pdb中不同於root的引數是記錄在rootPDB_SPFILE$基表中。整個CDB的工作原理是如果在PDB_SPFILE$中無相關引數記錄,則繼承cdb的引數檔案中的值,如果PDB_SPFILE$中有記錄則使用該值覆蓋cdb引數檔案值。

    進一步的,刪除pdb_spfile$基表中相應值來進行驗證,pdb的引數值會自動繼承cdb中的引數。

    oracle 12cpdb資料庫預設是不起來的,下面介紹一下pdb起關的一些常用命令。

預設狀態:

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

         2 PDB$SEED                       READ ONLY  NO

         3 PDB1                           MOUNTED

         4 PDB2                           MOUNTED

全部開啟pdb:

SQL>  alter pluggable database all  open;

Pluggable database altered.

 全部關閉pdb:

SQL> alter pluggable database all close immediate;

Pluggable database altered.

當然也可以對個別pdb庫關閉或開啟:

SQL> alter pluggable database PDB1 close immediate;

Pluggable database altered.

SQL> alter pluggable database PDB1 open;

Pluggable database altered.

怎麼樣讓pdb隨著instance起來而起來呢?需要寫一個TRIGGER來拉動pdb

conn / as sysdba

CREATE TRIGGER open_all_pdb

   AFTER STARTUP

   ON DATABASE

BEGIN

   EXECUTE IMMEDIATE 'alter pluggable database all open';

END open_all_pdb;

/

    7ORACLE 12CEnterprise Manager Database Express 12c相對於11G10GEnterprise Manager,從功能上說確實精簡了很多,比如不支援線上檢視AWR,不支援線上操作不備份,不支援對SCHEDULER的操作等等,減少了功能的同時也大大的降低了其使用難度,不用向以前以前還需要啟動dbconsole,需要配置資料庫等等一些繁瑣的操作,還經常出現一些莫名其妙的問題不得不重建EM。預測幾年之後EM Express的使用人說可能會增加(資料庫升級到12C是一個因素,有些人畢竟不會購買GC)。在12CExpress版本中,預設情況下只需要在對應的pdb使用者下執行如下操作即可啟用EM Express
設定http
exec DBMS_XDB_CONFIG.SETHTTPPORT(http_port_number);

設定https
exec DBMS_XDB_CONFIG.SETHTTPSPORT(https_port_number);

注意:Each container must use a unique port for EM Express,同時對於有些機器預設帶的IE8,在進行EM登入時會報錯,出現不能登入的現象,一般升級到IE9就應該可以正常使用。

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

相關文章