Oracle企業管理數據庫控制器是一個web接口的oracle數據庫管理工具。你可以執行管理員的操作,比如說創建實體對象(表,視圖,索引),備份與恢復你的數據庫,導入導出數據等等操作。
理解企業管理器的目錄
當你安裝數據庫時,默認安裝oracle 企業管理器。它在$oracle_home目錄下安裝一些列的企業管理器目錄。
emctl工具
$ORACLE_HOME/sysman 所有實例的公共文件與共享文件都存放在這個目錄下面
$ORACLE_HOME/hostname_dbuniquename/ 單獨的數據庫實例存放的企業管理器文件
理解oracle企業管理器的服務的目錄結構
在安裝過程中或安裝后配置數據庫控制器
配置選項預覽
如下的配置工具可以幫助你配置oracle數據庫控制器
1. Oracle統一安裝(Oracle universal installer)
2. DBCA
3. 數據庫升級工具
4. Net 配置工具
5. Net 配置工具可以輔助你配置listener與名稱方法的工具
在安裝時配置數據庫控制器
當你在安裝數據庫時,創建數據庫,你可以配置你的數據庫使用oracle 數據庫控制器或者使用oracle 網格控制器。
在你安裝oracle網格控制器時,你需要安裝oracle管理服務(Oracle management service)與oracle管理代理(Oracle management agent)
在絕大部分安裝類型中,當你安裝數據庫時,你必須選擇安裝oracle數據庫控制器或者網格控制器。 但是你可以在下列安裝過程中,你可以不配置數據庫控制器。
在企業版或標准版安裝時,你選擇高級配置選項
使用DBCA創建數據庫時
1. 使用DBCA創建數據庫控制器
在安裝選項中,選擇configure Enterprise manager 工具與Configure Database control for local management。
注意:理解Oracle Enterprise manager的Database control與Grid Control(網格控制)
Database control用來管理本地數據庫
Grid Control 可以用來管理本地與其它數據庫
2. 在已經存在的數據庫,也可以使用DBCA來添加企業管理器
在DBCA創建向導中,選擇configure the database options
3. 使用EMCA命令配置oracle企業管理
3.1 查看Oracle 數據庫控制器的狀態
emctl 命令 emctl status/start/stop dbconsole.
***************************************************************************
C:\Users\Administrator>set oracle_unqname=new02 # 設置oracle_unqname
C:\Users\Administrator>emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
https://win-db:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory C:\app\Administrator\product\11.2.0\dbhome_1/win-db_new02/sysman/log
C:\Users\Administrator>
***************************************************************************
3.2 配置oracle 數據庫控制器
使用emca命令配置數據庫控制器,在使用命令之前,需要滿足如下配置條件
*******************************************************************************
1. Listener port 1521 provided is incorrect. Provide the correct port.
2. Listener is not up. Start the Listener.
3. Database service dbservice is not registered with listener. Register the database service.
4. Listener is up on physical host and ORACLE_HOSTNAME environment variable is set to virtual host. Unset ORACLE_HOSTNAME environment variable.
5. Listener is up on virtual host. Set environment variable ORACLE_HOSTNAME=.
6. /etc/hosts does not have correct entry for hostname.
7. $ORACLE_HOME/database need exist the corresponding password file
*******************************************************************************
1)如下信息是在oracle_home/database下添加密碼文件
**************************************************************************
C:\app\Administrator\product\11.2.0\dbhome_1\database>orapwd file=PWDNEWDB.ora entries=20
Enter password for SYS:
2)使用命令創建database control
C:\app\Administrator\product\11.2.0\dbhome_1\database>emca -config dbcontrol db -repos recreate
STARTED EMCA at May 5, 2017 6:22:16 PM
EM Configuration Assistant, Version 11.2.0.3.0 Production
Copyright (c) 2003, 2011, Oracle. All rights reserved.
Enter the following information:
Database SID: newdb # 數據庫實例
Listener port number: 1521 #監聽器端口
Listener ORACLE_HOME [ C:\app\Administrator\product\11.2.0\dbhome_1 ]: #監聽器目錄,可以使用lsnrctl status查看
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ C:\app\Administrator\product\11.2.0\dbhome_1
Local hostname ................ win-db
Listener ORACLE_HOME ................ C:\app\Administrator\product\11.2.0\dbhome_1
Listener port number ................ 1521
Database SID ................ newdb
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
----------------------------------------------------------------------
WARNING : While repository is dropped the database will be put in quiesce mode.
----------------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: y
部分自動完成信息省略
INFO: >>>>>>>>>>> The Database Control URL is https://win-db:5500/em <<<<<<<<<<<
May 5, 2017 6:29:30 PM oracle.sysman.emcp.EMDBPostConfig invoke
WARNING:
************************ WARNING ************************
Management Repository has been placed in secure mode wherein Enterprise Manager data will be encrypted. The encryption key has been placed in the file: C:/app/Administrator/product/11.2.0/dbhome_1/win-db_NEWDB/sysman/config/emkey.ora. Ensure this file is backed up as the encrypted data will become unusable if this file is lost.
***********************************************************
Enterprise Manager configuration completed successfully
FINISHED EMCA at May 5, 2017 6:29:30 PM
3) 1-5的信息檢查,都可以使用lsnrctl status命令查看
***************************************************************************
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 06-MAY-2017 21:58:16
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=win-db)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.3.0 - Production
Start Date 06-MAY-2017 21:54:30
Uptime 0 days 0 hr. 3 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
Listener Log File C:\app\Administrator\diag\tnslsnr\WIN-DB\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=win-db)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "new02" has 1 instance(s).
Instance "new02", status READY, has 1 handler(s) for this service...
Service "newdb" has 1 instance(s).
Instance "newdb", status READY, has 1 handler(s) for this service...
The command completed successfully
C:\Users\Administrator>
*******************************************************************************
4) /etc/hosts中注意添加IP地址與主機名稱
192.168.56.14 win-db
使用輸入文件配置EMCA參數
當你運行EMCA時,使用輸入文件的方式替代一些列的輸入信息。你可以指定-respFile參數來指定文件位置。
emca config dbcontrol db -respFile imput_file_path
在rac環境下使用EMCA
在rac環境下,使用emca配置命令 emca config dbcontrol db -cluster em_node nodename em_node_list listname,
emca config dbcontrol db -cluster
管理數據庫控制器
啟動與停止oracle數據庫控制器進程
為了通過瀏覽器訪問數據庫控制器,數據庫控制台進程(dbconsole)必須處於運行狀態。
查看數據庫控制台進程的狀態可以使用emctl命令查看,對於windows操作系統,可以查看dbconsole服務狀態。
訪問oracle數據庫主頁
在數據庫控制器中,Oracle 數據庫主頁是主要的數據庫管理網頁。訪問oracle數據庫主頁,需要如下步驟:
1. 需要確保dbconsole進程在運行
2. 訪問database control主頁Https://hostname:portnumber/em,在windows操作系統中可以在$oracle_home/install\portlist.ini中查看數據庫配置EM的端口
比如說使用database control 啟用與關閉數據庫
創建數據庫控制器管理員用戶
為了合理利用數據庫的安全特性,避免使用最高權限sys/system/sysman進行系統管理。需要對oracle創建數據庫用戶,並合理分配用戶角色與權限,實現對數據庫控制器(database control)的管理。
在database control中的已經存在的用戶,分配到Administrators 組,具有Administrators權限
Setup->Administrators->create
非管理員用戶訪問database control
非管理員用戶訪問database control需要用select_catalog_role角色
刪除與創建database control對象
1. 刪除database control對象
C:\Users\Administrator>emca -deconfig dbcontrol db -repos drop
STARTED EMCA at May 6, 2017 4:58:58 PM
EM Configuration Assistant, Version 11.2.0.3.0 Production
Copyright (c) 2003, 2011, Oracle. All rights reserved.
Enter the following information:
Database SID: newdb
Listener port number: 1521
Password for SYS user:
Password for SYSMAN user:
創建database control對象
創建database control對象
C:\Users\Administrator>emca -config dbcontrol db -repos recreate
Invalid username/password.
Password for SYSMAN user:
May 6, 2017 5:10:49 PM oracle.sysman.emcp.util.GeneralUtil initSQLEngineLoacly