ORACLE中表空间编号与数据文件编号都是连续的,不会断号。如果TS$中表空间出现了断号,

oracle在启动时会进行数据字典和控制文件的校验,发现不一致时,数据库不能正常启动。

表空间被删除时ts$表中并不会删除相关表空间的记录。只是把表空间的状态置为3,即INVALID状态。

如果再次创建同名的表空间,则oracle会把TS$表中同名表空间的状态由3置为1,ONLINE状态。以此

来保证表空间号的连续。

ORACLE 10g中sql.bsq记录了ts$的online$列与file$的status$列的含义:

ts$

online$  /* 1 = ONLINE, 2 = OFFLINE, 3 = INVALID */

file$

status$  /* 1 = INVALID, 2 = AVAILABLE */

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0

Connected as SYS

UNDOTBS2,LIANG,Liang这三个表空间被删除,但ts$中并没有删除相关记录。只是把ONLINE$状态置为3(INVALID)

SQL> SELECT ts#,name ,online$  FROM  ts$;

TS# NAME        ONLINE$

--- -----------       -------

0 SYSTEM               1

1 SYSAUX               1

2 UNDOTBS1          1

3 TEMP                   1

4 USERS                 1

5 UNDOTBS2          3  6 EXAMPLE             1

7 TBS_REPORT       1

8 LIANG                  39 Liang                   310 rows selected

-- 数据文件编号一样不会被删除,将删除的数据文件编号置为1(INVALID状态)。

SQL> SELECT  file#,status$ FROM  file$;

FILE# STATUS$

----- ------

1      2

2      2

3      2

4      2

5      2

6      2

7      17 rows selected

SQL> SELECT d.file_id,d.tablespace_name, d.file_name  FROM dba_data_files d

2  order by d.file_id;

FILE_ID TABLESPACE_NAME  FILE_NAME

------- ---------------- ----------------------------------------------------

1 SYSTEM           D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/SYSTEM01.DBF

2 SYSAUX           D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/SYSAUX01.DBF

3 UNDOTBS1         D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/UNDOTBS01.DBF

4 USERS            D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/USERS01.DBF

5 EXAMPLE          D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/EXAMPLE01.DBF

6 TBS_REPORT       D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/TBS_REPORT1.DBF

6 rows selected

SQL> CREATE  tablespace test DATAFILE 'D:/ORACLE/TEST02.DBF' SIZE 10M;

Tablespace created

重新创建数据文件时,如果没有状态为1(INVALID)的数据文件,oracle会新分配一个数据文件编号。

如果有状态为1(INVALID)的数据文件编号,不管新创建的数据文件是否与被删除的数据文件同名。

oracle都会重新利用被设置为状态为1(INVALID)的数据文件编号。以保证数据文件编号的连续性。

新创建数据文件后,发现7号数据文件编号被设置为2(AVAILABLE)

SQL> SELECT  file#,status$ FROM  file$;

FILE# STATUS$

----- -------

1       2

2       2

3       2

4       2

5       2

6       2

7       2

7 rows selected

SQL> SELECT d.file_id,d.tablespace_name, d.file_name  FROM dba_data_files d order by d.file_id;

FILE_ID TABLESPACE_NAME  FILE_NAME

------- ------------------  ----------------------------------------------------

1 SYSTEM           D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/SYSTEM01.DBF

2 SYSAUX           D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/SYSAUX01.DBF

3 UNDOTBS1      D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/UNDOTBS01.DBF

4 USERS             D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/USERS01.DBF

5 EXAMPLE         D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/EXAMPLE01.DBF

6 TBS_REPORT   D:/ORACLE/LIANGWEI/ORADATA/LIANGWEI/TBS_REPORT1.DBF

7 TEST                D:/ORACLE/TEST02.DBF

7 rows selected

新建表空间时,如果ts$中没有同名,且状态为3的表空间。oracle会重新分配一个连续的表空间编号。

SQL> SELECT ts#,name ,online$  FROM  ts$;

TS# NAME      ONLINE$

--- ----------    -------

0 SYSTEM           1

1 SYSAUX           1

2 UNDOTBS1      1

3 TEMP               1

4 USERS             1

5 UNDOTBS2      3

6 EXAMPLE         1

7 TBS_REPORT   1

8 LIANG              3

9 Liang               3

10 TEST               1

11 rows selected

如果创建同名的表空间,oracle会利用原有状态为3的表空间,同时将状态置为1.SQL>  CREATE  tablespace LIANG DATAFILE 'D:/ORACLE/TEST01.DBF' SIZE 10M;

Tablespace created

创建同名表空间LIANG后,8号表空间状态由3变为1.

SQL> SELECT ts#,name ,online$  FROM  ts$;

TS# NAME          ONLINE$

--- ---------- ----------

0 SYSTEM              1

1 SYSAUX              1

2 UNDOTBS1         1

3 TEMP                  1

4 USERS                1

5 UNDOTBS2         3

6 EXAMPLE            1

7 TBS_REPORT       1

8 LIANG                  1

9 Liang                   3

10 TEST                   1

11 rows selected

新创建的表空间不能与数据库中已有的表空间同名。

SQL> CREATE  tablespace TEST DATAFILE 'D:/ORACLE/TEST02.DBF' SIZE 10M;

CREATE  tablespace TEST DATAFILE 'D:/ORACLE/TEST02.DBF' SIZE 10M

*

第 1 行出现错误:

ORA-01543: 表空间 'TEST' 已存在

新创建的数据文件也不能与数据库中已有的数据文件同名。SQL> CREATE  tablespace TEST2 DATAFILE 'D:/ORACLE/TEST02.DBF' SIZE 10M;

CREATE  tablespace TEST2 DATAFILE 'D:/ORACLE/TEST02.DBF' SIZE 10M

*

第 1 行出现错误:

ORA-01537: 无法添加文件 'D:/ORACLE/TEST02.DBF' - 该文件已是数据库的一部分

oracle数据文件编号,oracle中表空间与数据文件编号的连续性相关推荐

  1. oracle如何往dg加盘_学习笔记:Oracle DG系统 主备库中表空间和数据文件增加删除等管...

    天萃荷净 Oracle Data Guard表空间和数据文件管理汇总 汇总日常工作中操作,在Oracle DG结构系统中,如何删除备库表空间和数据文件,如何管理主库与备库之间的文件系统,详见文章内容. ...

  2. oracle 孙帅_农村居民点空间大数据平台构建方法研究

    农村居民点空间大数据平台构建方法研究 孙帅,王彪 (北方工业大学建筑与艺术学院,北京 100144 ) [摘 要] 通过低空无人机实景建模技术,采集并构建农村居民点空间大数据平 台.充分发掘海量空间数 ...

  3. mysql数据库表空间压缩,表空间中有数据也可以压缩表空间(数据文件)大小!!...

    首先说声抱歉,在 中提出以下观点,经过研究请教,发现观点都是错误的,在这里给予更正. 3.得知表空间中有数据不能resize数据文件的大小:要想resize数据文件,那么表空间中必须没有数据. 更正后 ...

  4. ORACLE开发:创建与管理表空间和数据文件1

    Oracle在逻辑上以表空间存储数据,而实际上是以数据文件存储数据. 表空间和数据文件 表空间:某一时刻只属于一个数据库:由一个或多个数据文件组成:可近一步划分逻辑存储单元 数据文件:只能属于一个表空 ...

  5. oracle 11g dul,学习笔记:Oracle dul数据挖掘 导出Oracle11G数据文件坏块中表中

    试验模拟导出Oracle 11G数据库中数据文件坏块中表中的数据 以前一直以为dul对应的版本只能恢复最高的数据库版本一致,今天测试发现dul 10可以恢复11g最新版的数据库. 模拟环境SQL> ...

  6. oracle rman恢复表空间,Oracle数据库RMAN恢复之表空间和数据块介质的恢复

    示例一:表空间的数据文件被误删除 open状态下删除表空间对应的所有数据文件. 在open状态下使用alter tablespace ... offline for recover 脱机表空间. 使用 ...

  7. 在数据库使用期间创建OMF(Oracle Managed Files,Oracle管理的文件)

    在数据库使用期间,可以按照以下步骤使用OMF为表空间创建数据文件,为临时表空间创建临时文件,创建控制文件,创建redo日志文件和归档日志. 1.使用OMF为表空间创建数据文件 当某些条件满足时,下面的 ...

  8. oracle rman部分恢复,Oracle中使用RMAN备份及一些恢复方法

    使用RMAN备份并恢复 Backup  备份命令生成 Backup sets (备份集合),以 oracle 专有的格式保存, 由一个完全的所有的备份片集合构成,构成一个完全备份或增量备份. 1.1. ...

  9. 北京涛思数据获得 Pre A 轮融资,专注时序空间大数据领域

    北京涛思数据科技有限公司(TAOS Data)宣布完成Pre A轮融资,参与此轮投资的是永辉瑞金和温青投资.此前,公司曾于2017年6月获得来自明势资本和蛮子基金的天使投资. 据悉,完成此轮融资后,涛 ...

最新文章

  1. [转] 先验概率and后验概率
  2. R语言seq函数生成数据序列实战
  3. Linux性能分析和调整的基本原则
  4. 读书笔记----10日摘抄整理(01)
  5. Matrix(二维hash)
  6. SQL SERVER作业的Schedules浅析
  7. 转HTML、CSS、font-family:中文字体的英文名称
  8. Python学习笔记_文件读写,目录遍历类封装
  9. 专访图灵奖得主David Patterson:8年前就得知被提名,AI跃迁看好边缘计算
  10. MySQL执行计划 EXPLAIN参数
  11. 30个值得关注的Vue开源项目
  12. AndroidStudio个人中心个人信息修改
  13. 最新Oreo支付系统平台完整源码+已全开源
  14. Leetcode 5855 数组第K大的整数
  15. 三亚科技创新创业大赛完美落幕,珈和科技等五个企业获一等奖
  16. Nvidia Jetson AGX Xavier 安装SATA接口固态硬盘
  17. win8连接wifi成功但受限制_win8平板电脑魔兽评测 Win8平板Pi游戏平板电脑测评PO W1流畅运行...
  18. 基于FPGA的数字钟(四)——时钟控制模块
  19. SpringCloud整合Seata(Docker)版本异常处理
  20. 如何在MySQL中修改'max_questions'资源值?

热门文章

  1. html文件如何查看效果图,做PS时 如何查看原图,对比效果图?
  2. 预产期计算器在线计算生男生女计算机,预产期计算器生男生女的方法介绍
  3. IQC跳捡 T-SQL
  4. 关于WORD的文字方向
  5. APK_android捕鱼达人修改方法(反编译、修改、打包)
  6. 2023年网络安全趋势
  7. python日历教程_利用Python自动化生成逼格高的日历!简单又实用
  8. Android行车记录仪软件后台录像,二十四小时不间断循环录像,欢迎大家捧场
  9. leetcode91
  10. 如何用DOS命令修复移动硬盘