oracle 19c 初體驗

long_small發表於2020-05-27
  1. 概念理解cdb vs pdb,在以下所示版本列表中12CR2  12.2.0.1以後就有的概念(作者由於沒有用過12C,18C),注:如果沒有理解這兩個概念,可能就無法運算元據庫了(與11.2.0.4之前搭建一套環境,安裝資料庫,就開始操作不同了)

    Oracle12c版本的說明: 
    Oracle12cR2=12.2.0.1 
    Oracle18C=12.2.0.2 
    Oracle19c=12.2.0.3

    來自官方文件:Administrator’s Guide--> Multitenant Administrator's Guide中


    1.1 About the Multitenant Architecture

    The  multitenant architecture enables an Oracle database to function as a multitenant container database (CDB).A   includes zero, one, or many customer-created pluggable databases (PDBs). A   is a portable collection of schemas, schema objects, and nonschema objects that appears to an Oracle Net client as a  . All Oracle databases before Oracle Database 12 c were non-CDBs.

    簡單一點理解,CDB就是一個容器(或者說例項instance),PDB就是傳統的database概念,重要一點就是CDB可以包含多個pdb。如下例項名htdb,CDB就需要到資料庫裡面查詢了


  2. 實操感受,pdb是首次dbca建立資料庫時候,提示需要建立的pdb,其他但是系統自帶的

    安裝了資料庫,以為sqlplus / as sysdba之後,解鎖scott使用者,建立資料檔案都一一失敗了(這就是與11.2.0.4以前不同之處了)。

    這些操作需要連線指定的pdb才可以,命令alter session set container=pdb19;就代表連線這個pdb19庫

    sqlplus / as sysdba之後,建立使用者失敗

    以為是語法問題,檢查了一下,語法沒有問題

    SQL> show con_name


    CON_NAME

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

    CDB$ROOT

    SQL> show pdbs


        CON_ID CON_NAME   OPEN MODE  RESTRICTED

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

    2 PDB$SEED   READ ONLY  YES

    3 PDB19   MOUNTED

    SQL> alter session set container=pdb19

      2  ;


    Session altered.


    SQL> show con_name


    CON_NAME

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

    PDB19

    SQL> create user longge identified by oracle;

    create user longge identified by oracle


    ERROR at line 1:

    ORA-01109: database not open

    提示資料庫沒有open,從前面show pdbs也可以看到是mount,直接猜測執行以下命令open

    SQL> alter database open;

    Database altered.


    SQL> create user longge identified by oracle;                       

    User created.以下語句都沒有問題,可以看到pdb下面的資料檔案,新建表空間

    上面使用者雖然建立成功,但是要連線pdb好像還差點,如下錯誤出現

    以為是密碼簡單了不行,後面修改成其他得同樣報錯,百度一下,需要修改tnsname.ora檔案,將pdb名稱加入進去

    使用conn longge/abcd1234@HTDB;連線,如下是修改後得 tnsname.ora檔案

    又是新錯誤,給授權一下

    SQL> alter session set container=pdb19;


         Session altered.


       SQL> grant RESTRICTED SESSION to longge;

    


  3 scott使用者與alert日誌

有了資料庫,得有些資料測試,熟悉得scott使用者沒有,百度了一下說 pdb中預設不包含scott使用者。

要執行以下指令碼產生

$ORACLE_HOME/rdbms/admin/utlsampl.sql

注:需要修改腳步兩處內容

     (1) CONNECT SCOTT/tiger     ----- 這個地方需要進行修改增加連線串 ,先配置好 tnsnames.ora

     (2)在CONNECT SCOTT/tiger@HTDB前加一行grant RESTRICTED SESSION to scott;

修改後內容如下(標紅是修改的,共2行內容):


sys使用者執行指令碼

4 再說說alert日誌,位置貌似變了

[oracle@long03s admin]$ cd /home/oracle/patch/rdbms/log

[oracle@long03s log]$ ls -lrt |grep alert

[oracle@long03s log]$ ls -lrt |grep -i alert

[oracle@long03s log]$ ls -lrt |grep -i log

-rw-r-----. 1 oracle oinstall   120 May 25 02:19 qopatch.log

-rw-r-----. 1 oracle oinstall  6147 May 27 22:04 qopatch_log.log

這一看就不像alert日誌

繼續百度一下,提示在這個檢視指定的有

看著有個alert感覺這個像,去找找試試,結果被打臉了,不是的

原來在trace目錄下( Diag Trace   /u01/app/oracle/diag/rdbms/htdb/htdb/trace

注:11g 也是在trace目錄下

好了,掌握這些估計能基本操作了,先到這裡

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