亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

Oracle中表空間與數(shù)據(jù)文件編號的連續(xù)性

發(fā)布時間:  2012/8/20 17:27:57

Oracle中表空間編號與數(shù)據(jù)文件編號都是連續(xù)的,不會斷號。如果TS$中表空間出現(xiàn)了斷號,

Oracle在啟動時會進(jìn)行數(shù)據(jù)字典和控制文件的校驗(yàn),發(fā)現(xiàn)不一致時,數(shù)據(jù)庫不能正常啟動。
-
 

表空間被刪除時ts$表中并不會刪除相關(guān)表空間的記錄。只是把表空間的狀態(tài)置為3,即INVALID狀態(tài)。
如果再次創(chuàng)建同名的表空間,則Oracle會把TS$表中同名表空間的狀態(tài)由3置為1,ONLINE狀態(tài)。以此
來保證表空間號的連續(xù)。

 

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$中并沒有刪除相關(guān)記錄。只是把ONLINE$狀態(tài)置為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                  3
  9 Liang                   3
10 rows selected

-- 數(shù)據(jù)文件編號一樣不會被刪除,將刪除的數(shù)據(jù)文件編號置為1(INVALID狀態(tài))。

SQL> SELECT  file#,status$ FROM  file$;
FILE# STATUS$
----- ------
    1      2
    2      2
    3      2
    4      2
    5      2
    6      2
    7      1
7 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

重新創(chuàng)建數(shù)據(jù)文件時,如果沒有狀態(tài)為1(INVALID)的數(shù)據(jù)文件,Oracle會新分配一個數(shù)據(jù)文件編號。
如果有狀態(tài)為1(INVALID)的數(shù)據(jù)文件編號,不管新創(chuàng)建的數(shù)據(jù)文件是否與被刪除的數(shù)據(jù)文件同名。
Oracle都會重新利用被設(shè)置為狀態(tài)為1(INVALID)的數(shù)據(jù)文件編號。以保證數(shù)據(jù)文件編號的連續(xù)性。

新創(chuàng)建數(shù)據(jù)文件后,發(fā)現(xiàn)7號數(shù)據(jù)文件編號被設(shè)置為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$中沒有同名,且狀態(tài)為3的表空間。Oracle會重新分配一個連續(xù)的表空間編號。


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

如果創(chuàng)建同名的表空間,Oracle會利用原有狀態(tài)為3的表空間,同時將狀態(tài)置為1.
SQL>  CREATE  tablespace LIANG DATAFILE 'D:\Oracle\TEST01.DBF' SIZE 10M;
Tablespace created

創(chuàng)建同名表空間LIANG后,8號表空間狀態(tài)由3變?yōu)?.
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

新創(chuàng)建的表空間不能與數(shù)據(jù)庫中已有的表空間同名。

SQL> CREATE  tablespace TEST DATAFILE 'D:\Oracle\TEST02.DBF' SIZE 10M;
CREATE  tablespace TEST DATAFILE 'D:\Oracle\TEST02.DBF' SIZE 10M
*
第 1 行出現(xiàn)錯誤:
ORA-01543: 表空間 'TEST' 已存在

新創(chuàng)建的數(shù)據(jù)文件也不能與數(shù)據(jù)庫中已有的數(shù)據(jù)文件同名。
SQL> CREATE  tablespace TEST2 DATAFILE 'D:\Oracle\TEST02.DBF' SIZE 10M;
CREATE  tablespace TEST2 DATAFILE 'D:\Oracle\TEST02.DBF' SIZE 10M
*
第 1 行出現(xiàn)錯誤:
ORA-01537: 無法添加文件 'D:\Oracle\TEST02.DBF' - 該文件已是數(shù)據(jù)庫的一部分


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線