Oracle 表空间数据文件迁移

时间:2021-08-15 12:20:19
一、系统表空间数据文件迁移:

SQL> conn /@study as sysdba
已连接。
SQL> desc dba_data_files;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------

 FILE_NAME                                          VARCHAR2(513)
 FILE_ID                                            NUMBER
 TABLESPACE_NAME                                    VARCHAR2(30)
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 STATUS                                             VARCHAR2(9)
 RELATIVE_FNO                                       NUMBER
 AUTOEXTENSIBLE                                     VARCHAR2(3)
 MAXBYTES                                           NUMBER
 MAXBLOCKS                                          NUMBER
 INCREMENT_BY                                       NUMBER
 USER_BYTES                                         NUMBER
 USER_BLOCKS                                        NUMBER
 ONLINE_STATUS                                      VARCHAR2(7)

SQL> select file_name,tablespace_name from dba_data_files where tablespace_name=
'SYSTEM';

FILE_NAME
--------------------------------------------------------------------------------

TABLESPACE_NAME
------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\SYSTEM01.DBF
SYSTEM


SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host copy D:\oracle\product\10.2.0\oradata\study\system.dbf d:\oracle\study

系统找不到指定的文件。

SQL> host copy D:\oracle\product\10.2.0\oradata\study\system.dbf d:\oracle\study
\
系统找不到指定的文件。

SQL> host copy D:\oracle\product\10.2.0\oradata\study\SYSTEM01.DBF d:\oracle\stu
dy\
已复制         1 个文件。

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 1140850688 bytes
Fixed Size                  2065184 bytes
Variable Size             301993184 bytes
Database Buffers          822083584 bytes
Redo Buffers               14708736 bytes
数据库装载完毕。
SQL> alter database rename file 'D:\oracle\product\10.2.0\oradata\study\system01
.dbf' to 'D:\oracle\study\system01.dbf';

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> select file_name,tablespace_name from dba_data_files where tablespace_name=
'SYSTEM';

FILE_NAME
--------------------------------------------------------------------------------

TABLESPACE_NAME
------------------------------
D:\ORACLE\STUDY\SYSTEM01.DBF
SYSTEM


SQL> select file_name,tablespace_name from dba_data_files where tablespace_name=
'USERS';

FILE_NAME
--------------------------------------------------------------------------------

TABLESPACE_NAME
------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\USERS01.DBF
USERS



二、非系统表空间数据文件移动:
SQL> alter tablespace users offline
  2  ;

表空间已更改。

SQL> host copy D:\oracle\product\10.2.0\oradata\study\user01.dbf d:\oracle\study
\
系统找不到指定的文件。

SQL> host copy D:\oracle\product\10.2.0\oradata\study\users01.dbf d:\oracle\stud
y\
已复制         1 个文件。

SQL> alter tablespace users rename datafile 'D:\oracle\product\10.2.0\oradata\st
udy\users01.dbf' to 'd:\oracle\study\users01.dbf';

表空间已更改。

SQL> alter tablespace users online
  2  ;

表空间已更改。

SQL> select file_name,tablespace_name from dba_data_files where tablespace_name=
'USERS';

FILE_NAME
--------------------------------------------------------------------------------

TABLESPACE_NAME
------------------------------
D:\ORACLE\STUDY\USERS01.DBF
USERS


SQL>