1. 程式人生 > 其它 >初始引數及資料庫啟動和關閉

初始引數及資料庫啟動和關閉

1、靜態引數檔案 2、動態引數檔案
1 # cd $ORACLE_HOME
2 # cd dbs
3 # ls
4 動態引數名:9i之後,二進位制,不能修改,可以檢視。有些引數改完後直接生效,有些引數改了要重啟。
5 # spfile例項名.ora
6 靜態引數名:9i之前,可以修改,oracle啟動的時候讀
7 # init例項名.ora
3、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.zhs16gbk
4、動態、靜態引數檔案生成
通過動態檔案生成靜態檔案
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 set
sga_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 open
nomount:找引數檔案,將記憶體空間和程序啟動起來,例項啟動起來
檢視記憶體
# ipcs -a
開啟控制檔案
SQL> show parameter control
此時可以生成動態檔案,後面資料庫完全啟動再生成也行
SQL> create pfile from spfile;
# cd dbs
initXXX.ora
# vi initXXX.ora
mount:根據引數檔案設定的控制檔案,開啟控制檔案 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:表示要重啟資料庫才能生效