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

    你可能感兴趣的文章
    Nodejs简介以及Windows上安装Nodejs
    查看>>
    nodejs系列之express
    查看>>
    nodejs系列之Koa2
    查看>>
    Nodejs连接mysql
    查看>>
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    Nodemon 深入解析与使用
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装及配置之windows版
    查看>>
    Node实现小爬虫
    查看>>