首先查看两个的数据结构
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/,如需转载,请注明出处,否则将追究法律责任。