Oracle 12C EM Express配置及問題處理

    Oracle的EM是EnterpriseManager的縮寫,可翻譯爲Oracle數據庫的企業管理器。在Oracle10g之後,能夠經過oracle EM使用Web界面來監控,管理,維護Oracle數據庫。DBA能夠從任何能夠訪問web應用的位置經過OEM來對數據庫行各類管理和監控。html

    在11g中,OEM分爲Grid control和Database control,他們均可以用來作DB的管理。從DB管理的角度,兩者最大的差異在於Grid能夠監控和集中管理多個數據庫,而database control只能管理監控一個數據庫,不能用於監控多個數據庫,它只在數據庫上運行。html5

    (Gridcontrol能夠監控整個Oracle生態環境,它具備一箇中心存儲倉庫,用於收集有關多個計算機上的多個目標的數據,而且提供一個界面來顯示全部已發現目標的共同信息。)web

關於EM Express 數據庫

   在12c中,12c數據庫的管理能夠經過使用cloud control或者Database Express來實現,12c再也不支持database control。EM express是一個很是簡化版本Database control,僅提供最基本的數據庫管理和性能監控管理。例如若是你想作備份恢復,你只能經過cloud control(EMCC)來作,經過EM Express你能夠view數據庫的基本參數信息,存儲信息,添加數據數據文件,表空間,用戶管理等。express

   在EM express上沒有中間件或者中間層,這樣保證了它在oracle數據庫server上的運行開銷很是很是小。它是經過使用oracle的XDB server構建在oracle數據庫內部的,具體參考oracle XDB的一些內容。瀏覽器

EM Express的配置session

(一)自動配置oracle

  在dbca建立數據庫的時,默認會選擇配置EMX,若是你不想使用EMX,能夠在這個時候去掉這個默認的選擇。後面再想使用的話也能夠手動去配置。EM Express不是安裝的,個人理解,就像社區的光纖,已經拉到你家門外了,你能夠選擇不去使用它,這樣你不拉線,不去營業廳申請開通就行。它不是一個獨立安裝卸載的東西,這點與以前的11g的Database control不一樣,關於EM Express的管理,也沒有專門的命令行命令去控制它的關閉和開啓。像以前的比喻,若是你不想使用你把線拉掉就行了。tcp

dbca配置EM Express:dbca建立結束後會顯示一個訪問EM Express的URL。性能

(二)手動配置

    手動配置在官方文檔上有詳細的說明,其實咱們通常數據庫都是使用1521端口,用不到文檔上說明的狀況,能夠在DB中直接去執行命令配置就ok,下面我簡單說下步驟,具體參見官方文檔:

–Step1.Configure and start the Oracle Net Listener (the listener).
–Step2.init.ora(when the listener is running on a non standard port )
   init.ora              local_listener=inst1

where inst1 is a TNSNAMES entry defined in tnsnames.ora that points to the listener.

For example :tnsnames.ora
inst1= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1234))(CONNECT_DATA=(SERVICE_NAME=service_name)(SERVER=DEDICATED)))

–Step3. Enable the TCP dispatcher by adding the following entry to the init.ora file for the database you want to manage using EM Express:
          dispatchers="(PROTOCOL=TCP)(SERVICE=<sid>XDB)"

例如:dispatchers="(PROTOCOL=TCP)(SERVICE=ORCLXDB)"For example:

-Step4. Restart the database so that the changes made in the init.ora file take effect.
Configure 5500 for EM Express 
netstat -aon|findstr "5500"  --檢查肯定該端口沒有被佔用

SQL> show parameter dispatchers;

SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);

該操做會更改在oracle XML DB Repossitory中xdbconfig.xml中相關的https端口信息,關於http端口也能夠相似設定。

(三)訪問EM Express

--訪問格式

https://database-hostname:portnumber/em

--查詢EM Express的訪問端口

SQL>SELECTdbms_xdb_config.gethttpsport FROM DUAL

例:https://mydbhost.example.com:5500/em/

When prompted for your username and password, log in as a user with DBA privilege(such as SYSTEM).
EM Express使用Shockwave Flash文件,因此瀏覽器必須安裝flash插件,同時在你訪問EM Express的時候監聽必須是啓動的。

特別注意:要訪問的地址的操做系統防火牆是否關閉,或將訪問端口添加到防火牆容許訪問端口。

關於其訪問有兩個角色EM_EXPRESS_BASIC(view權限)和 EM_EXPRESS_ALL(all權限)
普通用戶賦予以上角色後便可訪問EM Express。

(四)關於CDB&PDB上的EM Exprss
    Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C數據庫引入的多租用戶環境(Multitenant Environment)中,容許一個數據庫容器(CDB)承載多個可插拔數據庫(PDB)。CDB全稱爲Container Database,中文翻譯爲數據庫容器,PDB全稱爲Pluggable Database,便可插拔數據庫。在ORACLE 12C以前,實例與數據庫是一對一或多對一關係(RAC):即一個實例只能與一個數據庫相關聯,數據庫能夠被多個實例所加載。而實例與數據庫不多是一對多的關係。當進入ORACLE 12C後,實例與數據庫能夠是一對多的關係。下面是官方文檔關於CDB與PDB的關係圖。

  12c中提出了關於CDB,PDB的概念,

  在CDB上配置EMX與前面講的手動配置EMX的過程是同樣,每一個continer(root或者pdb)須要配置一個不一樣端口。

咱們採用下面的兩種模型:

root:針對整個CDB的data和actions,是整個CDB或實例的一個代理。能夠成爲一個Container

PDB:針對單一某個pdb的data和actions。也能夠成爲container

  咱們會說爲某個container配置EM Express,而不是某個CDB或者PDB。

Oracle企業管理器(EM)

1.企業管理器Enterprise Manager Database Control(Oracle 11g)
    emctl status dbconsole
    emctl start dbconsole
    emctl stop dbconsole


    使用瀏覽器鏈接到Database Control,注意打開防火牆端口,默認端口是1158。
    https://hostname:port/em


2.企業管理器Enterprise Manager Database Express(Oracle 12c)
    使用EM Express:
    打開em:
    exec dbms_xdb_config.sethttpsport(5500);        -- https
    exec dbms_xdb_config.sethttpport(5505);         -- http


    關閉em:
    exec dbms_xdb_config.sethttpsport(0);           -- https
    exec dbms_xdb_config.sethttpport(0);            -- http


    查看em端口:
    select dbms_xdb_config.gethttpsport from dual;  -- https
    select dbms_xdb_config.gethttpport from dual;   -- http


    使用瀏覽器鏈接到Database Express:
    https://hostname:port/em


    瀏覽器應該使用支持html5的高版本的瀏覽器,如Google Chrome,低版本IE,Firefox彷佛不能鏈接。


3.手動配置Enterprise Manager Database Express端口(Oracle 12c)
    若是用dbca建立數據庫時沒有選擇或配置Enterprise Manager Database Express,則須要手動配置EM Express.
    ·註冊監聽器
      若是監聽器listener運行在非標準端口(1521),則初始化參數local_listener需註冊正確的監聽:
      select value from v$parameter where name = 'local_listener';   -- LISTENER_SID,名稱在tnsnames.ora中配置
      alter system set local_listener=inst1; 


      tnsnames.ora:
      inst1= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1234))
             (CONNECT_DATA=(SERVICE_NAME=service_name)(SERVER=DEDICATED)))


    ·配置dispatchers
      修改初始化參數dispatchers
      select value from v$parameter where name = 'dispatchers';
      alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=<sid>XDB)';
      alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=salesXDB)';


    ·設置EM Express訪問端口
      non-CDB:
      exec dbms_xdb_config.sethttpsport(5500);


      CDB:
      alter session set container=CDB$ROOT;
      exec dbms_xdb_config.sethttpsport(5501);


      PDB:
      alter session set container=PDB1;
      exec dbms_xdb_config.sethttpsport(5502);
      
    ·確認端口是否已註冊到監聽器
      $ lsnrctl status | grep -i 5500

    ·使用EM Express(non-CDB,CDB,PDB):       https://database-hostname:portnumber/em/

相關文章
相關標籤/搜索