sqlplus /nolog
!echo $oracle_sid
connect / as sysdba
startup
shutdown immediate
2、靜态參數檔案
在參數檔案中,可以為相同的參數設定多個條目,對于這樣的重複參數,oracle會選最後一個。
在啟動時,也可以直接指定pfile,指令為:
startup pfile = ’你的路徑/你的pfile檔案名.ora‘
3、動态參數檔案
從oracle 9i開始,提供了動态參數,也就是修改了記憶體中的參數值後,不用重新開機,就能使參數生效的機制,同時提供了動态參數檔案spfile,這是一個二進制檔案,不能用notepa或者vi編輯器編輯,如果希望對參數的修改持久化,那麼也必須修改spfile中的參數值。
另外,rman支援對spfile的自動備份,但不支援pfile的自動備份。
在參數檔案中,每個參數都有一個字首,* 表示對所有執行個體有效,“執行個體名稱”表示隻對這個執行個體有效。
由于加了動态參數檔案,系統在啟動時,查找參數檔案的順序也有所變化:預設路徑下的spfilesid.ora --> spfile.ora - -> initsid.ora --> init.ora,startup pfile ='...'這樣的指令還是有用的,注意不支援這樣的文法:startup spfile = ’...' 。
通過pfile來建立spfile,如果下面的指令不指定路徑,那麼用的都是預設路徑:
create spfile =’/u01/app/oracle‘ from pfile = '/u01/app/oracle/initora10g.ora'
--禁用自動記憶體管理
alter system set sga_target = 0
--顯示參數的值
show parameter spfile
show parameter shared_pool_size
--另一種方法顯示參數的值
select value from v$parameter where name = 'spfile'
select value from v$spparameter where name = 'shared_pool_size'
--隻在記憶體中修改參數的值,重新開機後,還是spfile的值,而不是這裡的100m
alter system set shared_pool_size = 100m scope = memory
--隻在spfile檔案中修改參數的值,重新開機後才會生效
alter system set shared_pool_size = 100m scope = spfile
--同時修改spfile和記憶體中的值
alter system set shared_pool_size = 100m scope = both
下面顯示了,如果把spfile中的一個參數設定為一個無效的值後,如何解決系統再次啟動時,無法啟動的問題:
alter system set sga_target = 1000000m scope = spfile
報錯:out of memory
alter system set sga_target = 1000m
報錯:oracle 不可用
create pfile = '/u01/init.ora' from spfile
可以打開pfile檔案,手動編輯,也可以直接在檔案最後加一行:
!echo '*.sga_target = 1000m' >> /u01/init.ora
create spfile from pfile = '/u01/init.ora'
4、執行個體的啟動和關閉的具體步驟
nomount階段:找到參數檔案,并根據其中的值啟動執行個體,打開告警日志 altersid.log,路徑為backgroud_dump_dest參數所指定的目錄。
mount階段:根據參數檔案中的control_files參數的值,打開所有的控制檔案,隻要有一個打開失敗,就不能成功進入mount階段。打開檔案後,取得所有的資料檔案、聯機日志檔案的路徑,但不會驗證這些檔案是否存在。
open階段:打開所有的資料檔案、聯機日志檔案。
具體的啟動步驟可以是下面的一種:
startup nomount
alter database mount
alter database open
startup mount
alter database open
startup open
執行個體關閉時,有多個選項:
abort:相當于模拟伺服器突然斷電的情況。
immediate:強制復原目前正在運作的所有事務,把記憶體中的髒資料寫入資料檔案,清空執行個體的所有記憶體。一般采用這個選項。
transactional:等待目前正在運作的事務主動送出或復原,之後中斷所有連接配接,寫回資料檔案,清空執行個體記憶體。
normal:等待目前正在運作的事務主動送出或復原,同時還會等待所有使用者主動中斷連接配接。
需要注意的是startup force相當于 shutdown abort ,然後再 startup
最新内容請見作者的github頁:http://qaseven.github.io/