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

    你可能感兴趣的文章
    npm发布自己的组件UI包(详细步骤,图文并茂)
    查看>>
    npm和yarn清理缓存命令
    查看>>
    npm和yarn的使用对比
    查看>>
    npm如何清空缓存并重新打包?
    查看>>
    npm学习(十一)之package-lock.json
    查看>>
    npm安装 出现 npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! 解决方法
    查看>>
    npm安装crypto-js 如何安装crypto-js, python爬虫安装加解密插件 找不到模块crypto-js python报错解决丢失crypto-js模块
    查看>>
    npm安装教程
    查看>>
    npm报错Cannot find module ‘webpack‘ Require stack
    查看>>
    npm报错Failed at the node-sass@4.14.1 postinstall script
    查看>>
    npm报错fatal: Could not read from remote repository
    查看>>
    npm报错File to import not found or unreadable: @/assets/styles/global.scss.
    查看>>
    npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
    查看>>
    npm淘宝镜像过期npm ERR! request to https://registry.npm.taobao.org/vuex failed, reason: certificate has ex
    查看>>
    npm版本过高问题
    查看>>
    npm的“--force“和“--legacy-peer-deps“参数
    查看>>
    npm的安装和更新---npm工作笔记002
    查看>>
    npm的常用配置项---npm工作笔记004
    查看>>
    npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
    查看>>
    npm编译报错You may need an additional loader to handle the result of these loaders
    查看>>