qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Oracle學習筆記:啟停數據庫實例、初始化參數

            1、啟動和關閉數據庫實例

          sqlplus    /nolog
          !echo    $ORACLE_SID
          connect   /   as  sysdba
          startup
          shutdown  immediate

            2、靜態參數文件

            在Oracle 9i 之前,通過靜態文本存放初始化參數,可通過文本編輯器編輯。

            在參數文件中,可以為相同的參數設置多個條目,對于這樣的重復參數,Oracle會選最后一個。

            在Oracle 9i之前,如果在啟動實例時沒有指定參數文件,那么Oracle會首先在默認的目錄下查找initSID.ora文件,Linux的默認目錄是$ORACLE_HOME/dbs,Windows的默認目錄是$ORACLE\database;如果沒找到,會查找init.ora是否存在;如果沒找到,就會報錯:在處理系統參數時失敗,不能打開參數文件。

            在啟動時,也可以直接指定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
          shutdown  immediate
          startup

            報錯: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'
          startup

            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





          posted on 2013-09-16 09:29 順其自然EVO 閱讀(481) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 清苑县| 精河县| 渭源县| 临漳县| 明水县| 崇左市| 交口县| 青海省| 怀集县| 旬邑县| 荔波县| 射阳县| 资中县| 镇雄县| 尼木县| 东丽区| 鸡西市| 石楼县| 喀喇沁旗| 凤城市| 平山县| 碌曲县| 自贡市| 罗甸县| 中方县| 朝阳县| 观塘区| 韶山市| 曲阳县| 威信县| 灵璧县| 安西县| 桐城市| 瑞丽市| 抚顺市| 祁东县| 伊宁市| 新闻| 辉县市| 永靖县| 通道|