如何移数据库文件

发表于:2007-06-22来源:作者:点击数: 标签:
如何移 数据库 文件? 软件环境: 1、 Windows 2000+ORACLE 8.1.6 2、ORACLE安装路径为:C:\ORACLE 实现方法: 有两种移动数据库文件的方法: alter database或alter tablespace, 后者仅用于不包括 SYSTEM 的表空间、回滚段或临时段的数据文件 前者可用于所

   
  如何移数据库文件?
  
  
  软件环境:
  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

原文转自:http://www.ltesting.net