教你如何成為Oracle 10g OCP - 第四章 初始化引數和例項

tolywang發表於2009-06-04

 

4.1 啟動和關閉資料庫

1. 工具 SQL*Plus : 幾乎所有的資料庫管理工作都可以透過SQL*Plus來完成。

2. 環境變數: ORACLE_BASE, ORACLE_HOME , PATH , ORACLE_SID

3. $echo  ORACLE_SID 檢視資料庫例項
   $sqlplus / as sysdba 

4. SQL>!echo ORACLE_SID 透過SQL環境下的 ! 來處理OS層的命令

5. 靜態引數檔案pfile (parameter file),Oracle9i 之前,啟動資料庫例項,Oracle自動
去預設目錄下找預設pfile是否存在,window下目錄 %ORACLE_HOME%\database ; 對於unix
而言,預設為 $ORACLE_HOME/dbs .  一般Oracle會先找 initSID.ora檔案,如果沒有,會
查詢init.ora檔案是否存在,如果init.ora也沒有,Oracle會報錯。

6. 啟動資料庫的時候指定引數檔案:
SQL > startup  pfile=/u01/product/oracle/my_init.ora

7. 對靜態引數檔案pfile來說,只是在資料庫啟動的時候會開啟一次該檔案,內容讀入記憶體後,就
不再讀取該檔案,直到下一次重啟資料庫(重啟後修改的引數才會生效) 。

8. 動態引數檔案spfile, 引入spfile主要是為了彌補pfile必須重新啟動修改引數才能生效的缺點,
同時9i 還引入很多自動調整的引數,這些引數都需要使用spfile . RMAN能對spfile進行自動備份。

9. spfile不能直接被編輯,否則將被破壞 。

10. Oracle9i開始,startup 後Oracle會去找spfileSID.ora, 如果沒找到,繼續找spfile.ora檔案,如果
沒有則找initSID.ora檔案,如果還沒有,找init.ora檔案,如果還不能找到,則報錯 。當然 startup pfile=
/u01/product/oracle/my_init.ora 還是被支援的。

11. 一般spfile和pfile之間可以互相轉換 :
    create spfile[='SPFILE_NAME']  from pfile[='PFILE_NAME'] ; 
    create pfile[='PFILE_NAME']  from  spfile[='SPFILE_NAME'] ;
例如: create spfile from pfile=/u01/product/oracle/init.ora ;
       create pfile='/u01/init.ora'  from spfile ; 
       create pfile='/u01/init.ora'  from spfile=/u01/spfile ;
如果沒有引數檔案絕對地址,那麼Oracle會在預設目錄找initSID.ora, 會在預設目錄下生成spfile; 


12. 驗證Oracle採用pfile還是spfile啟動的 ?
   SQL> show parameter spfile , 如果有顯示value值,那麼使用的是spfile ;

13. 修改引數: alter system set parameter_name=parameter_value scope=memeory|spfile|both SID='sid'|'*'
    memory 修改當前記憶體中的配置,spfile只修改spfile檔案中的配置(記憶體中不變), both記憶體中和spfile檔案都修改,
    both是預設值 。 SID='sid' 是針對RAC環境的,*表示所有例項。
例子:  alter system set shared_pool_size=200M ;   注意:有些引數是靜態引數,只能修改spfile後重新啟動生效

14. SQL> create pfile='/u01/init.ora' from spfile ;   

MXPSVDFMSNDB$cat   init.ora
mxdell.__db_cache_size=11005853696
mxdell.__java_pool_size=67108864
mxdell.__large_pool_size=16777216
mxdell.__shared_pool_size=1778384896
mxdell.__streams_pool_size=0
*.archive_lag_target=600
*.audit_file_dest='/u01/product/admin/mxdell/adump'
*.background_dump_dest='/u01/product/admin/mxdell/bdump'

其中 * 表示對所有例項都生效,__db_cache_size表明該引數是ORACLE動態分配的,而不是系統管理員手動分配的。如果是
db_cache_size表明該引數是系統管理員手動分配的。sga_target 引數可以使ORACLE自動管理SGA區


15. 資料庫的啟動過程 nomount , mount , open 
startup nomount 過程: 這個過程中,Oracle會開啟spfile及alert log檔案, 這個階段,我們可以重建控制檔案。
mount 過程:  這個過程中,Oracle會在spfile中找到控制檔案,開啟控制檔案,只要有一個控制檔案無法
開啟,就不能進入mount階段,成功開啟控制檔案後,獲取控制檔案中的所記錄的資料檔案和online redo log路徑和
名稱,但是不會檢驗這些檔案是否都存在。  alter database mount 進入這個階段。這個過程將例項和資料庫物理
檔案關聯 。 
open  過程:  根據控制檔案裡面的路徑和名稱,開啟所有的datafile和online redo log, 只要有一個檔案開啟有問題,
那麼不能進入open階段 。


16. shutdown 的四個選項 : immediate , abort , transactional , normal

   shutdown immediate 最常用的一個命令選項,Oracle會強制中斷目前的所有事務,並回滾這些事務。回滾完畢後,
強行中斷處於連線狀態的使用者,將例項所有資料寫入資料檔案,完成後,清空記憶體。

   shutdown abort  常用的一個命令選項,類似伺服器斷電,所有記憶體立即被清空,事務立即被中斷,沒有提交回滾。
是比較危險的用法。

   shutdown transactional 不常用一個命令選項,等所有現在的事務提交或回滾完成後,再強行中斷使用者的連線,將
例項中所有資料寫入資料檔案,做完這些事情後,例項佔用記憶體清空,如果有一個事務始終不提交或不回滾,那麼會始終
等待而關閉不了 。

   shutdown 或者 shutdown normal 不常用一個命令選項,等所有現在的事務提交或回滾完成, 並等使用者主動斷開連線
才關閉 。

   速度上面:  abort最快,其次 immediate , 然後transactional , 最後 normal .

17. 非abort 選項關閉資料庫都會觸發一個完全的checkpoint , 將記憶體中的資料更新到資料檔案中,保持資料的一致性。我們
稱這樣的資料庫為“乾淨”的資料庫,或一致的資料庫。

18. 掉電或shutdown abort等狀況 , 例項忽然消失,資料庫來不及進行完全檢查點,導致了資料不一致,下次啟動資料庫時,SMON程式進行例項恢復,恢復
完畢後我們才能開啟資料庫。

19. 使用EM管理例項。
Oracle10g提供網頁形式的管理工具,Database Control, 我們可以在dbca時建立,或呼叫emca來建立。
開啟關閉:

$ emctl  start  dbconsole
$ emctl  stop   dbconsole
$ emctl  status   dbconsole

一般網頁訪問路徑:  http://主機名:1158/em 

 

20. 使用EM管理例項。

$ emca  -repos  create 建立repository, 所謂repository就是存放database control在管理資料庫所用
到的資訊的多個table , repository 所在schema是sysman . 

$ emca  -repos  create
$ emca  -config dbcontrol  db

如果要重建database control, 先使用 emca  -deconfig  dbcontrol db 刪除配置,
然後使用 dbca  -repos  drop 刪除repository ,
之後 $ emca  -config dbcontrol  db 再次建立 database control ,
OK之後我們就可以使用了:

$ emctl  start  dbconsole
$ emctl  stop   dbconsole
$ emctl  status   dbconsole

http://主機名:1158/em 

 


 

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

相關文章