博客
关于我
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/

    你可能感兴趣的文章
    ng 指令的自定义、使用
    查看>>
    Nginx
    查看>>
    nginx + etcd 动态负载均衡实践(二)—— 组件安装
    查看>>
    nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
    查看>>
    Nginx + Spring Boot 实现负载均衡
    查看>>
    Nginx + uWSGI + Flask + Vhost
    查看>>
    Nginx - Header详解
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx Lua install
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 常用配置清单
    查看>>