博客
关于我
Oracle 表空间数据文件物理位置转移
阅读量:538 次
发布时间:2019-03-09

本文共 3530 字,大约阅读时间需要 11 分钟。

数据表空间文件转移指南

以下是Oracle数据库中将数据表空间文件转移的详细步骤说明:

  • 登录SQL Plus
    打开终端并执行以下命令:
  • sqlplus / as sysdba
    1. 确认需要迁移的数据文件
      执行查询以列出目标表空间的数据文件:
    2. select * from dba_data_files where tablespace_name like 'USERS';

      检查文件名、文件ID、表空间名称、字节大小等详细信息,确保迁移的文件符合要求。

      1. 将表空间设置为离线状态
        为了安全迁移数据,首先需要将表空间设置为离线状态:
      2. alter tablespace USERS offline;

        完成后会显示“表空间已更改”。

        1. 拷贝数据表空间文件
          使用命令拷贝文件到目标路径:
        2. cp /oradata/oracle/app/oracle/oradata/test/users01.dbf /oradata/oracle/datafile
          1. 重命名文件并更新表空间指向
            在SQL中重命名文件并更新表空间的存储位置:
          2. alter database rename file '/oradata/oracle/app/oracle/oradata/test/users01.dbf' to '/oradata/oracle/datafile/users01.dbf';
            1. 将表空间设置为在线状态
              完成迁移后,将表空间设置为在线状态:
            2. alter tablespace USERS online;
              1. 验证文件位置
                执行以下查询确认文件是否已正确迁移:
              2. select file_name from sys.dba_data_files;

                预期结果应包括迁移后的文件路径。

                1. 检查空闲表空间
                  查看迁移后表空间的空闲空间:
                2. select tablespace_name, sum(bytes)/1024/1024||'M' as freespaces from dba_data_files group by tablespace_name;

                  检查是否有足够的空闲空间供其他表空间使用。

                  1. 删除原数据文件
                    最后,删除原存的数据文件:
                  2. rm -rf /oradata/oracle/app/oracle/oradata/test/users01.dbf

                    系统表空间文件转移指南

                    以下是系统表空间文件转移的详细步骤说明:

                  3. 登录SQL Plus
                    打开终端并执行以下命令:
                  4. sqlplus / as sysdba
                    1. 确认需要迁移的数据文件
                      执行以下查询列出控制文件、数据文件、日志文件和临时文件的详细信息:
                    2. select name from v$controlfile;  select name from v$datafile;  select member from v$logfile;  select name from v$tempfile;
                      1. 创建pfile并关闭数据库实例
                        创建数据文件并关闭数据库:
                      2. create pfile from spfile;  shutdown immediate;
                        1. 拷贝文件到新位置
                          使用命令将文件拷贝到新的存储路径:
                        2. mkdir fast_recovery_area  cp /oradata/oracle/app/oracle/oradata/test/control01.ctl /oradata/oracle/datafile  cp /oradata/oracle/app/oracle/fast_recovery_area/test/control02.ctl /oradata/oracle/datafile/fast_recovery_area  cp /oradata/oracle/app/oracle/oradata/test/*.dbf /oradata/oracle/datafile  cp /oradata/oracle/app/oracle/oradata/test/*.log /oradata/oracle/datafile
                          1. 修改pfile中的控制文件路径
                            更新pfile中的控制文件路径:
                          2. cd $ORACLE_HOME/dbs  vi initwind.ora  *control_files='/oradata/oracle/datafile/control01.ctl','/oradata/oracle/datafile/fast_recovery_area/control02.ctl'
                            1. 启动数据库实例
                              启动数据库实例并检查状态:
                            2. startup mount;
                              1. 重命名系统表空间文件并更新指向
                                重新命名系统表空间文件并更新数据库指向:
                              2. alter database rename file '/oradata/oracle/app/oracle/oradata/test/system01.dbf' to '/oradata/oracle/datafile/system01.dbf';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/sysaux01.dbf' to '/oradata/oracle/datafile/sysaux01.dbf';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/undotbs01.dbf' to '/oradata/oracle/datafile/undotbs01.dbf';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/redo01.log' to '/oradata/oracle/datafile/redo01.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/redo02.log' to '/oradata/oracle/datafile/redo02.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/redo03.log' to '/oradata/oracle/datafile/redo03.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/standby01.log' to '/oradata/oracle/datafile/standby01.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/standby02.log' to '/oradata/oracle/datafile/standby02.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/standby03.log' to '/oradata/oracle/datafile/standby03.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/standby04.log' to '/oradata/oracle/datafile/standby04.log';  alter database rename file '/oradata/oracle/app/oracle/oradata/test/temp01.dbf' to '/oradata/oracle/datafile/temp01.dbf';
                                1. 验证文件转换成功
                                  检查文件是否已成功迁移:
                                2. select name from v$datafile;  select member from v$logfile;  select name from v$tempfile;
                                  1. 打开数据库
                                    最后,打开数据库并验证功能:
                                  2. alter database open;

                                    以上步骤可帮助您完成数据表空间和系统表空间文件的迁移,确保数据库在迁移过程中保持稳定运行。

    转载地址:http://suqiz.baihongyu.com/

    你可能感兴趣的文章
    【C/C++学院】(6)构造函数/析构函数/拷贝构造函数/深copy浅copy
    查看>>
    oracle rac 安装 PRVG-13606 ntp 同步报错解决过程
    查看>>
    Oracle RAC性能调整的方案
    查看>>
    oracle rac集群的东西之QQ聊天
    查看>>
    UML— 用例图
    查看>>
    Oracle Schema Objects——Tables——Table Compression
    查看>>
    oracle scott趣事
    查看>>
    oracle script
    查看>>
    Oracle select表要带双引号的原因
    查看>>
    Oracle SOA Suit Adapter
    查看>>
    Oracle Spatial GeoRaster 金字塔栅格存储
    查看>>
    Oracle spatial 周边查询SQL
    查看>>
    Oracle Spatial空间数据库建立
    查看>>
    UML— 活动图
    查看>>
    oracle sqlplus已停止工作,安装完成客户端后sqlplus报“段错误”
    查看>>
    oracle SQLserver 函数
    查看>>
    oracle sql分组(group,根据多个内容分组)在select之后from之前 再进行select查询,复杂子查询的使用
    查看>>
    UML— 时序图
    查看>>
    Oracle Statspack分析报告详解(一)
    查看>>
    oracle tirger_在Oracle中,临时表和全局临时表有什么区别?
    查看>>