• Oracle数据文件转移操作


       由于oracle表空间数据文件规划问题导致当前数据文件所在文件系统空间不足,当其他文件系统空间充足情况下,可将数据文件移动到空间充足的文件系统下。本文主要描述Oracle表空间数据文件移动的操作步骤。

    业务表空间数据文件移动操作方法

    1、查看当前待操作表空间DATATBS对应的数据文件的路径、状态。

    SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='DATATBS'; 

    2、将数据文件所属的表空间DATATBS状态修改为offline。

    SQL> ALTER TABLESPACE DATATBS OFFLINE;

    3、将需要转移的数据文件转移到到指定的目录下。保证该目录oracle有读写权限。

    SQL> ! cp '/opt/oracle/oradata/datatbs.dbf' '/home/oracle/datatbs.dbf'; 

    4、重命名当前数据文件名为修改后的路径。

    SQL> alter tablespace datatbs rename datafile '/opt/oracle/oradata/datatbs.dbf' to '/home/oracle/datatbs.dbf'; 

    5、将DATA表空间状态修改为online。

    SQL> alter tablespace datatbs online; 

    6、重新查看数据文件和表空间状态。

    SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='DATATBS'; 

    temp表空间数据文件转移

    1、给当前临时表空间增加一个数据文件

    SQL> alter tablespace temp add tempfile '/dev/vgoracle/lvtemp' size 1000M;

    2、重启数据库实例

    SQL> shutdown immediate;
    SQL> startup;

    3、先修改旧的临时表空间的数据文件状态为offline,然后删除文件

    SQL> alter database tempfile '/home/oracle/oradata/ora11g/temp.dbf' offline;
    SQL> alter database tempfile '/home/oracle/oradata/ora11g/temp.dbf' drop;

    undo表空间数据文件转移

      参考Oracle重建表空间操作实例中的<重建undo表空间>

    FAQ

    1、上述步骤5如果操作失败,出现提示ORA-01113/ORA-01113需要做介质回复,解决方法

    SQL> shutdown immediate;
    SQL> startup mount;
    SQL> recover datafile '/home/oracle/datatbs.dbf'; --介质恢复,数据文件为转移后的数据文件绝对路径
    SQL> alter database open;
  • 相关阅读:
    Thread.currentThread().getName() ,对象实例.getName() 和 this.getName()区别
    CentOS7.7 yum安装新版git
    CentOS使用epel安装不同版本php-fpm
    ubuntu16.04安装mysql5.6
    阿里云Confluence无法发送邮件修复
    windowserver 2012安装openssh
    linux增加history时间戳
    SQL Server 2008R2各个版本,如何查看是否激活,剩余可用日期?
    nginx增加访问验证
    mysql5.6和5.7的权限密码设置
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7712306.html
Copyright © 2020-2023  润新知