1. 程式人生 > >【轉】Oracle基礎結構認知—oracle物理結構 禮記八目 2017-12-13 20:31:06

【轉】Oracle基礎結構認知—oracle物理結構 禮記八目 2017-12-13 20:31:06

redo update file 初始化 src tnsname 其他 需要 丟失

原文地址:https://www.toutiao.com/i6499008214980362765/

oracle數據庫啟動:oracle服務啟動,通過參數文件查找控制文件,啟動控制文件,則控制文件調用數據文件和日誌文件。

oracle的文件系統組成:參數文件,控制文件,數據文件,日誌文件組成。

1.參數文件(initialization parameter file):是 ORALE RDBMS 主要的配置點,它是配置參數和數值的集合。每一個參數值都控制或修改數據庫和實例的某個方面。

2.控制文件(control file):由Oracle數據庫實例在啟動時被訪問的內部二進制文件,它們所存放的路徑由參數文件的control_files=參數來確定。 Oracle一般有兩個或更多的控制文件,每個控制文件記錄有相同的信息,在數據庫運行中如果某個控制文件出錯時,Oracle會自動使用另外一個控制文件。當所有的控制文件都損壞時系統將不能工作;控制文件是實例和數據庫的鏈接文件。

3.數據文件(data file):用於存放所有數據庫的數據文件,Oracle安裝過程中自動建立多個必要的數據文件。這些數據文件用於存放Oracle系統的基本數據。在應用系統開發過程中,我們可根據需要另建立一些數據文件。如果按數據存放類型來分:用戶數據(存放應用系統的數據),系統數據(管理用戶數據和數據庫系統本身的數據,如:數據字典,用戶所建的表名,數據類型等)。

3.日誌文件(log file):也叫事務記錄文件,該文件記錄有事物對數據庫進行的一切修改操作或事務。

4.其他支持文件:sqlnet.ora文件,tnsnames.ora文件,listener.ora文件;以linux為例一般存放於/database/oracle/product/11.2.0/db_1/network/admin中。

參數文件:登錄到SQLPLUS裏鍵入:show parameter spfile;,查看spfile的位置.windos:G:oracleproduct .2.0db_1dbsSPFILEORCL.ORA,linux:/database/oracle/.../dbs/spfile.ora.

技術分享圖片

查看oracle中spfile文件位置

#盡可能的多備份控制文件,以免發生數據癱瘓造成的不便;在備份控制文件時,數據庫必須為close狀態,對一個open狀態的數據庫控制文件進行拷貝容易造成某個數據塊的損壞。

1.通過oracle的sqlplus的內置工具,登錄到數據庫.linux:sqlplus ‘/as sysdba’,windows:sqlplus “/as sysdba”,鍵入:select * from v$controfile ;通過sql命令查詢控制文件存放的位置,並記住該控制文件的路徑。

2.停止當前數據庫,shutdown immediate; 不建議應用 shutdown ,一個面向數據訪問比較頻繁的數據,直接應用shutdown 有可能造成數據庫數據丟失或數據錯誤問題。

3.找到oracle的初始化參數文件,linux: vi/database/orac/.../SPFILEORCL.ORA;wiondows:G:oracleproduct .2.0db_1dbsSPFILEORCL.ORA;編輯參數文件的control_file的新增路徑,編輯完成後註意保存。並在控制文件的存放目錄copy任意control.ctl,linux:cp -p /../control01.ctl /../control04.ctl.

4.登錄到linux或windows的sqlplus工具裏,啟動oracle數據庫;建議使用:stratup.啟動完成後,鍵入select status,name from v$controlfile 後你會發現新增的備份控制文件.

*通過sqlplus 查看控制文件位置

select status,name from v$controlfile ;

技術分享圖片

*通過sqlplus 查看數據文件位置

select status,name from v$datafile ;

技術分享圖片

*通過sqlplus 查看日誌文件位置

select status,member from v$logfile ;

技術分享圖片

*.通過sqlplus查看重做日誌文件信息

archive log list;

Select * from v$log;

重做日誌文件(Redolog file) Oracle 所作的一切操作都記錄在日誌文件中,Oracle系統在工作當中並不是每作一條記錄的修改就立即存盤(寫入數據文件),而是只作修改記錄,聯機重做日誌就保存所有這些改變的信息。當所有的修改最後寫入數據文件時,所有的修改仍記錄在聯機重做日誌中,這將有利於對這些事務記錄進行恢復操作。但如果不是聯機重做日誌,則只能恢復部分近期的操作。主要存放數據庫執行DML(inset,update,delete)語句,順序寫入,寫滿之後自動切換。只有歸檔模式才可以恢復數據,非歸檔模式只能恢復當前數據。

----查看重做日誌文件信息

archive log list;

Select * from v$log;

技術分享圖片

----切換訪問體質文件(正常工作中使用不到)

Alter system switch logfiel ;

Select * from v$logfile;

----增加重做日誌文件

Linux:alter database add logfile ‘/database/../redolog09.rdo’size 2g autoextend off;

Windows:alter database add logfie

(‘G:oracleproduct.2.0db_1databasearchive edolog09.rdo’)size 2g ;

Alter system switch logfiel ;使新增日誌文件生效

Select * from v$logfile;查看日誌信息

-----制定工作組增加重做日誌文件

Alter database add logfile member ‘/database/../redolog11.rdo’ to group 1 ,’/database/../redolog12.rdo’ to group 2;

Alter system switch logfiel ;

Select * from v$logfile;

技術分享圖片

【轉】Oracle基礎結構認知—oracle物理結構 禮記八目 2017-12-13 20:31:06