ITPub博客

首页 > 数据库 > Oracle > DBA_DATA_FILES中bytes的值要比maxbytes的值要大

DBA_DATA_FILES中bytes的值要比maxbytes的值要大

原创 Oracle 作者:不一样的天空w 时间:2017-12-13 16:12:05 0 删除 编辑
DBA_DATA_FILES中bytes的值要比maxbytes的值要大
来源于:
Value in BYTES Column Greater than MAXBYTES Column in DBA_DATA_FILES (文档 ID 197244.1)

目的:
本文解释了DBA_DATA_FILES中bytes的值要比maxbytes的值要大的原因。

描述:
当一个datafile 手工resize到一个大于maxsize(maxbytes)的值之后,DBA_DATA_FILES中bytes的值要比maxbytes的值要大
当该datafile被设置为autoextend on之后,dba_data_files中的maxbytes 值被自动结算为一个非零值。
dba_data_files中的bytes是该datafile的当前的大小(以bytes为单位)

下面是一个示例:

解释:
当datafile 被resize的时候,dba_data_files中的maxbytes 值 不会被更新,此时被更新的列只是bytes列。
dba_data_files中的maxbytes 值是在使用ALTER DATABASE command with MAXSIZE option 时才会被更新的。

Step-1: Create a New Tablespace  
======  ===================================================

SQL> create tablespace tst datafile '/u01/app/oracle/oradata/DBdb/tst.dbf' size 5m autoextend on;

Tablespace created.

SQL> col file_name for a60
SQL> set lines 200
SQL>  select file_name, bytes, maxbytes, autoextensible from dba_data_files;  

FILE_NAME                                                              BYTES   MAXBYTES AUT
----------------------------------------------------------------- ---------- ---------- ---
/u01/app/oracle/oradata/DBdb/users01.dbf                          3207331840 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/undotbs01.dbf                        2710568960 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/sysaux01.dbf                          744488960 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/system01.dbf                         2936012800 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/example01.dbf                         355205120 3.4360E+10 YES
/u01/app/oracle/fast_recovery_area/DBDB/newback/ts_xxf_01.dbf       10485760          0 NO
/u01/app/oracle/oradata/DBdb/tst.dbf                                 5242880 3.4360E+10 YES

7 rows selected.


Step-2: Alter the MAXSIZE value from default value  
======  ===================================================

SQL> alter database datafile '/u01/app/oracle/oradata/DBdb/tst.dbf' autoextend on maxsize 10m;  

Database altered.

SQL> select file_name, bytes, maxbytes, autoextensible from dba_data_files;

FILE_NAME                                                              BYTES   MAXBYTES AUT
----------------------------------------------------------------- ---------- ---------- ---
/u01/app/oracle/oradata/DBdb/users01.dbf                          3207331840 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/undotbs01.dbf                        2710568960 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/sysaux01.dbf                          744488960 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/system01.dbf                         2936012800 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/example01.dbf                         355205120 3.4360E+10 YES
/u01/app/oracle/fast_recovery_area/DBDB/newback/ts_xxf_01.dbf       10485760          0 NO
/u01/app/oracle/oradata/DBdb/tst.dbf                                 5242880   10485760 YES

7 rows selected.

Step-3: Resize the datafile to a value higher than MAXBYTES  
======  ===================================================
SQL> alter database datafile '/u01/app/oracle/oradata/DBdb/tst.dbf' resize 20m;

Database altered.

SQL> select file_name, bytes, maxbytes, autoextensible from dba_data_files;

FILE_NAME                                                              BYTES   MAXBYTES AUT
----------------------------------------------------------------- ---------- ---------- ---
/u01/app/oracle/oradata/DBdb/users01.dbf                          3207331840 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/undotbs01.dbf                        2710568960 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/sysaux01.dbf                          744488960 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/system01.dbf                         2936012800 3.4360E+10 YES
/u01/app/oracle/oradata/DBdb/example01.dbf                         355205120 3.4360E+10 YES
/u01/app/oracle/fast_recovery_area/DBDB/newback/ts_xxf_01.dbf       10485760          0 NO
/u01/app/oracle/oradata/DBdb/tst.dbf                                20971520   10485760 YES

7 rows selected.

SQL>


表空间tst(/u01/app/oracle/oradata/DBdb/tst.dbf  )能达到的最大大小是dba_data_files.bytes的值。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31397003/viewspace-2148667/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2016-09-22

  • 博文量
    916
  • 访问量
    1400391