一、靜態參數文件pfile:
show parameter pfile; --與spfile在相同目錄
文本文件,啓動時讀取,讀完即關閉,修改pfile後須要指定從pfile重啓數據庫才能生效;
二、動態參數文件spfile:
二進制文件,默認啓動時調用,數據庫啓動後spfile不關閉,運行中部分參數能夠動態修改;
三、Oracle啓動過程當中參數文件尋找順序
oracle啓動時首先經過$ORACLE_SID環境變量,的目錄下的dbs目錄找spfileipems.ora參數文件,找到
後使用該文件啓動,未找到spfileipems.ora後尋找initipems.ora文件找到後使用該文件啓動,再沒找到
時會報錯。
演示啓動過程:
[oracle@redhat7 ~]$ export ORACLE_SID=ipems1
sqlplus / as sysdba
Connected to an idle instance. # 實例未啓動
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initipems1.ora'
四、動態、靜態參數文件的相互生成,可在數據庫未啓動狀態下相互生成
create pfile from spfile;
create spfile from pfile;
當修改spfile參數錯誤致使數據庫沒法正常啓動時,先生成pfile再手動編輯相關參數,利用pfile生成spfile重啓數據庫便可。
五、參數的修改
直接修改pfile文件
經過命令系統中修改:
ALTER SYSTEM SET parameter_name=parameter_value scope=[memory|spfile|both];
查詢參數的更改模式
select name,value,issys_modifiable from v$parameter where name like '%pool_size';
六、Oracle啓動三個階段
startup nomount: 啓動進程,根據參數文件劃份內存空間,啓動實例。
nomount狀態的操做
建立數據庫
重建控制文件
ps -ef|grep ora
ipcs -a
show parameter control
alter database mount: 根據參數文件找到控制文件,打開控制文件,裝載數據庫。
mount狀態下的操做
重命名數據文件
添加、刪除和重命名重作日誌文件
執行數據庫徹底恢復操做
改變數據庫的歸檔模式
alter database open:打開數據文件和redolog文件。
七、Oracle關閉四種方式
關閉數據庫先關監聽,四個數據庫關閉選項:
abort:
模擬忽然掉電,內存被清空、內存中的數據沒有寫入數據文件,事務被當即中斷,沒有提交、沒有回滾;
immediate:
強制中斷當前正在運行的全部事務,回滾這些事務,中斷全部的鏈接;將實例中的全部數據寫入數據文件
transactional:
等待全部事務主動結束之後(提交或者回滾),強行中斷鏈接;將實例裏面的數據寫入數據文件,清空緩存
若是有事務一直沒有提交或者回滾,實例沒法關閉
normal:
默認選項,等待事務的主動提交或者回滾,等待用戶主動斷開鏈接,若是有一個用戶沒有斷開鏈接,那麼數
據庫沒法關閉
八、oracle的幾個name解釋
db_name:數據庫名,9個字符長度的內部標識,pmon使用db_name動態註冊監聽
show parameter db_name;
instance_name:實例名,用於動態註冊監聽
show parameter instance_name
SID:system identifier,在host上使用SID標識實例的共享內存,主要與OS打交道,win下SID不能重複,Linux/unix下能夠重複
select instance_name from v$instance;
service_names:服務名,複數,DG中要求主備相同,用於動態註冊監聽
show parameter service_names
db_domain:數據庫域名,用於分佈式數據庫中
show parameter db_domain
global_name:全局數據庫名,用於靜態註冊監聽
select * from global_name;
db_unique_name:dg中用於區分各庫
show parameter db_unique_name
Net Service Name:網絡服務名,用於經過tnsnames.ora鏈接數據sql