Oracle 11g 迁移 bigfile 表空间数据文件(单机/rac)
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
操作截图
迁移后
操作