qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          Oracle學(xué)習(xí)筆記:?jiǎn)⑼?shù)據(jù)庫(kù)實(shí)例、初始化參數(shù)

            1、啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)實(shí)例

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

            2、靜態(tài)參數(shù)文件

            在Oracle 9i 之前,通過(guò)靜態(tài)文本存放初始化參數(shù),可通過(guò)文本編輯器編輯。

            在參數(shù)文件中,可以為相同的參數(shù)設(shè)置多個(gè)條目,對(duì)于這樣的重復(fù)參數(shù),Oracle會(huì)選最后一個(gè)。

            在Oracle 9i之前,如果在啟動(dòng)實(shí)例時(shí)沒(méi)有指定參數(shù)文件,那么Oracle會(huì)首先在默認(rèn)的目錄下查找initSID.ora文件,Linux的默認(rèn)目錄是$ORACLE_HOME/dbs,Windows的默認(rèn)目錄是$ORACLE\database;如果沒(méi)找到,會(huì)查找init.ora是否存在;如果沒(méi)找到,就會(huì)報(bào)錯(cuò):在處理系統(tǒng)參數(shù)時(shí)失敗,不能打開(kāi)參數(shù)文件。

            在啟動(dòng)時(shí),也可以直接指定pfile,命令為:

            startup   pfile = ’你的路徑/你的pfile文件名.ora‘

            3、動(dòng)態(tài)參數(shù)文件

            從Oracle 9i開(kāi)始,提供了動(dòng)態(tài)參數(shù),也就是修改了內(nèi)存中的參數(shù)值后,不用重啟,就能使參數(shù)生效的機(jī)制,同時(shí)提供了動(dòng)態(tài)參數(shù)文件spfile,這是一個(gè)二進(jìn)制文件,不能用notepa或者vi編輯器編輯,如果希望對(duì)參數(shù)的修改持久化,那么也必須修改spfile中的參數(shù)值。

            另外,rman支持對(duì)spfile的自動(dòng)備份,但不支持pfile的自動(dòng)備份。

            在參數(shù)文件中,每個(gè)參數(shù)都有一個(gè)前綴,* 表示對(duì)所有實(shí)例有效,“實(shí)例名稱”表示只對(duì)這個(gè)實(shí)例有效。

            由于加了動(dòng)態(tài)參數(shù)文件,系統(tǒng)在啟動(dòng)時(shí),查找參數(shù)文件的順序也有所變化:默認(rèn)路徑下的spfileSID.ora   -->  spfile.ora   - ->  initSID.ora  -->   init.ora,startup pfile ='...'這樣的命令還是有用的,注意不支持這樣的語(yǔ)法:startup spfile = ’...'  。

            通過(guò)pfile來(lái)創(chuàng)建spfile,如果下面的命令不指定路徑,那么用的都是默認(rèn)路徑:

            create   spfile =’/u01/app/oracle‘ from pfile   = '/u01/app/oracle/initora10g.ora'

            --禁用自動(dòng)內(nèi)存管理

            alter   system   set  sga_target = 0

            --顯示參數(shù)的值

            show   parameter   spfile

            show  parameter   shared_pool_size

            --另一種方法顯示參數(shù)的值

            select    value   from  v$parameter  where name = 'spfile'

            select    value   from  v$spparameter where name = 'shared_pool_size'


          --只在內(nèi)存中修改參數(shù)的值,重啟后,還是spfile的值,而不是這里的100M

            alter   system   set   shared_pool_size = 100M   scope = memory

            --只在spfile文件中修改參數(shù)的值,重啟后才會(huì)生效

            alter   system   set   shared_pool_size = 100M   scope = spfile

            --同時(shí)修改spfile和內(nèi)存中的值

            alter   system   set  shared_pool_size = 100M scope = both

            下面顯示了,如果把spfile中的一個(gè)參數(shù)設(shè)置為一個(gè)無(wú)效的值后,如何解決系統(tǒng)再次啟動(dòng)時(shí),無(wú)法啟動(dòng)的問(wèn)題:

          alter   system   set   sga_target = 1000000M    scope = spfile
          shutdown  immediate
          startup

            報(bào)錯(cuò):out   of   memory

            alter   system  set  sga_target = 1000M

            報(bào)錯(cuò):oracle 不可用

            create  pfile = '/u01/init.ora'   from   spfile

            可以打開(kāi)pfile文件,手動(dòng)編輯,也可以直接在文件最后加一行:

          !echo  '*.sga_target = 1000M'   >>    /u01/init.ora
          create   spfile   from   pfile = '/u01/init.ora'
          startup

            4、實(shí)例的啟動(dòng)和關(guān)閉的具體步驟

            nomount階段:找到參數(shù)文件,并根據(jù)其中的值啟動(dòng)實(shí)例,打開(kāi)告警日志 alterSID.log,路徑為backgroud_dump_dest參數(shù)所指定的目錄。

            mount階段:根據(jù)參數(shù)文件中的control_files參數(shù)的值,打開(kāi)所有的控制文件,只要有一個(gè)打開(kāi)失敗,就不能成功進(jìn)入mount階段。打開(kāi)文件后,取得所有的數(shù)據(jù)文件、聯(lián)機(jī)日志文件的路徑,但不會(huì)驗(yàn)證這些文件是否存在。

            open階段:打開(kāi)所有的數(shù)據(jù)文件、聯(lián)機(jī)日志文件。

            具體的啟動(dòng)步驟可以是下面的一種:

          startup   nomount
          alter  database   mount
          alter  database   open
          startup mount
          alter  database open
          startup open

            實(shí)例關(guān)閉時(shí),有多個(gè)選項(xiàng):

            abort:相當(dāng)于模擬服務(wù)器突然斷電的情況。

            immediate:強(qiáng)制回滾當(dāng)前正在運(yùn)行的所有事務(wù),把內(nèi)存中的臟數(shù)據(jù)寫入數(shù)據(jù)文件,清空實(shí)例的所有內(nèi)存。一般采用這個(gè)選項(xiàng)。

            transactional:等待當(dāng)前正在運(yùn)行的事務(wù)主動(dòng)提交或回滾,之后中斷所有連接,寫回?cái)?shù)據(jù)文件,清空實(shí)例內(nèi)存。

            normal:等待當(dāng)前正在運(yùn)行的事務(wù)主動(dòng)提交或回滾,同時(shí)還會(huì)等待所有用戶主動(dòng)中斷連接。

            需要注意的是startup  force相當(dāng)于 shutdown   abort ,然后再 startup





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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 上思县| 宜丰县| 勃利县| 喀什市| 龙门县| 凤城市| 南充市| 碌曲县| 姜堰市| 神农架林区| 奉化市| 利津县| 大庆市| 宽甸| 朝阳区| 托里县| 乌鲁木齐县| 乌苏市| 南充市| 宜阳县| 五莲县| 谷城县| 肇东市| 个旧市| 东阳市| 山阳县| 梁山县| 桑日县| 拜泉县| 泸水县| 滁州市| 从江县| 正蓝旗| 阳山县| 榆社县| 徐州市| 宿州市| 乐平市| 湘阴县| 社旗县| 茶陵县|