• 管理表空间和数据文件——移动数据文件



    当数据文件所在磁盘损坏时,该数据文件将不能被访问。为了访问该数据文件,需要将其备份数据文件移动到其他磁盘进行恢复;另外为了提高数据文件的i/o性能,可能需要移动数据文件。

    移动数据文件用两种方法,一种是使用alter tablespace 命令,另一种方法是使用alter database命令。

    1.在open状态下移动数据文件

    当数据处于open状态时,移动数据文件是使用alter tablespace 命令来完成的,当使用alter tablespace命令系统数据文件时,要求表空间必须处于offline 状态。因为system 表空间和sysaux 表空间不能脱机,所以使用该命令不能移动systme  表空间和sysaux 表空间。

    例子:移动data01 的数据文件data01.dbf到目录c:\demo:

    使表空间脱机:

    alter tablespace data01 offline;

    使用os 命令移动数据文件到指定目录

    host move d:\orcl\data01.dbf c:\orcl\data01.dbf

    执行alter tablespace 命令

    alter tablespace data01 rename datafile 'd:\orcl\data01.dbf'
    to 'c:\orcl\data01.dbf';

    使表空间联机

    alter tablespace data01 online;

     2.在mount状态下移动数据文件

    因为system表空间和sysaux表空间不能被脱机,所以为了移动这两种表空间的数据文件,必须在mount状态下使用alter database 命令来完成

    注意:使用这种方法可以移动任何表空间的数据文件。

    例子:移动数据文件system01.dbf到c:\demo目录:


    关闭并装载数据库

    startup force mount;

    移动数据文件到目标位置

    host move E:\app\Administrator\oradata\orcl\SYSTEM01.DBF c:\orcl\system01.dbf

    执行alter database 命令

    alter database rename file
    'E:\app\Administrator\oradata\orcl\SYSTEM01.DBF' 
    to 'c:\orcl\system01.dbf';

    打开数据库

    alter database open;

  • 相关阅读:
    SpringBoot整合Swagger2
    AuthenticationToken的元素不满足实际情况,登录的时候需要有学校id或者其他参数
    nginx导入学成静态网页
    springboot使用枚举类型
    springboot配置多个yml文件
    尝试使用freemarker模板引擎生成打印文件
    多版本并发控制 MVCC 实现可重复读
    多版本并发控制 MVCC简介
    模拟3级分类信息查询
    IDEA去掉屏幕中间的白色竖线
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/oracle11g_sql_0051.html
Copyright © 2020-2023  润新知