初始引數及資料庫啟動和關閉
阿新 • • 發佈:2021-08-01
1、靜態引數檔案
2、動態引數檔案
1 # cd $ORACLE_HOME 2 # cd dbs 3 # ls 4 動態引數名:9i之後,二進位制,不能修改,可以檢視。有些引數改完後直接生效,有些引數改了要重啟。 5 # spfile例項名.ora 6 靜態引數名:9i之前,可以修改,oracle啟動的時候讀 7 # init例項名.ora3、Oracle啟動過程中引數檔案尋找順序 (1)找引數檔案,根據環境變數$ORACLE_SID中的引數值(例項名稱),再根據環境變數中的配置進行找spfileXXX.ora檔案
# /u01/app/oracle/product/10.2.0/db_1/dbs 檢視配置的例項名,資料庫啟動時通過這個變數取得例項名後找spfile檔案 # echo $ORACLE_SID(2)動態檔案找不到的時候,找靜態檔案initXXX.ora (3)$ORACLE_SID配置地點:.bash_profile中
# vi .bash_profile export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 export ORACLE_SID=jiagulun export PATH=$PATH:$ORACLE_HOME/bin:. 語言國家、地區、編碼格式需要根據實際情況設定 export NLS_LANG=american_america.zhs16gbk4、動態、靜態引數檔案生成
通過動態檔案生成靜態檔案 SQL> create pfile from spfile; 通過靜態檔案生成動態檔案 SQL>create spfile from pfile;
5、引數的修改
memory:修改記憶體的,下次重啟資料庫就沒了 spfile:只是修改引數檔案,下次重啟生效 both:修改記憶體和引數檔案SQL> ALERT SYSTEM SET parameter_name=parameter_value [comment='註釋'] scope=[memory|spfile|both] [sid='sid'|'*'] 記憶體設定過大可能導致資料庫啟動不起來 SQL> alert system setsga_max_size = 8285000000 scope=spfile; SQL> alert system set sga_target = 8285000000 scope=spfile; SQL> alert system set sga_page_sga = true scope=spfile;
6、錯誤了的修改了spfile裡面的引數,資料庫啟動失敗解決辦法
# cd $ORACLE_HOME # cd dbs # sqlplus / as sysdba 生成pfile(靜態配置) SQL> create pfile from spfile; SQL> exit # vi initXXX.ora pre_page_sga=false sga_max_size=228500000 sga_target=228500000 # :wq # sqlplus / as sysdba 新生成spfile SQL>create spfile from pfile;7、Oracle啟動的3個階段
啟動3個階段 SQL> startup 分階段啟動 SQL> startup nomount SQL> alert database mount SQL> alert database opennomount:找引數檔案,將記憶體空間和程序啟動起來,例項啟動起來
檢視記憶體 # ipcs -a 開啟控制檔案 SQL> show parameter control 此時可以生成動態檔案,後面資料庫完全啟動再生成也行 SQL> create pfile from spfile; # cd dbs initXXX.ora # vi initXXX.oramount:根據引數檔案設定的控制檔案,開啟控制檔案 open:將資料檔案和redo.log開啟 8、Oracle關閉的四種方式,最常用的方式:shutdown immediate,不到萬不得已,不用shutdown abort 有四個選項可以選擇 預設是normal 1、abort 模擬突然掉電 記憶體被清空、記憶體中資料沒有寫入資料檔案 事務被立即中斷 沒有提交、沒有回滾 2、immediate 強制中斷當前正在執行的所有事務、回滾這些事務 回滾完畢,強制中斷所有連線 將例項中所有資料寫入資料檔案 3、transactional 等待正在執行的事務,一直到他們提交或者回滾 所有事務主動結束以後,強制中斷連線 將例項中的資料寫入資料檔案 清空快取 如果事務一直沒有提交或者回滾,例項無法關閉 4、normal 等待事務的主動提交或者回滾 等待使用者主動斷開連線 如果有一個使用者沒有斷開連線,那麼資料庫無法關閉 9、引數型別 看Oracle官方文件找到V$PARAMETER檢視,也可以查詢這個檢視檢視引數資訊,一般是MMEDIATE和FALSE MMEDIATE:表示改了立即生效 DEFERED:表示要重新登入會話才能生效 FALSE:表示要重啟資料庫才能生效