ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于Oracle相对文件号和绝对文件号

关于Oracle相对文件号和绝对文件号

原创 Linux操作系统 作者:randyamor 时间:2009-01-09 23:13:26 0 删除 编辑
Oracle的相对文件号(RFN)和绝对文件号(AFN)概念一直不太清楚,最近总结了下,特地记录下来。

绝对文件号是整个数据库唯一的;
相对文件号只在表空间唯一,就是说每个表空间都有自己的相对文件号;相对文件号对于整个数据库来说是不唯一的;
每个表空间的最大文件数为1023。

下面通过一些示例来看看相对文件号是如何产生的。

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
RBS
USERS
TEMP
TOOLS
INDX
DRSYS

7 rows selected.

SQL> select file_id,relative_fno from dba_data_files where tablespace_name='SYSTEM';

FILE_ID    RELATIVE_FNO
---------- ------------
1          1

SQL> select file_id,relative_fno from dba_data_files where tablespace_name='USERS';

FILE_ID    RELATIVE_FNO
---------- ------------
3          3
9          9
10         10
11         11
12         12
13         13
14         14
15         15
..         ..
..         ..
..         ..
1020       1020
1021       1021
1022       1022
1023       1023
1024       1

通过上面的输出可以看到,相对文件号尽量同绝对文件号保持一致,直到表空间中的文件数超出1023。

现在对users表空间添加一个数据文件,然后看看相对文件和绝对文件的变化。

SQL> ALTER TABLESPACE USERS ADD DATAFILE 'D:\U01\ORACLE\TEST\ORADATA\USER001.DBF' SIZE 1m;

Tablespace altered.

SQL> select file_id,relative_fno from dba_data_files where tablespace_name='USERS';

FILE_ID    RELATIVE_FNO
---------- ------------
3          3
9          9
10         10
11         11
12         12
13         13
14         14
15         15
..         ..
..         ..
..         ..
1020       1020
1021       1021
1022       1022
1023       1023
1024       1
1025       2         --已经添加了一个相对文件号为2的数据文件。

接下来,再对任意表空间添加一个数据文件,然后再对users表空间添加数据文件。

SQL> ALTER TABLESPACE TOOLS ADD DATAFILE 'D:\U01\ORACLE\TEST\ORADATA\TOOLS001.DBF' SIZE 1m;

Tablespace altered.

SQL> select file_id,relative_fno from dba_data_files where tablespace_name='TOOLS';

FILE_ID    RELATIVE_FNO
---------- ------------
8          8
1026       3

SQL> ALTER TABLESPACE USERS ADD DATAFILE 'D:\U01\ORACLE\TEST\ORADATA\USER002.DBF' SIZE 1m;

Tablespace altered.

SQL> select file_id,relative_fno from dba_data_files where tablespace_name='USERS';

FILE_ID    RELATIVE_FNO
---------- ------------
3          3
9          9
10         10
11         11
12         12
13         13
14         14
15         15
..         ..
..         ..
..         ..
1020       1020
1021       1021
1022       1022
1023       1023
1024       1
1025       2
1027       4             --这里添加的是相对文件号为4的数据文件,因为已经存在3号文件

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

上一篇: 遭遇ORA-01552错误
请登录后发表评论 登录
全部评论

注册时间:2008-05-20

  • 博文量
    31
  • 访问量
    119532