oracle 體系結構及內存管理 01_參數文件及數據庫的啓動和關閉

一、靜態參數文件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

相關文章
相關標籤/搜索