zoukankan      html  css  js  c++  java
  • Oracle表空间数据文件移动的方法

    最近遇到这样的一个问题,Oracle存放表空间文件的盘符 空间不够了,必须把部分表空间迁移出去,

    【转】http://www.jb51.net/article/77026.htm

    实现把用户表空间中的数据文件从某一个路径移动到另一个路径

    一、针对可offline的非系统表空间

    本例移动oracle的案例表空间(EXAMPLE表空间),将其从

    D:ORADATAORCL 移动到 D:ORACLEORADATA

    1.查看要改变的表空间的数据文件信息

    SQL> select tablespace_name,file_name,online_status
     from dba_data_files
     where tablespace_name='EXAMPLE';
    
    TABLESPACE_NAME FILE_NAME     ONLINE_
    --------------- ----------------------------------- -------
    EXAMPLE  D:ORADATAORCLEXAMPLE01.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:ORACLEORADATAEXAMPLE01.DBF OFFLINE

    4.将原来的数据文件移动(或复制)到新的路径

    SQL> host move D:ORADATAORCLEXAMPLE01.DBF D:ORACLEORADATA

    5.修改该表空间的数据文件路径

    SQL> alter tablespace EXAMPLE 
     rename datafile 'D:ORADATAORCLEXAMPLE01.DBF'
     to 'D:ORACLEORADATAEXAMPLE01.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:ORACLEORADATAEXAMPLE01.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:ORACLEORADATAEXAMPLE01.DBF ONLINE

    备注:本方法对SYSAUX、USERS表空间也适用

    二、系统表空间移动

    该方法需要数据库处于mount状态

    1.关闭运行中的数据库

    SQL> shutdown immediate

    2.启动数据库到mount状态

    SQL> startup mount

    3.移动系统表空间(SYSTEM表空间)的数据文件

    SQL> host move D:ORADATAORCLSYSTEM01.DBF D:ORACLEORADATA

    4.修改该表空间的数据文件路径

    SQL> alter database rename file 'D:ORADATAORCLSYSTEM01.DBF' to 'D:ORACLEORA
    DATASYSTEM01.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:ORACLEORADATASYSTEM01.DBF SYSTEM

    备注:本方法对UNDOTBS1、TEMP表空间也适用。

    以上内容是小编给大家分享的Oracle表空间数据文件移动的方法,希望大家喜欢。

  • 相关阅读:
    没有加注解的后果
    异常:javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
    页面的跳转
    SpringBoot的修改操作
    抛出异常
    SpringBoot中的控制层的程序中的方法有返回值的原因
    Maven创建的项目使用SpringBoot框架运行时Progress窗口出现的过程
    @Entity注解不同来源
    maven项目不能正常导入到eclipse中
    使用mpvue开发小程序特别需要注意生命周期勾子created和beforeCreate问题
  • 原文地址:https://www.cnblogs.com/bingzisky/p/5156972.html
Copyright © 2011-2022 走看看