这篇文章是从网络上获取的,然后根据内容一步步操作,
1、目前的疑问:移动日志文件的时候,为何要先进行切换?
2、move操作后,再进行rename操作的原理
-----------------------------------------
环境: WinXP SP3\Oracle10gR2
数据文件,控制文件和日志文件原路径在:"C:\ora10gBase\oradata\oy",
现在要将它们迁移至“D:\D_Oracle_DBF”中。具体操作如下:
 
数据文件迁移:
SQL> select name from v$datafile;
NAME
-----------------------------------------
C:\ORA10GBASE\ORADATA\OY\SYSTEM01.DBF
C:\ORA10GBASE\ORADATA\OY\UNDOTBS01.DBF
C:\ORA10GBASE\ORADATA\OY\SYSAUX01.DBF
C:\ORA10GBASE\ORADATA\OY\USERS01.DBF
C:\ORA10GBASE\ORADATA\OY\EXAMPLE01.DBF
D:\D_ORACLE_DBF\EXAMPLE02.DBF
D:\D_ORACLE_DBF\SYSAUX02.DBF
D:\D_ORACLE_DBF\SYSTEM02.DBF
D:\D_ORACLE_DBF\UNDOTBS02.DBF
D:\D_ORACLE_DBF\USERS02.DBF
已选择10行。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
 
(以下的$move命令 应该等同于操作系统的剪切粘贴命令)
SQL> $move C:\ORA10GBASE\ORADATA\OY\SYSTEM01.DBF D:\D_ORACLE_DBF\SYSTEM01.DBF
SQL> $move C:\ORA10GBASE\ORADATA\OY\SYSAUX01.DBF D:\D_ORACLE_DBF\SYSAUX01.DBF
SQL> $move C:\ORA10GBASE\ORADATA\OY\UNDOTBS01.DBF D:\D_ORACLE_DBF\UNDOTBS01.DBF
SQL> $move C:\ORA10GBASE\ORADATA\OY\USERS01.DBF D:\D_ORACLE_DBF\USERS01.DBF
SQL> $move C:\ORA10GBASE\ORADATA\OY\EXAMPLE01.DBF D:\D_ORACLE_DBF\EXAMPLE01.DBF
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  209715200 bytes
Fixed Size                  1248140 bytes
Variable Size              92275828 bytes
Database Buffers          113246208 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
 
SQL>  alter database
  2   rename file
  3   'C:\ORA10GBASE\ORADATA\OY\SYSTEM01.DBF',
  4   'C:\ORA10GBASE\ORADATA\OY\SYSAUX01.DBF',
  5   'C:\ORA10GBASE\ORADATA\OY\UNDOTBS01.DBF',
  6   'C:\ORA10GBASE\ORADATA\OY\USERS01.DBF',
  7   'C:\ORA10GBASE\ORADATA\OY\EXAMPLE01.DBF'
  8   to
  9   'D:\D_ORACLE_DBF\SYSTEM01.DBF',
 10   'D:\D_ORACLE_DBF\SYSAUX01.DBF',
 11   'D:\D_ORACLE_DBF\UNDOTBS01.DBF',
 12   'D:\D_ORACLE_DBF\USERS01.DBF',
 13   'D:\D_ORACLE_DBF\EXAMPLE01.DBF';
数据库已更改。
 
SQL> alter database open;
数据库已更改。
SQL> select name,status from v$datafile;
NAME                                                         STATUS
------------------------------------------------------------ -------
D:\D_ORACLE_DBF\SYSTEM01.DBF                                 SYSTEM
D:\D_ORACLE_DBF\UNDOTBS01.DBF                                ONLINE
D:\D_ORACLE_DBF\SYSAUX01.DBF                                 ONLINE
D:\D_ORACLE_DBF\USERS01.DBF                                  ONLINE
D:\D_ORACLE_DBF\EXAMPLE01.DBF                                ONLINE
D:\D_ORACLE_DBF\EXAMPLE02.DBF                                ONLINE
D:\D_ORACLE_DBF\SYSAUX02.DBF                                 ONLINE
D:\D_ORACLE_DBF\SYSTEM02.DBF                                 SYSTEM
D:\D_ORACLE_DBF\UNDOTBS02.DBF                                ONLINE
D:\D_ORACLE_DBF\USERS02.DBF                                  ONLINE
已选择10行。
 
日志文件迁移
SQL> select * from v$log;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS    FIRST_CHANGE# FIRST_TIME
-------- ------- ---------- ---------- ---------- --- --------- ------------- --------------
       1       1          5   52428800          1 NO  CURRENT          618740 27-4月 -11
       2       1          3   52428800          1 NO  INACTIVE         572830 26-4月 -11
       3       1          4   52428800          1 NO  INACTIVE         598395 27-4月 -11
 
SQL> col type format a10
SQL> col IS_RECOVERY_DEST_FILE format a10
SQL> col member format a50
SQL> select * from v$logfile;
    GROUP# STATUS   TYPE       MEMBER                                   IS_RECOVER
---------- -------- ---------- ---------------------------------------- ----------
########## STALE    ONLINE     C:\ORA10GBASE\ORADATA\OY\REDO03.LOG      NO
########## STALE    ONLINE     C:\ORA10GBASE\ORADATA\OY\REDO02.LOG      NO
##########          ONLINE     C:\ORA10GBASE\ORADATA\OY\REDO01.LOG      NO
 
SQL> alter system switch logfile;
系统已更改。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> $ move C:\ora10gBase\oradata\oy\REDO01.LOG  D:\D_Oracle_DBF\REDO01.LOG
SQL> $ move C:\ora10gBase\oradata\oy\REDO02.LOG  D:\D_Oracle_DBF\REDO02.LOG
SQL> $ move C:\ora10gBase\oradata\oy\REDO03.LOG  D:\D_Oracle_DBF\REDO03.LOG
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  209715200 bytes
Fixed Size                  1248140 bytes
Variable Size              92275828 bytes
Database Buffers          113246208 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
 
SQL> alter database
  2  rename file
  3  'C:\ora10gBase\oradata\oy\REDO01.LOG',
  4  'C:\ora10gBase\oradata\oy\REDO02.LOG',
  5  'C:\ora10gBase\oradata\oy\REDO03.LOG'
  6  to
  7  'D:\D_Oracle_DBF\REDO01.LOG',
  8  'D:\D_Oracle_DBF\REDO02.LOG',
  9  'D:\D_Oracle_DBF\REDO03.LOG';
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> alter system switch logfile;
系统已更改。
 
控制文件迁移
 
 
将数据库SHUTDOWN,然后修改pfile中的控制文件的路径,以pfile文件启动数据库,
然后create spfile from pfile.最后以spfile启动数据库即可。
SQL> create spfile from pfile='D:\xxxx\pfile\init.ora.2162010162124';
 
-----------------------------
 
此外,其他移动数据文件的方法(在数据库启动归档的情况下,可以开机迁移,还未测试是否正确):
 
移动Oracle数据库表空间文件
 
目的:把oracle表空间文件从一个地方移动到另外一个地方。
 
详细操作步骤:
 
第一、启用介质恢复模式:
A、Shutdown immdiate;
B、Startup mount;
C、Alter database archivelog;
D、Alter database open;
 
第二、卸载表空间:
A、Alter tablespace 表空间名字 offline;(注:如果为非归档模式后面加Drop);
 
第三、在操作系统下移动文件到新位置。
 
第四、告诉表空间数据文件已经移动:
A、Alter database rename file '原文件路径' to '新文件路径';
 
第五、装载表空间:
A、Alter tablespace 表空间名字 online;
 
第六、关闭数据库:
A、Shutdown;
 
第七、启动数据库:
A、Startup force;
 
Oracle数据库表空间文件移动成功。

oracle数据文件迁移的更多相关文章

  1. Oracle 数据文件迁移

    背景 这两天做一个oracle数据库迁移,以前都是用exp.imp来走,这次用到了expdp.impdp,的确有些优势,但同时又想起了只是拷贝数据文件迁移的方式,其实这个方式不常用做迁移,更多用在磁盘 ...

  2. Oracle数据文件迁移到裸设备

    本文主要描述如何将Oracle表空间的文件系统形式的数据文件迁移到LV裸设备上. 前提条件 1.oracle运行正常. 2.已使用LVM命令规划好LV文件.如/dev/vgoracle/lvdatat ...

  3. Oracle 10g DG 数据文件迁移

    背景:某客户Oracle 10g 的DG由于空间不足,之前将部分数据文件迁移到其他目录,如今原目录扩容成功,要将之前迁移的数据文件再次迁移回来. 环境:Oracle 10.2.0.5 DG 单机 首先 ...

  4. Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

    在Oracle Rac环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问.而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错,因为找 ...

  5. 收缩Oracle数据文件

    最近有网友提到收缩Oracle数据文件的问题,这是DBA经常碰到的一个常见问题.通常我们需要收缩相应的数据文件以减少来自磁盘空间的压力以及提高数据库的整体性能.但这并非对于所有情形都是适用的,尤其是生 ...

  6. Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

    Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...

  7. SqlServer:SqlServer(数据库备份,数据文件迁移,增加数据库文件组,递归查询一周报送情况,查询近X天未报送单位,截断数据库日志,复制单个或多个数据库表到另一个数据库 )

    1.数据备份 ) ) ) )),'-','') ) SET @savePath = 'f:/DatabaseBackup/' DECLARE My_Cursor CURSOR FOR ( select ...

  8. 批量迁移Oracle数据文件,日志文件及控制文件

    有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当 ...

  9. oracle之 RAC本地数据文件迁移至ASM

    系统环境:CentOS release 6.7 (Final)Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit 操作过 ...

随机推荐

  1. java NIO 直接与非直接缓冲区

    ByteBuffer有两个创建缓冲区的方法:static ByteBuffer allocate(int capacity)static ByteBuffer allocateDirect(int c ...

  2. 20145215《网络对抗》Exp8 Web基础

    20145215<网络对抗>Exp8 Web基础 基础问题回答 什么是表单? 表单是一个包含表单元素的区域,表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息 ...

  3. urllib.parse.quote

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  4. SVM的两个参数 C 和 gamma

    SVM模型有两个非常重要的参数C与gamma.其中 C是惩罚系数,即对误差的宽容度.c越高,说明越不能容忍出现误差,容易过拟合.C越小,容易欠拟合.C过大或过小,泛化能力变差 gamma是选择RBF函 ...

  5. H3C常用命令详解

    H3C常用命令详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.关闭后台日志输出 <yinzhengjie>sys [yinzhengjie]undo info- ...

  6. 面向对象【day07】:类的属性(五)

    本节内容 概述 公有属性 一.概述 前面我们讲了类的私有属性,现在我们来说说类的公有属性,这边很容易被人弄混淆,有人觉的,在__init__()构造方法中,除了私有属性,其他的都是公有属性了,其实这是 ...

  7. ElasticSearch 例子

    ElasticSearch是一个接近实时的搜索平台,它利用Lucese进行文档索引. 本文会写个可以运行的简单例子,方便大家上手,日后深入了解. 需要引入maven依赖 <dependency& ...

  8. 使用swagger来编写在线api文档

    swagger是一个非常简单,强大的框架.快速上手,只需要引入jar包 , 使用注解就可以生成一个漂亮的在线api文档 pom.xml <dependency> <groupId&g ...

  9. 《Maven实战》笔记

    maven是什么 maven是 构建工具 依赖关系工具 项目信息管理工具 而JAVA世界的ant只是一个构建工具,不具备依赖管理的功能,需要配合使用ivy进行依赖管理. maven的安装 下载mave ...

  10. Spring 学习03

    一.上节内容回顾 1 注解ioc操作 (1)使用注解创建对象 - 四个注解 (2)使用注解注入属性 - 两个注解 2 aop (1)aop原理 (2)aop术语 - 切入点 - 增强 - 切面 3 s ...