程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle物理存儲結構

oracle物理存儲結構

編輯:Oracle教程

oracle物理存儲結構


oracle物理存儲結構

數據庫其實是由一堆物理文件組成的,主要有4個:
1. 控制文件(control files)
2. 數據文件(Date files)
3. 重做日志文件(redolog)

1.控制文件

控制文件是數據庫的root file,由他來定位數據庫文件
裡面有:

數據庫的name ,DBID,數據庫唯一標識符。 數據庫創建日期 數據文件,重做日志,歸檔日志文件的信息。 tablespace的信息。 rman 備份

控制文件他有兩個目的

包含一些data files,redo files存放在哪裡的信息。所以沒有control file,數據庫是沒辦法mount的,因為他定位不到基本的數據文件。 數據庫允許的一些元數據會記錄在裡面,比如檢查點的相關信息等。

查詢控制文件信息

show parameter control_files;
select name from v$controlfile;

control file的指定

其實是在pfile 裡面指定的,dbca創建數據庫的時候會指定。

2. 數據文件

數據庫的數據實際存放在數據文件中(data file)。他一般跟tablesapce的關系比較密切,一個tablespace可以由好幾個數據文件,但是一個數據文件只能對於一個tablespace。tablespace是邏輯上的概念。數據文件則是一個物理概念。

查詢數據文件

SQL> select name,status from v$datafile;

數據文件的狀態

online,offline,system,主要是前2個,聯機和脫機狀態,脫機狀態下,數據就沒辦法訪問了。
比如將某個數據文件offline可以執行

SQL> alter database datafile '/u01/app/oracle/oradata/test58/zabbix.dbf' offline;

但要注意,只有在db開啟歸檔模式時,才可以將數據文件offline,否則會報錯

ORA-01145: offline immediate disallowed unless media recovery enabled

查看錯誤信息

SQL> !oerr ora 01145
01145, 00000, "offline immediate disallowed unless media recovery enabled"
// *Cause: ALTER TABLESPACE ... OFFLINE IMMEDIATE or ALTER DATABASE DATAFILE
//         ... OFFLINE is only allowed if database is in ARCHIVELOG mode.
// *Action:Take tablespace offline normally or shutdown abort. Reconsider your
//         backup strategy. You could do this if you were archiving your logs.

什麼是歸檔模式,請看redo log裡面的相關操作。

3. 重做日志文件

redo log其實是非常重要的東西,redo一般在建庫的時候指定。

SQL> select * from v$log

開啟歸檔模式

1.查看是否在歸檔模式下:

SQL> archive log list;
Database log mode          No Archive Mode
Automatic archival         Disabled
Archive destination        /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch
Oldest online log sequence     36
Current log sequence           38

2.備份數據庫

3.編輯pfile

LOG_ARCHIVE_DEST="/u01/app/oracle/oradata/test58/archive"

確保有這個目錄。

4.啟動數據庫,但是不要open
startup mount

5.開啟歸檔模式,並且打開數據庫

alter database ARCHIVELOG;
alter database open;

6.查看狀態

SQL> archive log list;
Database log mode          Archive Mode
Automatic archival         Enabled
Archive destination        /u01/app/oracle/oradata/test58/archive
Oldest online log sequence     36
Next log sequence to archive   38
Current log sequence           38

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved