熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle 10g常見問題精選

2013-11-13 15:43:08  來源: Oracle 

  怎樣配置EM使其支持SSL 協議
  
  G EM 中的OMS DBConsoleAgent 都支持SSL 協議
  
  具體操作:
  
   如果沒有環境變量ORACLE_SID請先配置或者直接敲入set ORACLE_SID=xxx (UNIX環境下請根據不同的shell類型使用不同的語法:setenv export)
  
   鍵入 emctl secure 可以看到全部的選項:
  
  secure oms
  
  [] [reset]
  
  ecure agent
  
  ecure em
  
  ecure dbconsole
  
  []
  
  ecure setpwd
  
  ecure status [oms url]
  
  ecure lock | unlock
  
   以配置oms為例
  
   先停掉所有與oms相關的 服務(opmnctl stopall)
  
   敲入: emctl secure oms會讓你輸入registration password然後系統會產生相關的證書文件 如果一切順利的話系統會有提示配置成功的信息
  
   重新啟動服務(opmnctl startall)
  
  缺省情況下這兩個端口是可用的 配置成secure 模式後端口是支持SSL協議的 從$EM_HOME\sysman\config目錄下的emomsproperties文件中可以看到配置信息
  
   檢測oms是否已經運行在https協議下
  
  emctl secure status oms url
  
  注意: URL 要輸入完整
  
  例如: https://myserver:/em/upload/
  
   Agent DBconsole的配置基本類似
  
   啟動浏覽器運行時IE會彈出一個安裝安全證書的窗口確認
  
  出現了問題怎樣解決
  
  以DB Control為例 大致的步驟是這樣的:
  
   emctl status dbconsole 查看db control 的狀態
  
  去 $ORACLE_HOME\hostname_sid\sysman\log目錄下查看相關日志(emomslogemagentlog等)
  
   檢查配置文件 emdpropertiesemomsproperties
  
  目錄: $ORACLE_HOME\hostname_sid\sysman\config
  
   確保監聽器工作正常: lsnrctl status
  
   G EM 使用的是配置文件中定義的連接串而不是直接訪問tnsnamesora
  
  目錄: $ORACLE_HOME\hostname_sid\sysman\config
  
  文件: emomsproperties
  
  參數: oraclesysmanemlmntremdRepConnectDescriptor
  
  修改了監聽端口 怎樣保證 DB Control 正常運行
  
   修改 listenerora 和tnsnamesora 這兩個文件:
  
  tnsnamesora 中需要加入:
  
  listener_ =
  
  (ADDRESS = (PROTOCOL = TCP)
  
  (HOST = xxxx)(PORT = 新的端口))
  
  然後啟動數據庫:
  
  SQL> show parameter local_listener ;
  
  SQL> alter system set local_listener=listener_ scope=spfile;
  
  重啟數據庫使得修改生效
  
   修改 $ORACLE_HOME\hostname_sid\sysman\config
  
  下的emomsproperties文件:
  
  oraclesysmanemlmntremdRepPort=新的端口
  
  oraclesysmanemlmntremdRepConnectDescriptor=(DESCRIPTION\=(ADDRESS_LIST\=(ADDRESS\=(PROTOCOL\=TCP)(HOST\=xxx)(PORT\=新的端口)))(CONNECT_DATA\=(SERVICE_NAME\=xxx)))
  
   最後還要修改 $ORACLE_HOME\hostname_sid\sysman\emd
  
  下的targetsxml:
  
  新的端口/>
  
   重新啟動監聽器和dbconsole 服務
  
   如果嫌上面的操作麻煩可以用emca這個命令行工具:
  
  emca h 查看所有可用的命令
  
  emca r 跳過資料檔案庫的創建
  
  怎樣修改 DB Control 的服務端口
  
  缺省情況下 DB Control 的端口是 可以參考下面的說明更改端口
  
  如果用戶想改變oms端口必須改變以下三個文件然後重啟db control以使得改變生效
  
  編輯$ORACLE_HOME/_/sysman/config/emomsproperties並改變以下參數
  
  oraclesysmanemSDKsvltConsoleServerPort
  
  oraclesysmanemSDKsvltConsoleServerHTTPSPort
  
  編輯$ORACLE_HOME/_/sysman/config/emdproperties並改變以下參數:
  
  REPOSITORY_URL
  
  emdWalletSrcUrl
  
  編輯$ORACLE_HOME/ocj/jee/OCJ_DBConsole__/config/並改變以下參數:
  
  website port
  
  注請在修改前備份
  
  如何使用Automatic SGA Management
  
  Automatic SGA Management 是 G 引入的新特性之一將初始化參數文件中與內存管理密切有關的幾個參數抽取出來交由數據庫去自行管理(由新增加的參數SGA_TARGET來管理)在一定程序上能減輕DBA的負擔
  
  至於參數的合理性還需要結合AWR Report 去驗證
  
  SGA_TARGET = db_cache_size + db_nk_cache_size(n=)
  
  + db_keep_cache_size + db_recycle_cache_size +
  
  hared_pool_size + java_pool_size + large_pool_size + xxxx
  
  xxx: 是一個保留值從目前的實驗來看基本是M
  
  步驟:
  
  
  
  alter system set sga_target=m scope=both
  
  create pfile from spfile;
  
  hutdown immediate;
  
  修改initora 文件將這些參數的值設成:
  
  db_cache_size shared_pool_size java_pool_sizelarge_pool_size
  
   啟動SQLPLUS以新的pfile文件啟動數據庫
  
  SQL> startup pfile=
  
  讓我們來看看調整的結果:
  
  SQL> select name block_size current_size from v$buffer_pool;
  
  ame block_size current_size
  
  
  
  KEEP
  
  SQL> Select pool sum(bytes)// as M bytes from v$SGASTAT
  
  group by pool;
  
  ool M bytes
  
  
  
  java pool
  
  large pool
  
  hared pool
  
  
  
  =buffer cache + log buffer + fixed sga + all others
  
  改動java pool的值
  
  SQL> alter system set java_pool_size=M;
  
  SQL> select name block_size current_sizeprev_size from v$buffer_pool;
  
  ame block_size current_size prev_size
  
  
  
  KEEP
  
  SQL> Select pool sum(bytes)// as M bytes from v$SGASTAT
  
  group by pool;
  
  ool M bytes
  
  
  
  java pool
  
  large pool
  
  hared pool
  
  
  
  可以看出 db_cache_size的值已經被自動調小了
  
  再把java pool 的值改回去
  
  SQL> alter system set java_pool_size=M;
  
  SQL> select name block_size current_sizeprev_size from v$buffer_pool;
  
  ame block_size current_size prev_size
  
  
  
  KEEP
  
  SQL> select name block_size current_sizeprev_size from v$buffer_pool;
  
  ool M bytes
  
  
  
  java pool
  
  large pool
  
  hared pool
  
  
  
  這一次 db_cache_size的值沒有變化 JAVA_POOL_SIZE的值也沒有變化
  
  修改large pool的值為M
  
  SQL> alter system set large_pool_size=M;
  
  System altered
  
  SQL> select nameblock_sizecurrent_sizeprev_size from v$buffer_pool;
  
  NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE
  
  
  
  DEFAULT
  
  SQL> Select pool sum(bytes)// as M bytes from v$sgastat group by pool;
  
  POOL M bytes
  
  
  
  java pool
  
  large pool
  
  hared pool
  
  
  
  這次db_cache_size和large_pool_size的值都變了
  
  同樣調大shared_pool_size後 db_cache_size會自動減小
  
  雖然db_nk_cache_size的值不會隨著workload 的改變而自動調整 我們還是可以看看
From:http://tw.wingwit.com/Article/program/Oracle/201311/17185.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.