標籤:資料庫;oracle;物理結構
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/72/77/wKioL1XkWGqiPoU0AAJxKeRfLYA359.jpg" title="clipboard.png" alt="wKioL1XkWGqiPoU0AAJxKeRfLYA359.jpg" />
註:
1).資料庫特指資料檔案;
2)進程和記憶體組成了執行個體。
1.資料檔案:
資料檔案是真正用來記錄使用者資料的檔案,一個資料檔案只能屬於一個資料庫,並且一個資料檔案只能屬於一個資料表空間。
查看錶空間物理檔案名稱,路徑及大小:
select tablespace_name,
file_id,
file_name,
round(bytes /(1024 * 1024), 0) total_space
from dba_data_files
order by tablespace_name;
資料檔案建立方式:
建立資料表空間:
create tablespace test datafile ‘/u01/app/oracle/oradata/orcl/test01.dbf‘
size 5m autoextend on next 5m maxsize 50m extent management local;
已存在資料表空間增加資料檔案:
alter tablespace users add datafile‘/u01/app/oracle/oradata/orcl/users02.dbf‘;
刪除方式:刪除資料表空間的同時刪除資料檔案,直接刪除資料檔案會報錯。
drop tablespace test_data includingcontents and datafiles;--刪除資料表空間時刪除資料檔案
alter tablespace users drop datafile‘/u01/app/oracle/oradata/orcl/users02.dbf‘;--刪除資料表空間裡的某個資料檔案
2.控制檔案
控制檔案中記錄著資料庫的名稱,資料庫的物理布局:包括資料檔案的位置、聯機記錄檔、備份檔案以及資料庫當前SCN等重要訊息,在資料庫啟動的第二階段會讀入控制檔案。
要求控制檔案有多個拷貝,以防單個檔案損壞後危害資料庫。當資料庫修改控制檔案時,所有拷貝都要同時被修改。
查看方式:
select * from v$controlfile;
show parameter control_files;
建立控制檔案副本的步驟:
1)修改參數檔案
alter system set control_files =‘/u01/app/oracle/oradata/orcl/control01.ctl‘,‘/u01/app/oracle/flash_recovery_area/orcl/control02.ctl‘scope=spfile;
2)停止資料庫
SQL> shutdown immediate;
3)複製控制檔案
cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/flash_recovery_area/orcl/control02.ctl
4)啟動資料庫
SQL> statup
5)驗證,查看v$controlfile
SQL> select name from v$controlfile;
刪除控制檔案副本的步驟與建立的步驟相比,少了一步複製控制檔案。
3.記錄檔
記錄檔是按照時間順序記錄資料庫內發生的所有改變的“流水賬”。
記錄檔記錄的是Redo Records,每個Redo Records代表著一個資料區塊發生的變化。一個事務會涉及多個資料區塊內容改變,所以會包含多個Redo Records。這些Redo Records會記錄事務的如下內容:
事務的開始時間;
事務的名稱;
對象名稱;
資料被更改前的狀態,也叫前鏡像;
資料被修改後的狀態,也叫後鏡像;
commit標記;
觸發寫操作的時機:
commit操作;累計的Redo Log 達到1M;Redo LogBuffer使用超過了總容量的1/3.
記錄檔一般是以組的形式存在,每一個組內的成員內容完全一樣;日誌寫完一個日誌組後會切換到下一個日誌組。
記錄檔的查看:
select * from v$logfile;
記錄檔內容查看:使用LogMiner。
記錄檔組增加:
alter database add logfile group n(‘路徑‘) size100M;
記錄檔組刪除;:
alter database drop logfile group 4;--只能刪除INACTIVE狀態的日誌組
記錄檔群組成員增加:
alter database add logfile member ‘路徑‘ to groupt;
記錄檔群組成員刪除:
alter database drop logfile member ‘路徑‘
歸檔記錄檔是在歸檔模式下產生的記錄檔,記錄檔被覆蓋之前會產生歸檔記錄檔,以保留曆史的“流水賬”。
4.參數檔案
參數檔案分為靜態參數檔案(pfile)和動態參數檔案(Spile)兩種。pfile是文字文件,spfile是二進位檔案。
參數修改:
alter system set parameter=value[scope=spfile|memory|both]
scope中,spfile表示修改在spile檔案中,不影響當前設定;memory是立即修改當前設定,不會修改spile;both是同時修改了spfile和當前設定。
對於靜態參數,只能使用scope=spfile
Oracle啟動過程負載檔案順序: spfilesid.oraàspfile.oraàinitsid.ora
參數檔案的位置:
show parameter spfile;
show parameter spfile;
參數檔案的建立:
create pfile=‘...‘;
create spile=‘...‘;
用指定的參數檔案啟動資料庫的方式:
startup pfile=‘...‘;
startup spfile=‘...‘;
5.警示記錄檔
記錄資料庫運行過程發生的重大事件,比如啟動、關閉、日誌切換、添加資料檔案等,在啟動期間,這個日誌會記錄所有的參數值。
查看方式:
show parameter background_dump_dest
linux系統下進入該目錄,輸入 tail -f 警示日誌。
異常查看:grep ORA- alertsid.log
6.trace檔案:有3類追蹤檔案,分別是核心追蹤檔案、後台進程追蹤檔案、使用者追蹤檔案,分別用core_dump_dest、background_dump_dest、user_dump_dest參數定義
7.Change Tracking檔案
資料區塊變化追蹤檔案,記錄從上次全量備份以來所有發生變化的資料區塊,可以節省增量備份所花的時間。
[讀書筆記]資料庫物理結構