1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle中表空間與數據文件編號的連續性

        發布時間:  2012/8/20 17:27:57

        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                  3
          9 Liang                   3
        10 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      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

        重新創建數據文件時,如果沒有狀態為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' - 該文件已是數據庫的一部分


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

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

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线