教你如何成為Oracle 10g OCP - 第四章 初始化引數和例項
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 教你如何成為Oracle 10g OCP - 第二十章 安全Oracle 10g
- 教你如何成為Oracle 10g OCP - 第十六章 ASM管理Oracle 10gASM
- 教你如何成為Oracle 10g OCP - 第十四章 閃回Oracle 10g
- 教你如何成為Oracle 10g OCP - 第九章 物件管理Oracle 10g物件
- 教你如何成為Oracle 10g OCP - 第一章學習Oracle 10g
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(2)Oracle 10g物件
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(3)Oracle 10g物件
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(4)Oracle 10g物件
- 教你如何成為Oracle 10g OCP - 第六章 儲存管理Oracle 10g
- 教你如何成為Oracle 10g OCP - 第十九章 資料遷移Oracle 10g
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(5) - 索引Oracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第七章 undo表空間管理Oracle 10g
- 教你如何成為Oracle 10g OCP - 第十一章 配置網路環境Oracle 10g
- 教你如何成為Oracle 10g OCP - 第十五章 自動化管理Oracle 10g
- 教你如何成為Oracle 10g OCP - 第五章 記憶體元件與Oracle程式Oracle 10g記憶體元件
- 教你如何成為Oracle 10g OCP - 第十章 閂鎖、鎖定和併發性Oracle 10g
- 教你如何成為Oracle 10g OCP - 第三章 資料字典學習Oracle 10g
- 教你如何成為Oracle 10g OCP - 第十三章補充:RMAN的組成及工作原理Oracle 10g
- 教你如何成為Oracle 10g OCP - 第二十一章 全球化支援Oracle 10g
- 【刪除】教你如何成為Oracle 10g OCP - 第十五章 自動化管理Oracle 10g
- 教你如何成為Oracle 10g OCP - 第二章學習 安裝及建庫Oracle 10g
- 2 Day DBA-管理Oracle例項-檢視和修改初始化引數-練習:檢視和修改初始化引數Oracle
- 2 Day DBA-管理Oracle例項-檢視和修改初始化引數Oracle
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(8) - 如何重建B樹索引Oracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第十三章 RMAN管理的備份與恢復Oracle 10g
- 2 Day DBA-管理Oracle例項-關於初始化引數Oracle
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(9) - 點陣圖(Bitmap)索引Oracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(10) - 點陣圖(Bitmap)索引Oracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(11) - 管理索引,sequence及resumableOracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第十二章 手工管理的備份與恢復Oracle 10g
- 教你如何成為Oracle 10g OCP - 第八章 使用者、許可權和角色管理Oracle 10g
- 教你如何成為Oracle 10g OCP - 第十三章補充:RMAN備份使用PGA還是SGAOracle 10g
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(6) - B樹索引的訪問Oracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第十三章補充:RMAN為什麼不備份online redoOracle 10g
- 準備看看這本書 - ORACLE資料庫技術實用詳解:教你如何成為10g OCPOracle資料庫
- 教你如何成為Oracle 10g OCP - 第八章 使用者、許可權和角色管理01Oracle 10g
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(9) - 重建索引對效能的影響Oracle 10g物件索引
- 教你如何成為Oracle 10g OCP - 第九章 物件管理(7) - B樹索引的對於DELETE的管理Oracle 10g物件索引delete