如何移数据库文件?
软件环境:
1、windows 2000+Oracle 8.1.6
2、ORACLE安装路径为:C:\ORACLE
实现方法:
有两种移动数据库文件的方法:
alter database或alter tablespace,
后者仅用于不包括 SYSTEM 的表空间、回滚段或临时段的数据文件
前者可用于所有数据文件
alter database方法:
1、创建实验表空间
SQL create tablespace test datafile
2 'e:\test.dbf' size 5M
3 default storage (initial 1M next 1M pctincrease 0)
4 /
SQL
表空间已创建。
e:为硬盘上的一个逻辑分区,现要把test.dbf文件移到d:盘
可使用以下语句查看一下数据文件状态
SQL select file_name,file_id,tablespace_name,bytes,status from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES STATUS
---------------------------------------- ---------- -------------------- ---------- ---------
C:\ORACLE\ORADATA\ORADB\SYSTEM01.DBF 1 SYSTEM 273154048 AVAILABLE
C:\ORACLE\ORADATA\ORADB\RBS01.DBF 2 RBS 73400320 AVAILABLE
C:\ORACLE\ORADATA\ORADB\USERS01.DBF 3 USERS 20971520 AVAILABLE
C:\ORACLE\ORADATA\ORADB\TEMP01.DBF 4 TEMP 20971520 AVAILABLE
C:\ORACLE\ORADATA\ORADB\TOOLS01.DBF 5 TOOLS 10485760 AVAILABLE
C:\ORACLE\ORADATA\ORADB\INDX01.DBF 6 INDX 20971520 AVAILABLE
C:\ORACLE\ORADATA\ORADB\DR01.DBF 7 DRSYS 20971520 AVAILABLE
E:\TEST.ORA 8 TEST 5242880 AVAILABLE
2、使用SERVER MANAGER关闭实例
c:\ svrmgrl
SVRMGR connect internal
SVRMGR shutdown;
SVRMGR exit;
也可以在治理工具中用“服务”工具来关闭OracleServiceORCL,
不用关闭OracleOraHome81TNSListener
3、使用操作系统命令来移动数据库文件位置(不关闭,移动不了文件)
c:\move e:\test.dbf d:\test.dbf
或在资源治理器中用鼠标“剪切”“粘贴”来完成
4、装载数据库并用alter database命令来改变数据库中的文件名
也可以在治理工具中用“服务”工具来启动OracleServiceORCL
不过,这时,表面上看OracleServiceORCL服务是启动了,但数据库并没有打开,
显示
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
这时,也可用internal/oracle连入SQL*Plus
SVRMGR connect internal
SVRMGR shartup mount ORCL;
SVRMGR alter database rename file
'e:\test.dbf' to
'd:\test.dbf';
注重:一定要加单引号'
完成这个步骤后,保留数据库日志,并执行步骤5
5、启动实例
SVRMGR connect internal
SVRMGR alter database open;
这时,数据库真正打开,可以执行各种操作
6、查看一下数据文件状态
SQL select file_name,file_id,tablespace_name,bytes,status from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES STATUS
---------------------------------------- ---------- -------------------- ---------- ---------
C:\ORACLE\ORADATA\ORADB\SYSTEM01.DBF 1 SYSTEM 273154048 AVAILABLE
C:\ORACLE\ORADATA\ORADB\RBS01.DBF 2 RBS 73400320 AVAILABLE
C:\ORACLE\ORADATA\ORADB\USERS01.DBF 3 USERS 20971520 AVAILABLE
C:\ORACLE\ORADATA\ORADB\TEMP01.DBF 4 TEMP 20971520 AVAILABLE
C:\ORACLE\ORADATA\ORADB\TOOLS01.DBF 5 TOOLS 10485760 AVAILABLE
C:\ORACLE\ORADATA\ORADB\INDX01.DBF 6 INDX 20971520 AVAILABLE
C:\ORACLE\ORADATA\ORADB\DR01.DBF 7 DRSYS 20971520 AVAILABLE
D:\TEST.ORA 8 TEST 5242880 AVAILABLE