ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 修改同一个表空间的数据文件的名称和位置

修改同一个表空间的数据文件的名称和位置

原创 Linux操作系统 作者:hu121bei 时间:2013-04-17 14:39:51 0 删除 编辑

修改同一个表空间的数据文件的名称和位置,一般在表空间级别进行,因为这样对系统的影响比较小,具体步骤为:

 

  1. 将数据文件所属表空间设置为脱机状态
  2. 在操作系统中改变数据文件的名称或者位置
  3. 执行ALTER TABLESPACE ...RENAME DATAFILE...TO语句,修改数据字典和控制文件中与该数据文件相关的信息
  4. 将数据文件所述表空间设置为联机状态
  5. 备份整个数据库

例如:将orcl数据库表空间的数据文件USERS01.DBF、USERS11.DBF文件移动到F:\oradata目录中去。

  1. SQL> select file_name,bytes from dba_data_files
      2  where tablespace_name='USERS';

 FILE_NAME                                                                       BYTES
--------------------------------------------------                                 ----------
G:\APP\BEI\ORADATA\ORCL\USERS01.DBF                   5242880
G:\APP\BEI\ORADATA\ORCL\USER11.DBF

--将表USERS表空间设置为脱机状态

SQL> alter tablespace users datafile offline;

表空间已更改。

--在操作系统中更改数据文件的名称和位置

SQL>  host copy G:\APP\BEI\ORADATA\ORCL\USERS01.DBF F:\ORADATA\USERS01.DBF;
已复制         1 个文件。

SQL>  host copy G:\APP\BEI\ORADATA\ORCL\USER11.DBF F:\ORADATA\USER11.DBF;
已复制         1 个文件。

 

--使用ALTER TABLESPACE...RENAME DATAFILE...TO语句,修改数据字典和控制文件

SQL> alter tablespace users rename datafile
  2  'G:\APP\BEI\ORADATA\ORCL\USERS01.DBF',
  3  'G:\APP\BEI\ORADATA\ORCL\USER11.DBF' to
  4  'F:\ORADATA\USERS01.DBF','F:\ORADATA\USER11.DBF'
  5  /

表空间已更改。

 

----将USERS表空间设置为联机状态。

SQL> alter tablespace users online;
alter tablespace users online
*
第 1 行出现错误:
ORA-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4: 'F:\ORADATA\USERS01.DBF'  (这一点也不知道为什么呀)


SQL> recover datafile 4;
完成介质恢复。
SQL> alter tablespace USERS online;


--备份数据库

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28811724/viewspace-758682/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-16

  • 博文量
    15
  • 访问量
    21824