1 理論知識--轉載
Oracle表空間Tablespace是邏輯結構的最高層次,其他分別對應段對象segment、區extent和塊block。而物理層面的Oracle數據庫是通過一系列的文件構成,其中數據文件datafile是與Tablespace進行對應的對象。
Tablespace與Datafile的關系是一對多的關系。一個表空間Tablespace可以對應多個Datafile,Datafile則是只能歸屬在一個Tablespace里。
傳統的Oracle管理概念中,倡導一個表空間中創建多個數據文件,特別是創建分布在多個存儲磁盤上,以期分散I/O。
但是,Oracle10g推出的BigFile Tablespace大文件表空間,將這個概念有所變化。
1、 Bigfile tablespace
在 Oracle 10g中,推出了 Bigfile tablespace 的概念。表空間 Tablespace 從 Oracle 10g以后就分為兩個類型,smallfile tablespace 和 bigfile tablespace。過去一個表空間對應多個數據文件我們成為Smallfile Tablespace。
所謂 Bigfile Tablespace 最顯著的差別就是一個表空間只能對應一個數據文件。Bigfile Tablespace 雖只對應一個數據文件,但數據文件對應的最大體積大大增加。
傳統的 small datafile 每個文件中最多包括 4M 個數據塊,按照一個數據塊 8K 的大小核算,最大文件大小為 32G。
每個 Small Tablespace 理論上能夠包括 1024 個數據文件,這樣計算理論的最大值為 32TB 大小。
而 Bigfile Datafile 具有更強大的數據塊 block 容納能力,最多能夠包括 4G 個數據塊。
同樣按照數據塊8K計算,Bigfile Datafile 大小為32KG=32TB。理論上 small tablespace 和 big tablespace 總容量相同
SQL> select * from v$version;
SQL> create bigfile tablespace bttest datafile 'D:\ORADATA\ORCL\BTTEST.dbf' size 10m autoextend off
2 extent management local uniform. size 1m
3 segment space management auto;
此處,我們通過create bigfile tablespace 語句建立 Bigfile Tablespace。
注意兩方面的問題,其一是 Bigfile Tablespace 必須使用 local 本地 extent 管理方式,不允許使用DMT(Dictionary Managed Tablespace)。
另一方面是段 segment 空間使用 auto 自動方式,不要使用 manual。
不過這兩個條件在Undo或者臨時Bigfile表空間的時候,是允許例外的
Small Tablespace 和 Bigfile Tablespace 是可以並存的。
SQL> select tablespace_name, bigfile from dba_tablespaces;
在創建 bigfile tablespace 的時候,就已經指定了數據文件。如果此時我們嘗試加入一個新的數據文件,Oracle系統會報錯。
SQL> alter tablespace bttest add datafile 'D:\ORADATA\ORCL\BTTEST02.dbf' size 10m autoextend off;
ORA-32771: 無法在大文件表空間中添加文件
bigfile tablespace 的特性。
此處我們觀察一下 Bigfile Tablespace 體系下的一些特征
SQL> select file_name, file_id, relative_fno from dba_data_files;
每個文件都包括兩個編號,一個是絕對文件編號 file_id,另一個是相對文件編號 relative_fno。
在文件數量較少,或者創建刪除文件比較少情況下的數據庫,file_id和relative_fno是相同的。
Relative_fno 是一個循環周期,以1024 為一個循環。當file_id 依次遞增到1024整數倍之后,file_id會繼續增加,而relative_fno會形成一個內部循環。
這種機制讓我們聯想起了 Oracle Small Tablespace 的數據文件上限限制,也是 1023 個文件。
我們設想一種極端的情況,如果一個表空間中的數據文件個數超過了1024,也就是一個表空間內的數據文件中,存在相同的relative_fno。這種情況首先是不被允許的。
設置1024的relative_fno 是進行Oracle數據尋址的需要。這里我們要關注到Oracle定位數據行的rowid信息,
rowid 是 Oracle 內部唯一標注一行記錄的地址。Rowid 包括四部分組成,對象號+文件號+塊號+slot行號。
Rowid 長度固定,所以四部分的長度都是固定的,這里的文件號fno是相對文件編號。這里的查找順序是,對象號獲取所在表空間的編號,在表空間內部使用相對文件號來定位到文件。
如果一個表空間內出現相同的relative_fno文件,定位就不可能了。所以,small tablepsace 的內部文件上限必然是 1023。
但是,Bigfile Tablespace存在一些不同之處。如果一個表空間只有一個數據文件且只能擁有一個數據文件,那么relative_fno就失去了存在的意義。
所以在 dba_data_files 中的 relative_fno 列上,bigfile tablespace 對應的 datafile 是直接1024。
SQL> create table t_big tablespace bttest as select * from dba_tables;
SQL> select dbms_rowid.rowid_object(t.rowid) obj_id, dbms_rowid.rowid_relative_fno(t.rowid,'BIGFILE') relative_fno,
2 dbms_rowid.rowid_block_number(t.rowid) block_num, dbms_rowid.rowid_row_number(t.rowid) rownums,
3 dbms_rowid.rowid_to_absolute_fno(t.rowid,'SYS','T_BIG') abso_fno
4 from t_BIG t where rownum<4;
借助 dbms_rowid 包的相應方法,我們也可以看清 bigfile tablespace 上rowid行的 relative_fno 信息。
3、Bigfile Datafile 大小探索
一個數據文件最大能有多大,在 Oracle 中有兩個因素控制,一個是 Oracle 內部尋址能夠尋找到的最大范圍多少個塊,另一個是數據庫每個塊大小是多大。
我們首先來看看 Small Datafile 的情況。Rowid是一個用16進制表示的18位長度類字符串。其中,前6位表示object_id,之后3位表示文件編號,之后6位表示塊號,最后3位表示row的slot編號。
在 small datafile 中,對數據塊有6×4=24位二進制表示。Oracle利用中間的22位進行塊地址存儲。這樣,22位二進制可以表示的數據塊編號范圍為(2^22-1)=4M個數據塊。
如果按照每個數據塊 8K 的普遍大小計算,這樣每個 small datafile 大小上限就是 32G。
如果按照每個數據塊上限 32K 計算,這樣每個 small datafile 大小上限就是 128G。
在bigfile datafile中,事情有所不同。由於沒有relative_fno的問題,這樣rowid中就不需要保存relative_fno的最多1024的數值。
這樣就節省出10位二進制位給數據塊定位,相同長度的rowid就可以進行32位二進制長度的數據塊尋址。
每個 bigfile datafile 中,最多可以包括到(2^32-1)=4G 個數據塊。
在數據塊大小8K的環境下,最大為 32TB 數據。
如果是數據塊大小為32K環境下,文件最大可以到 128TB 大小。
4、結論和討論
首先,實際生產環境下,Bigfile Tablespace 在應對大數據量存儲的時候略有優勢。
因為Small Tablespace 在實現相同的存儲大小時,要消耗大量的多文件管理開銷。同時控制文件為了維護多位置上的文件,協同檢查點和文件頭SCN等內容,要消耗很大精力。
其次,Small Tablespace 的存儲量只是理論,很少有系統真的建立上千個文件在一個表空間中。從這個角度看,Bigfile吸引力是不小的。
最后,Oracle 對於Bigfile Tablespace 支持是全面的。存儲層面上,ASM、Logical Volumn Manager/RAID、Dynamically Extensible Logical Volumes和OMF都提供了比較全面的支持。
但是,Bigfile Tablespace 並不是萬靈葯。Bigfile 是 Oracle 層面的 Bigfile,並不涉及到OS層面的支持。使用Bigfile的時候,要選擇合適的底層存儲系統提供支持。
此外,Bigfile的理念違背了我們過去宣稱的I/O分散理論。所以,最好在有底層強大存儲支持(如ASM)的情況下使用Bigfile,達到最優的性能平衡點。
鏈接:http://blog.itpub.net/26736162/viewspace-2039283/
官方:https://docs.oracle.com/database/121/SQLRF/statements_7003.htm#SQLRF01403
Use this clause to determine whether the tablespace is a bigfile or smallfile tablespace. This clause overrides any default tablespace type setting for the database. --A bigfile tablespace contains only one data file or temp file, which can contain up to approximately 4 billion (232) blocks. The minimum size of the single data file or temp file is 12 megabytes (MB) for a tablespace with 32K blocks and 7MB for a tablespace with 8K blocks. The maximum size of the single data file or temp file is 128 terabytes (TB) for a tablespace with 32K blocks and 32TB for a tablespace with 8K blocks. --A smallfile tablespace is a traditional Oracle tablespace, which can contain 1022 data files or temp files, each of which can contain up to approximately 4 million (222) blocks. If you omit this clause, then Oracle Database uses the current default tablespace type of permanent or temporary tablespace set for the database. If you specify BIGFILE for a permanent tablespace, then the database by default creates a locally managed tablespace with automatic segment-space management. Creating a Bigfile Tablespace: Example The following example creates a bigfile tablespace bigtbs_01 with a data file bigtbs_f1.dbf of 20 MB: CREATE BIGFILE TABLESPACE bigtbs_01 DATAFILE 'bigtbs_f1.dbf' SIZE 20M AUTOEXTEND ON; Creating an Undo Tablespace: Example The following example creates a 10 MB undo tablespace undots1: CREATE UNDO TABLESPACE undots1 DATAFILE 'undotbs_1a.dbf' SIZE 10M AUTOEXTEND ON RETENTION GUARANTEE; Creating a Temporary Tablespace: Example This statement shows how the temporary tablespace that serves as the default temporary tablespace for database users in the sample database was created: CREATE TEMPORARY TABLESPACE temp_demo TEMPFILE 'temp01.dbf' SIZE 5M AUTOEXTEND ON;
2 操作--測試環境(以下操作僅供參考。生產環境務必確認相關:1 在線與停機遷移 2 操作前進行全備份 3 數據文件大小,磁盤io等,考慮遷移時間,服務器性能等)
[root@oracle ~]# ps -ef|grep oracle root 1549 1532 0 10:50 pts/0 00:00:00 grep oracle [root@oracle ~]# su - oracle [oracle@oracle ~]$ lsnrctl start [oracle@oracle ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 11 10:51:12 2022 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup; ORACLE instance started. Total System Global Area 1603411968 bytes Fixed Size 2253664 bytes Variable Size 1023413408 bytes Database Buffers 570425344 bytes Redo Buffers 7319552 bytes Database mounted. Database opened. SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- CAD SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production SQL> select tablespace_name, bigfile from dba_tablespaces; TABLESPACE_NAME BIG ------------------------------ --- SYSTEM NO SYSAUX NO UNDOTBS1 NO TEMP NO USERS NO SQL> SHOW parameters db_block_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_size integer 8192 SQL> set linesize 500 SQL> set pagesize 100 SQL> col FILE_NAME format a100 SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files; FILE_NAME TABLESPACE_NAME ---------------------------------------------------------------------------------------------------- ------------------------------ /u01/app/oracle/oradata/CAD/system01.dbf SYSTEM /u01/app/oracle/oradata/CAD/sysaux01.dbf SYSAUX /u01/app/oracle/oradata/CAD/undotbs01.dbf UNDOTBS1 /u01/app/oracle/oradata/CAD/users01.dbf USERS SQL> create bigfile tablespace bigtbs_01 datafile '/u01/app/oracle/oradata/CAD/bigtbs_01.dbf' SIZE 20M AUTOEXTEND ON; #創建 bigfile 類型表空間 Tablespace created. SQL> select tablespace_name, bigfile from dba_tablespaces; TABLESPACE_NAME BIG ------------------------------ --- SYSTEM NO SYSAUX NO UNDOTBS1 NO TEMP NO USERS NO BIGTBS_01 YES SQL> alter tablespace bigtbs_01 add datafile '/u01/app/oracle/oradata/CAD/bigtbs_02.dbf' size 10m autoextend off; #向bigfile類型表空間增加數據文件報錯,該類型只支持一個數據文件 alter tablespace bigtbs_01 add datafile '/u01/app/oracle/oradata/CAD/bigtbs_02.dbf' size 10m autoextend off * ERROR at line 1: ORA-32771: cannot add file to bigfile tablespace 創建測試用戶 CREATE USER bigtbs_01 IDENTIFIED BY "bigtbs_01" DEFAULT TABLESPACE bigtbs_01 TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; GRANT CONNECT TO bigtbs_01; GRANT DBA TO bigtbs_01; GRANT RESOURCE TO bigtbs_01; ALTER USER bigtbs_01 DEFAULT ROLE ALL; 創建表 create table tb_objets as select * from all_objects; select * from tb_objets;
3 單機
Oracle 數據庫的表空間及數據庫文件的遷移方法 -- 單機 一、移動表空間數據文件(不停機)--bigfile tablespace 1 創建遷移路徑(注意權限) 表空間:bigtbs_01 數據文件:'/u01/app/oracle/oradata/CAD/bigtbs_01.dbf' 遷移前路徑:[oracle@oracle ~]$ ll /u01/app/oracle/oradata/CAD/ 遷移后路徑:[oracle@oracle ~]$ ll /home/oracle/tb_remove [oracle@oracle ~]$ ll /u01/app/oracle/oradata/CAD/ total 4334200 -rw-r----- 1 oracle oinstall 20979712 Jan 11 11:22 bigtbs_01.dbf -rw-r----- 1 oracle oinstall 9748480 Jan 11 11:24 control01.ctl -rw-r----- 1 oracle oinstall 52429312 Jan 11 11:24 redo01.log -rw-r----- 1 oracle oinstall 52429312 Jan 11 11:21 redo02.log -rw-r----- 1 oracle oinstall 52429312 Jan 11 11:21 redo03.log -rw-r----- 1 oracle oinstall 629153792 Jan 11 11:21 sysaux01.dbf -rw-r----- 1 oracle oinstall 786440192 Jan 11 11:21 system01.dbf -rw-r----- 1 oracle oinstall 164634624 Jan 11 10:51 temp01.dbf -rw-r----- 1 oracle oinstall 828383232 Jan 11 11:21 undotbs01.dbf -rw-r----- 1 oracle oinstall 1841569792 Jan 11 10:51 users01.dbf [oracle@oracle ~]$ mkdir -p /home/oracle/tb_remove [oracle@oracle ~]$ ll /home/oracle/tb_remove total 0 [oracle@oracle ~]$ ll /home/oracle/ total 900100 -rw-r--r-- 1 oracle oinstall 909139968 Aug 19 23:48 CAD_2021-06-17.dmp -rw-r--r-- 1 oracle oinstall 4498 Aug 20 17:46 import.log -rw-r----- 1 oracle oinstall 287694 Aug 20 00:12 install2021-08-20_00-06-04.log -rw-r----- 1 oracle oinstall 287694 Aug 20 17:37 install2021-08-20_17-31-40.log -rw-r----- 1 oracle oinstall 466 Aug 20 17:37 LOG_cat_owb.TXT -rw-r--r-- 1 oracle oinstall 11960320 Aug 19 23:48 SCM_2021-06-17.dmp drwxr-xr-x 2 oracle oinstall 4096 Jan 11 11:25 tb_remove 2 修改表空間為 Offline 狀態 SQL> ALTER TABLESPACE bigtbs_01 OFFLINE; Tablespace altered. 3 拷貝數據文件 SQL> ! cp /u01/app/oracle/oradata/CAD/bigtbs_01.dbf /home/oracle/tb_remove/bigtbs_01.dbf SQL> ! ls /home/oracle/tb_remove/bigtbs_01.dbf /home/oracle/tb_remove/bigtbs_01.dbf 4 修改 oracle 表空間指向地址 SQL> alter database rename file '/u01/app/oracle/oradata/CAD/bigtbs_01.dbf' to '/home/oracle/tb_remove/bigtbs_01.dbf'; Database altered. 5 修改表空間為 Online 狀態 SQL> alter tablespace bigtbs_01 online; Tablespace altered. 6 查看遷移后 SQL> select file_name from sys.dba_data_files; FILE_NAME ---------------------------------------------------------------------------------------------------- /u01/app/oracle/oradata/CAD/system01.dbf /u01/app/oracle/oradata/CAD/sysaux01.dbf /u01/app/oracle/oradata/CAD/undotbs01.dbf /u01/app/oracle/oradata/CAD/users01.dbf /home/oracle/tb_remove/bigtbs_01.dbf SQL> select tablespace_name ,sum(bytes)/1024/1024||'M' as freespaces from dba_data_files group by tablespace_name; #查看空閑表空間 TABLESPACE_NAME FREESPACES ------------------------------ ----------------------------------------- BIGTBS_01 20M SYSAUX 600M UNDOTBS1 790M USERS 1756.25M SYSTEM 750M 遷移后查詢 SQL> conn bigtbs_01/bigtbs_01 Connected. SQL> select count(*) from tb_objets; COUNT(*) ---------- 84507 創建表與查詢 SQL> create table tb_objets1 as select * from all_objects; Table created. SQL> select count(*) from tb_objets1; COUNT(*) ---------- 84508 刪除之前的數據文件 SQL> ! rm -f /u01/app/oracle/oradata/CAD/bigtbs_01.dbf SQL> select file_name from sys.dba_data_files; FILE_NAME ---------------------------------------------------------------------------------------------------- /u01/app/oracle/oradata/CAD/system01.dbf /u01/app/oracle/oradata/CAD/sysaux01.dbf /u01/app/oracle/oradata/CAD/undotbs01.dbf /u01/app/oracle/oradata/CAD/users01.dbf /home/oracle/tb_remove/bigtbs_01.dbf 查看用戶的表與表空間 SQL> select table_name,tablespace_name from user_tables; TABLE_NAME TABLESPACE_NAME ------------------------------ ------------------------------ TB_OBJETS1 BIGTBS_01 TB_OBJETS BIGTBS_01
相關截圖
遷移前
遷移后
操作
4 RAC
== RAC [root@rac03 ~]# su - oracle [oracle@rac03 ~]$ ps -ef|grep oracle [root@rac03 ~]# su - grid [grid@rac03 ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 307200 155036 0 155036 0 Y DATA/ [oracle@rac03 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 11 11:24:37 2022 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- SCM1 SQL> select tablespace_name, bigfile from dba_tablespaces; TABLESPACE_NAME BIG ------------------------------ --- SYSTEM NO SYSAUX NO UNDOTBS1 NO TEMP NO USERS NO SCM NO 6 rows selected. SQL> SHOW parameters db_block_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_size integer 8192 SQL> set linesize 500 SQL> set pagesize 500 SQL> col FILE_NAME format a100 SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files; FILE_NAME TABLESPACE_NAME ---------------------------------------------------------------------------------------------------- ------------------------------ +DATA/scm/datafile/system.3524.1063123799 SYSTEM +DATA/scm/datafile/sysaux.3525.1063123807 SYSAUX +DATA/scm/datafile/undotbs1.3526.1063123815 UNDOTBS1 +DATA/scm/datafile/users.3528.1063123825 USERS +DATA/scm/datafile/scm.2462.1063129773 SCM 創建 bigfile 類型表空間 SQL> create bigfile tablespace bigtbs_01 datafile '+DATA/scm/datafile/bigtbs_01.dbf' SIZE 20M AUTOEXTEND ON; Tablespace created. 創建用戶,指定表空間,並創建表 SQL> CREATE USER bigtbs_01 IDENTIFIED BY "bigtbs_01" DEFAULT TABLESPACE bigtbs_01 TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; 2 3 4 5 6 User created. SQL> GRANT CONNECT TO bigtbs_01; GRANT DBA TO bigtbs_01; GRANT RESOURCE TO bigtbs_01; ALTER USER bigtbs_01 DEFAULT ROLE ALL; Grant succeeded. SQL> Grant succeeded. SQL> Grant succeeded. SQL> conn bigtbs_01/bigtbs_01 2 ; ALTER USER bigtbs_01 DEFAULT ROLE ALL;conn bigtbs_01/bigtbs_01 * ERROR at line 1: ORA-00911: invalid character SQL> SQL> conn bigtbs_01/bigtbs_01 Connected. SQL> create table tb_objets1 as select * from all_objects; Table created. SQL> select count(*) from tb_objets1; COUNT(*) ---------- 84385 遷移表空間數據文件 1 創建遷移路徑(注意權限) 表空間:bigtbs_01 數據文件:'+DATA/scm/datafile/bigtbs_01.dbf' 遷移前路徑:'+DATA/scm/datafile' 遷移后路徑: '+DATA/tb_remove' ASMCMD> ls DATA/ ASMCMD> cd data ASMCMD> ls CAD/ CADD/ SCM/ rac-cluster/ ASMCMD> mkdir tb_remove ASMCMD> ls CAD/ CADD/ SCM/ rac-cluster/ tb_remove/ ASMCMD> cd tb_remove ASMCMD> ls ASMCMD> pwd +data/tb_remove 查看路徑 SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files; FILE_NAME TABLESPACE_NAME ---------------------------------------------------------------------------------------------------- ------------------------------ +DATA/scm/datafile/system.3524.1063123799 SYSTEM +DATA/scm/datafile/sysaux.3525.1063123807 SYSAUX +DATA/scm/datafile/undotbs1.3526.1063123815 UNDOTBS1 +DATA/scm/datafile/users.3528.1063123825 USERS +DATA/scm/datafile/scm.2462.1063129773 SCM +DATA/scm/datafile/bigtbs_01.dbf BIGTBS_01 SQL> ALTER TABLESPACE bigtbs_01 OFFLINE; Tablespace altered. SQL> ! cp '+DATA/scm/datafile/bigtbs_01.dbf' '+DATA/tb_remove/bigtbs_01.dbf' # asm 不能使用此方式copy文件 cp: cannot stat `+DATA/scm/datafile/bigtbs_01.dbf': No such file or directory 使用此方式copy ASMCMD> cp '+DATA/scm/datafile/bigtbs_01.dbf' '+DATA/tb_remove/bigtbs_01.dbf' copying +DATA/scm/datafile/bigtbs_01.dbf -> +DATA/tb_remove/bigtbs_01.dbf ASMCMD> ls bigtbs_01.dbf 修改 oracle 表空間指向地址 SQL> alter database rename file '+DATA/scm/datafile/bigtbs_01.dbf' to '+DATA/tb_remove/bigtbs_01.dbf'; Database altered. SQL> alter tablespace bigtbs_01 online; Tablespace altered. 刪除之前的數據文件 ASMCMD> rm '+DATA/scm/datafile/bigtbs_01.dbf' ASMCMD> ls +DATA/scm/datafile/ #之前的已經被刪除掉 SCM.1634.1036077843 SCM.2462.1063129773 SDE_TBS.1699.1038279159 SYSAUX.3525.1063123807 SYSAUX.723.1035912181 SYSTEM.3524.1063123799 SYSTEM.724.1035912175 UNDOTBS1.3526.1063123815 UNDOTBS1.722.1035912187 USERS.3528.1063123825 USERS.714.1035912197 重新連接查看 SQL> conn bigtbs_01/bigtbs_01 Connected. SQL> select count(*) from tb_objets1; COUNT(*) ---------- 84385 查看遷移后的數據文件 SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files; FILE_NAME TABLESPACE_NAME ---------------------------------------------------------------------------------------------------- ------------------------------ +DATA/scm/datafile/system.3524.1063123799 SYSTEM +DATA/scm/datafile/sysaux.3525.1063123807 SYSAUX +DATA/scm/datafile/undotbs1.3526.1063123815 UNDOTBS1 +DATA/scm/datafile/users.3528.1063123825 USERS +DATA/scm/datafile/scm.2462.1063129773 SCM +DATA/tb_remove/bigtbs_01.dbf BIGTBS_01 創建表 SQL> create table tb_objets as select * from all_objects; Table created. SQL> select count(*) from tb_objets; COUNT(*) ---------- 84386 查看用戶的表與表空間 SQL> select table_name,tablespace_name from user_tables; TABLE_NAME TABLESPACE_NAME ------------------------------ ------------------------------ TB_OBJETS1 BIGTBS_01 TB_OBJETS BIGTBS_01
操作截圖
遷移后
操作