dba_data_files和v$datafile的區別

煙花丶易冷發表於2017-05-12
首先檢視兩個的資料結構
SQL> desc v$datafile;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 FILE#                                              NUMBER
 CREATION_CHANGE#                                   NUMBER
 CREATION_TIME                                      DATE
 TS#                                                NUMBER
 RFILE#                                             NUMBER
 STATUS                                             VARCHAR2(7)
 ENABLED                                            VARCHAR2(10)
 CHECKPOINT_CHANGE#                                 NUMBER
 CHECKPOINT_TIME                                    DATE
 UNRECOVERABLE_CHANGE#                              NUMBER
 UNRECOVERABLE_TIME                                 DATE
 LAST_CHANGE#                                       NUMBER
 LAST_TIME                                          DATE
 OFFLINE_CHANGE#                                    NUMBER
 ONLINE_CHANGE#                                     NUMBER
 ONLINE_TIME                                        DATE
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 CREATE_BYTES                                       NUMBER
 BLOCK_SIZE                                         NUMBER
 NAME                                               VARCHAR2(513)
 PLUGGED_IN                                         NUMBER
 BLOCK1_OFFSET                                      NUMBER
 AUX_NAME                                           VARCHAR2(513)
 FIRST_NONLOGGED_SCN                                NUMBER
 FIRST_NONLOGGED_TIME                               DATE

SQL> desc dba_data_files;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 FILE_NAME                                          VARCHAR2(513)
 FILE_ID                                            NUMBER
 TABLESPACE_NAME                                    VARCHAR2(30)
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 STATUS                                             VARCHAR2(9)
 RELATIVE_FNO                                       NUMBER
 AUTOEXTENSIBLE                                     VARCHAR2(3)
 MAXBYTES                                           NUMBER
 MAXBLOCKS                                          NUMBER
 INCREMENT_BY                                       NUMBER
 USER_BYTES                                         NUMBER
 USER_BLOCKS                                        NUMBER
 ONLINE_STATUS                                      VARCHAR2(7)
V$DATAFILE:This view contains datafile information from the control file.(描述拍控制檔案中記錄的資料檔案狀態
DBA_DATA_FILES:DBA_DATA_FILES describes database files.(描述資料字典中記錄的資料檔案狀態
這兩個都是資料字典裡的檢視,dba_data_files屬於靜態資料字典中的檢視,靜態資料字典有三種型別,分別為:user_*、 all_*、 dba_*,要想訪問這些檢視必須具有相關許可權,像“dba_data_files”就必須有DBA許可權才可以訪問;而v$datafile是屬於動態效能檢視(動態資料字典),這類檢視是有系統管理員如SYS維護的檢視,這類檢視在資料庫執行時是會不斷進行跟新的,所以我只能對其進行只讀訪問而不能修改它們。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29618264/viewspace-2138945/,如需轉載,請註明出處,否則將追究法律責任。

相關文章