移动数据文件、系统表空间文件、临时表空间文件

1.移动数据文件实验
首先使表空间脱机,,复制数据文件到计划的位置,重定义数据文件,使表空间联机,再查看是否已经成功移动数据文件
SQL> alter  tablespace test_index offline;
表空间已更改。
SQL> selecttablespace_name,status,contents from dba_tablespaces;
TABLESPACE_NAME                STATUS    CONTENTS
------------------------------ ------------------
SYSTEM                         ONLINE    PERMANENT
SYSAUX                         ONLINE    PERMANENT
UNDOTBS1                       ONLINE    UNDO
TEMP                           ONLINE    TEMPORARY
USERS                          ONLINE    PERMANENT
EXAMPLE                        ONLINE    PERMANENT
test                           ONLINE    PERMANENT
TEST_INDEX                     OFFLINE   PERMANENT
TEST_UNDO                      ONLINE    UNDO
TEST_TEMP                     ONLINE    TEMPORARY
SQL> select  file#,name,status from  v$datafile;
    FILE# NAME                                              STATUS
------------------------------------------------------------ -------
        1 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF     SYSTEM
        2 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF     ONLINE
        3 C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF    ONLINE
        4 C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF      ONLINE
        5 C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF    ONLINE
        6 D:\DISK2\MOON\TEST01.DBF                           ONLINE
        7 D:\DISK4\MOON\TEST02.DBF                           ONLINE
        8 D:\DISK6\MOON\TEST_INDEX.DBF                      OFFLINE
        9 D:\DISK7\MOON\TEST_UNDO.DBF                        ONLINE
SQL> host copyd:\disk6\moon\test_index.dbf d:\disk4\moon\test_index.dbf
已复制         1 个文件。
SQL> alter  tablespace test_index rename datafile  'd:\disk6\moon\test_index.dbf'  to 'd:\disk4\moon\test_index.dbf';
表空间已更改。
SQL> alter   tablespace test_index online;
表空间已更改。
SQL> select file#,name,status fromv$datafile;
    FILE# NAME                                              STATUS
---------- ---------------------------------------------------------
        1 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF     SYSTEM
        2 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF     ONLINE
        3 C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF    ONLINE
        4 C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF      ONLINE
        5 C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF    ONLINE
        6 D:\DISK2\MOON\TEST01.DBF                           ONLINE
        7 D:\DISK4\MOON\TEST02.DBF                           ONLINE
        8 D:\DISK4\MOON\TEST_INDEX.DBF                       ONLINE
        9 D:\DISK7\MOON\TEST_UNDO.DBF                        ONLINE
#########################################################################
2.移动系统表空间数据文件
首先将数据库启动到MOUNT状态 ,复制数据文件到指定位置,然后重定向数据文件,成功以后打开数据库,检查是否已经更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  431038464 bytes
Fixed Size                  1375088 bytes
Variable Size             318768272 bytes
Database Buffers          104857600 bytes
Redo Buffers                6037504 bytes
数据库装载完毕。
SQL> host copy C:\ORCL\SYSTEM01.DBF  e:\disk1\
已复制         1 个文件。
SQL> alter  database rename file 'C:\ORCL\SYSTEM01.DBF'  to  'e:\disk1\system01.dbf';
数据库已更改。
SQL> alter database open;
SQL> select file#,name,status fromv$datafile;
    FILE# NAME                                              STATUS
------------------------------------------------------------ -------
        1 E:\DISK1\SYSTEM01.DBF                              SYSTEM
        2 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF     ONLINE
        3 C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF    ONLINE
        4 C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF      ONLINE
        5 C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF    ONLINE
        6 D:\DISK2\MOON\TEST01.DBF                           ONLINE
        7 D:\DISK4\MOON\TEST02.DBF                           ONLINE
        8 D:\DISK4\MOON\TEST_INDEX.DBF                       ONLINE
        9 D:\DISK7\MOON\TEST_UNDO.DBF                        ONLINE
#######################################################################

3.删除表空间及数据文件
可以同时删除表空间和数据文件   "test"是因为建表空间时名字加了双引号为小写test,  默认为大写
删除表空间,不操作系统层面删除数据文件:
SQL> drop tablespace "test";
表空间已删除。
SQL> select file#,name,status fromv$datafile;
    FILE# NAME                                              STATUS
---------- ---------------------------------------------------------
        1 E:\DISK1\SYSTEM01.DBF                              SYSTEM
        2 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF     ONLINE
        3 C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF    ONLINE
        4 C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF      ONLINE
        5 C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF    ONLINE
        8 D:\DISK4\MOON\TEST_INDEX.DBF                       ONLINE
        9 D:\DISK7\MOON\TEST_UNDO.DBF                       ONLINE
删除表空间同时删除数据文件:
SQL> drop tablespace test_index including contents and datafiles;
表空间已删除。
SQL> select file#,name,status fromv$datafile;
    FILE# NAME                                              STATUS
---------- ---------------------------------------------------------
        1 E:\DISK1\SYSTEM01.DBF                              SYSTEM
        2 C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF     ONLINE
        3 C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF   ONLINE
        4 C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF      ONLINE
        5 C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF    ONLINE
        9 D:\DISK7\MOON\TEST_UNDO.DBF                        ONLINE
#######################################################################################
4.移动临时表空间及数据文件:
这个其实没必要这样做,可以直接新建一个临时表空间,然后把切换到新建的临时表空间上。参照新建并切换UNDO表空间的操作。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area  431038464 bytes
Fixed Size                  1375088 bytes
Variable Size             331351184 bytes
Database Buffers           92274688 bytes
Redo Buffers                6037504 bytes
数据库装载完毕。
SQL> alter database rename file'c:\ORCL\TEMP01.DBF' to 'e:\sysoradata\temp01.dbf';
数据库已更改。
SQL> host copy  c:\orcl\temp01.dbfe:\sysoradata\temp01.dbf
已复制         1 个文件。
SQL> alter database open;
数据库已更改。
SQL> select name,status from v$tempfile;
NAME                           STATUS
------------------------------ -------
E:\SYSORADATA\TEMP01.DBF       ONLINE

请使用浏览器的分享功能分享到微信等