首页  编辑  

如何移数据库文件?

Tags: /超级猛料/Database.数据库相关/Oracle/DBA/   Date Created:

阿木伯 著

如何移数据库文件?

软件环境:

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

【最后更新: 06/03/2002 09:39:22 】