前言:
在数据库运行、管理、维护维优过程中,有可能会碰到需要移动数据文件到其他硬盘或目录的情况。
删除或移动数据文件,都不像在操作系统中使用rm或cp命令那么简单。如果只是简单的rm或cp数据文件,
那么数据库运行时会因为找不到正确的数据文件位置而报错。这是因为数据文件的位置和信息都被记录
在控制文件中,rm或cp命令是不会也不可能更改控制文件记录的,这时必须通过alter操作去更改刷新数
据库控制文件中数据文件的相关信息,以此确保数据库能够正常运行。
以下将介绍三种方法更改数据文件的位置,更改数据文件位置前,建议暂停所有针对此数据文件的数
据操作。
(一) 方法一:offline表空间
**************************************************************
* 主要步骤: *
* 1、offline表空间:alter tablespace tablespace_name offline;*
* 2、复制数据文件到新的目录;OS 数据文件先移动 *
* 3、rename修改表空间,改控制文件会自动修改; *
* 4、online表空间; alter tablespace tablespace_name online; *
**************************************************************
方法二:offline数据文件 (停用数据量效小)
**************************************************************
* 主要步骤: *
* 1、offline数据文件:、
ALTER DATABASE DATAFILE 'D:/ORACLE/ORADATA/DBA/TEST01.DBF' OFFLINE;;*
* 2、复制数据文件到新的目录;OS 数据文件先移动好
cp mv *
* 3、rename修改数据文件位置,改控制文件会自动修改;
alter database rename file 'D:/ORACLE/ORADATA/DBA/TEST01.DBF' to 'D:/TEST01.DBF'; *
* 4、online数据文件;
需要先:recover datafile 'D:/TEST01.DBF'
SQL>ALTER DATABASE DATAFILE 'D:/TEST01.DBF' ONLINE; *
**************************************************************
三. Shutdown 数据库
1. 关闭数据库
C:>set ORACLE_SID=DBA
C:>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 11月 29 11:14:02 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/admin as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
2. 把数据文件 copy 到新位置
3. rename datafile
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 71303872 bytes
Database Buffers 209715200 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
SQL> alter database rename file 'D:/ORACLE/ORADATA/DBA/TEST01.DBF' to 'D:/TEST01
.DBF';
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select file#,name,status from v$datafile;
FILE# NAME STATUS
-------- ------------------------------------------------------- ---------------
1 D:/ORACLE/ORADATA/DBA/SYSTEM01 SYSTEM
2 D:/ORACLE/ORADATA/DBA/UNDOTBS0 ONLINE
3 D:/ORACLE/ORADATA/DBA/SYSAUX01 ONLINE
4 D:/ORACLE/ORADATA/DBA/USERS01. ONLINE
5 D:/TEST01.DBF ONLINE
操作相关视图
1.v$datafile
This view contains datafile information from the control file.
2、v$dbfile
This view lists all datafiles making up the database. This view is retained for historical compatibility. Use of V$DATAFILE is recommended instead.
3、dba_data_files
DBA_DATA_FILES describes database files.
4、v$tempfile
This view displays tempfile information.
5、dba_temp_files
DBA_TEMP_FILES describes all temporary files (tempfiles) in the database.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27252036/viewspace-1400084/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27252036/viewspace-1400084/