Oracle表空间数据文件移动的方法

发表于:2017-4-14 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Linux视野    来源:51Testing软件测试网采编

  实现把用户表空间中的数据文件从某一个路径移动到另一个路径
  一、针对可offline的非系统表空间
  本例移动oracle的案例表空间(EXAMPLE表空间),将其从
  D:\ORADATA\ORCL\ 移动到 D:\ORACLE\ORADATA\
  1.查看要改变的表空间的数据文件信息
  SQL> select tablespace_name,file_name,online_status
  from dba_data_files
  where tablespace_name='EXAMPLE';
  TABLESPACE_NAME FILE_NAME     ONLINE_
  --------------- ----------------------------------- -------
  EXAMPLE  D:\ORADATA\ORCL\EXAMPLE01.DBF  ONLINE
  2.将目标表空间设置为脱机状态
  SQL> alter tablespace EXAMPLE offline;
  3.再次查看目标表空间的状态,确保其已经是脱机状态
  SQL> select tablespace_name,file_name,online_status
  from dba_data_files
  where tablespace_name='EXAMPLE';
  TABLESPACE_NAME FILE_NAME     ONLINE_
  --------------- ----------------------------------- -------
  EXAMPLE  D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE
  4.将原来的数据文件移动(或复制)到新的路径
  SQL> host move D:\ORADATA\ORCL\EXAMPLE01.DBF D:\ORACLE\ORADATA\
  5.修改该表空间的数据文件路径
  SQL> alter tablespace EXAMPLE
  rename datafile 'D:\ORADATA\ORCL\EXAMPLE01.DBF'
  to 'D:\ORACLE\ORADATA\EXAMPLE01.DBF';
  6.查看该表空间修改后的信息,确保信息无误
  SQL> select tablespace_name,file_name,online_status
  from dba_data_files
  where tablespace_name='EXAMPLE';
  TABLESPACE_NAME FILE_NAME     ONLINE_
  --------------- ----------------------------------- -------
  EXAMPLE  D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE
  7.修改该表空间为在线状态
  SQL> alter tablespace EXAMPLE online;
  8.查看该表空间最后结果
  SQL> select tablespace_name,file_name,online_status
  from dba_data_files
  where tablespace_name='EXAMPLE';
  TABLESPACE_NAME FILE_NAME     ONLINE_
  --------------- ----------------------------------- -------
  EXAMPLE  D:\ORACLE\ORADATA\EXAMPLE01.DBF ONLINE
  备注:本方法对SYSAUX、USERS表空间也适用
  二、系统表空间移动
  该方法需要数据库处于mount状态
  1.关闭运行中的数据库
  SQL> shutdown immediate
  2.启动数据库到mount状态
  SQL> startup mount
  3.移动系统表空间(SYSTEM表空间)的数据文件
  SQL> host move D:\ORADATA\ORCL\SYSTEM01.DBF D:\ORACLE\ORADATA\
  4.修改该表空间的数据文件路径
  SQL> alter database rename file 'D:\ORADATA\ORCL\SYSTEM01.DBF' to 'D:\ORACLE\ORA
  DATA\SYSTEM01.DBF';
  5.启动数据库,打开实例
  SQL> alter database open;
  6.查看表空间修改结果
  SQL> select tablespace_name,file_name,online_status from dba_data_files where ta
  blespace_name='SYSTEM';
  TABLESPACE_NAME FILE_NAME     ONLINE_
  --------------- ----------------------------------- -------
  SYSTEM  D:\ORACLE\ORADATA\SYSTEM01.DBF SYSTEM
  备注:本方法对UNDOTBS1、TEMP表空间也适用。
  以上内容是小编给大家分享的Oracle表空间数据文件移动的方法,希望大家喜欢。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号