[20120915]关于表空间号.txt

简介: [20120915]关于表空间号.txt前几天,开发问一个问题,就是建立表空间时表空间号有什么规律,我说:"我自己没有注意,应该是顺序增加吧"他给看了测试环境,确实有一些不是规律增加,处于好奇研究看看.
[20120915]关于表空间号.txt

前几天,开发问一个问题,就是建立表空间时表空间号有什么规律,我说:"我自己没有注意,应该是顺序增加吧"

他给看了测试环境,确实有一些不是规律增加,处于好奇研究看看.

1.测试环境:
SQL> select * from v$version ;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL> select file#,rfile#,name,ts# from v$datafile ;

     FILE#     RFILE# NAME                                                      TS#
---------- ---------- -------------------------------------------------- ----------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                0
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                1
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf               2
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                 4
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf               6
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                  7
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                 8
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                  9
         9          9 /u01/app/oracle11g/oradata/test/test101.dbf                12
        10         10 /u01/app/oracle11g/oradata/test/fratable01.dbf             13

10 rows selected.

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
EXAMPLE
RMAN
TOOLS
TEST
TEST1
FRATABLE

11 rows selected.

2.建立1个新的表空间:
SQL> create  tablespace testa datafile '/data/testtest/testa01.dbf' size 88k;
Tablespace created.

SQL> select file#,rfile#,name,ts# from v$datafile ;

     FILE#     RFILE# NAME                                                      TS#
---------- ---------- -------------------------------------------------- ----------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                0
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                1
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf               2
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                 4
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf               6
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                  7
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                 8
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                  9
         9          9 /u01/app/oracle11g/oradata/test/test101.dbf                12
        10         10 /u01/app/oracle11g/oradata/test/fratable01.dbf             13
        11         11 /data/testtest/testa01.dbf                                 21

11 rows selected.
--对应的TS# 竟然等于21.

3.做一个跟踪很容易发现,以前建立的表空间一直存在sys.ts$中,即使删除了表空间.

SQL> select ts#,name  from sys.ts$;

       TS# NAME
---------- --------------------------------------------------
         0 SYSTEM
         1 SYSAUX
         2 UNDOTBS1
         3 TEMP
         4 USERS
         5 UNDOTBS2
         6 EXAMPLE
         7 RMAN
         8 TOOLS
         9 TEST
        10 _$deleted$10$0
        11 TEST_8K
        12 TEST1
        13 FRATABLE
        14 FY_REC_DATA
        15 FY_RST_DATA
        16 FY_REC_DATA1
        17 TEST_R
        18 TEST_Y
        19 TESTTTS1
        20 TEST_AAAZ
        21 TESTA

22 rows selected.

--按照这个情况,很明显如果我建立表空间test_R TS#号一定等于17.测试看看.
SQL> create  tablespace test_r datafile '/data/testtest/test_r01.dbf' size 88k;
Tablespace created.

SQL> select file#,rfile#,name,ts# from v$datafile ;

     FILE#     RFILE# NAME                                                      TS#
---------- ---------- -------------------------------------------------- ----------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                0
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                1
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf               2
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                 4
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf               6
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                  7
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                 8
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                  9
         9          9 /u01/app/oracle11g/oradata/test/test101.dbf                12
        10         10 /u01/app/oracle11g/oradata/test/fratable01.dbf             13
        11         11 /data/testtest/testa01.dbf                                 21
        12         12 /data/testtest/test_r01.dbf                                17

12 rows selected.

--确实是17.

4.改名表空间test_r为test_y看看.
SQL> alter tablespace test_r rename to test_y;

SQL> select file#,rfile#,name,ts# from v$datafile ;

     FILE#     RFILE# NAME                                                      TS#
---------- ---------- -------------------------------------------------- ----------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                0
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                1
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf               2
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                 4
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf               6
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                  7
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                 8
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                  9
         9          9 /u01/app/oracle11g/oradata/test/test101.dbf                12
        10         10 /u01/app/oracle11g/oradata/test/fratable01.dbf             13
        11         11 /data/testtest/testa01.dbf                                 21
        12         12 /data/testtest/test_r01.dbf                                17

12 rows selected.
--没有变化,依旧是17.

SQL> select ts#,name  from sys.ts$;

       TS# NAME
---------- --------------------------------------------------
         0 SYSTEM
         1 SYSAUX
         2 UNDOTBS1
         3 TEMP
         4 USERS
         5 UNDOTBS2
         6 EXAMPLE
         7 RMAN
         8 TOOLS
         9 TEST
        10 _$deleted$10$0
        11 TEST_8K
        12 TEST1
        13 FRATABLE
        14 FY_REC_DATA
        15 FY_RST_DATA
        16 FY_REC_DATA1
        17 TEST_Y
        18 _$deleted$18$0
        19 TESTTTS1
        20 TEST_AAAZ
        21 TESTA

22 rows selected.
--原来的ts#=18,name='TEST_Y',变成了'_$deleted$18$0'.

5.建立多个表空间看看:

SQL> show parameter db_files

NAME      TYPE        VALUE
--------- ----------- ------
db_files  integer     2000

begin
  for i in 1..1025 loop
     execute immediate 'create tablespace testb'||i||' datafile ''/data/testtest/testb' || i ||''' size 88k';
 end loop;
end;
/

PL/SQL procedure successfully completed.

--再删除它们.

SQL> create  tablespace test_r datafile '/data/testtest/testr01.dbf' size 88k;

Tablespace created.

SQL> select file#,rfile#,name,ts# from v$datafile ;

     FILE#     RFILE# NAME                                                      TS#
---------- ---------- -------------------------------------------------- ----------
         1          1 /u01/app/oracle11g/oradata/test/system01.dbf                0
         2          2 /u01/app/oracle11g/oradata/test/sysaux01.dbf                1
         3          3 /u01/app/oracle11g/oradata/test/undotbs01.dbf               2
         4          4 /u01/app/oracle11g/oradata/test/users01.dbf                 4
         5          5 /u01/app/oracle11g/oradata/test/example01.dbf               6
         6          6 /u01/app/oracle11g/oradata/test/rman01.dbf                  7
         7          7 /u01/app/oracle11g/oradata/test/tools01.dbf                 8
         8          8 /u01/app/oracle11g/oradata/test/test01.dbf                  9
         9          9 /u01/app/oracle11g/oradata/test/test101.dbf                12
        10         10 /u01/app/oracle11g/oradata/test/fratable01.dbf             13
        11         11 /data/testtest/testa01.dbf                                 21
        12         12 /data/testtest/test_r01.dbf                                17
        13         13 /data/testtest/testr01.dbf                               1047

13 rows selected.

目录
相关文章
|
Oracle 关系型数据库 数据库
[20171122]恢复数据文件块头5.txt
[20171122]恢复数据文件块头5.txt --//前几天做了恢复数据文件块头,通过备份文件直接取出文件块头,覆盖原来的数据块,然后修复. --//今天测试使用image copy来恢复.
1092 0
|
Oracle 关系型数据库 数据库
[20171114]恢复数据文件块头2.txt
[20171114]恢复数据文件块头2.txt --//曾经写过一篇[20161111]数据库文件头的修复.txt,但是利用大小相似的数据文件头覆盖来恢复,那是属于特种恢复.
1054 0
|
SQL Oracle 关系型数据库
[20170627]使用TSPITR恢复表空间.txt
[20170627]使用TSPITR恢复表空间.txt --//RMAN提供了一种实现所谓TSPITR(Tablespace Point-In-Time Recovery)的技术,通过简单的一个语句,就可以在主库不停库(很吸引人) --//的情况下,利用备份集和连续的归档日志,实现表空间级别的定点恢复。
881 0
|
机器学习/深度学习 SQL 关系型数据库
[20170520]利用undo表空间保护数据.txt
[20170520]利用undo表空间保护数据.txt --//undo表空间是用来记录前映像信息,也用来保证查询时一致性的.上个星期去听一些课,提到不打开归档情况下一些维护技巧, --//就是建立多个redo日志文件,用来保存日志,至少维持3-4天甚至1个星期的日志,这样可以一定程度减少错误以及会查问题.
828 0
|
Oracle 关系型数据库 数据库管理
[20161108]关于数据文件的问题.txt
[20161108]关于数据文件的问题.txt --昨天看了一些数据文件位图问题,今天探究数据文件的其他问题。 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION     ...
849 0
|
Oracle 关系型数据库 数据库
[20161031]rman备份与数据文件OS块.txt
[20161031]rman备份与数据文件OS块.txt --每个数据文件都有一个OS块,位于数据文件的第1块(也是0块).通过bbed无法访问: BBED> set dba 7,0 BBED-00205: illegal or out of range DB...
800 0
|
Oracle 关系型数据库 数据库
[20160721]rman与undo表空间备份.txt
[20160721]rman与undo表空间备份.txt --//UNDO表空间主要用于存储前镜像数据,这些数据在回滚以及恢复过程中可能被用到。 --//一般生产数据库的UNDO表空间可能会变得非常巨大,甚至包括多个数据文件,而备份完整的UNDO数据文件在恢复时一般可能用到的比 --//例很小。
831 0
|
Oracle 关系型数据库 数据库管理
[20160329]表空间与数据文件.txt
[20160329]表空间与数据文件.txt --昨天跟别人聊天,提到招聘DBA,一些dba这些基本的概念不清楚. --表空间可以是一个逻辑的概念,包含多个数据文件.
754 0