转载:

在ORACLE中移动数据库文件

--ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。

--由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,

--我們可能会考虑移动数据库文件。

--下面以LUNIX平台为例,分别讨论三种数据库文件的移动方法。

一.移动数据文件:

-- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。

1. ALTER DATABASE方法;

-- 用此方法,可以移动任何表空间的数据文件。

STEP 1. 下数据库:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> SHUTDOWN;

SQL> EXIT;

STEP 2.用操作系统命令移动数据文件:

-- 将数据文件 'test.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/test.ora /ora/oracle/data2

STEP 3. Mount数据库,用ALTER DATABASE命令将数据文件改名:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE RENAME FILE '/ora/oracle/data1/test.ora' TO '/ora/oracle/data2/test.ora';

STEP 4. 打开数据库:.

SQL> ALTER DATABASE OPEN;

SQL>SELECT NAME,STATUS FROM V$DATAFILE;

2. ALTER TABLESPACE方法:

-- 用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。

STEP1. 将此数据文件所在的表空间OFFLINE:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> ALTER TABLESPACE test OFFLINE;

SQL> EXIT;

STEP2. 用操作系统命令移动数据文件:

将数据文件 'test.ora' 从/ora/oracle/

data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/test.ora /ora/oracle/data2

STEP3. 用ALTER TABLESPACE命令改数据文件名:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> ALTER TABLESPACE test RENAME DATAFILE '/ora/oracle/data1/test.ora' TO '/ora/oracle/data2/test.ora';

STEP4. 将此数据文件所在的表空间ONLINE:

SQL> ALTER TABLESPACE test ONLINE;

SQL> SELECT NAME,STATUS FROM V$DATAFILE;

二. 移动控制文件:

-- 控制文件 在 INIT.ORA文件中指定。移动控制文件相对比较简单,下数据库,

-- 编辑INIT.ORA,移动控制文件,重启动数据库。

STEP 1. 下数据库:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> SHUTDOWN;

SQL> EXIT;

STEP 2.用操作系统命令 移动控制文件:

--将控制文件'ctl3orcl.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/ctrlorcl3.ora /ora/oracle/data2

STEP 3. 编辑INIT.ORA文件:

INIT.ORA文件的在$ORACLE_HOME/dbs目录下,

修改参数 "control_files",其中指定移动后的控制文件:

control_files = (/ora/oracle/data1/ctrlorcl1.ora,/ora/oracle/data1/ctrlorcl2.ora,/ora/oracle/data2/ctrlorcl3.ora)

STEP 4. 重启动数据库:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> STARTUP;

SQL>SELECT name FROM V$CONTROLFILE;

SQL> EXIT;

三. 移动联机日志文件:

STEP 1. 停数据库:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> SHUTDOWN;

SQL> EXIT;

STEP 2. 用操作系统命令移动联机日志文件:

--将联机日志文件'redolog1.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/redolog1.ora /ora/oracle/data2

STEP 3. Mount数据库,用ALTER DATABASE 命令改联机日志文件名:.

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> STARTUP MOUNT ;

SQL> ALTER DATABASE RENAME FILE '/ora/oracle/data1/redolog1.ora' TO '/ora/oracle/data2/redolog1.ora';

STEP 4.重启动数据库: .

SQL> ALTER DATABASE OPEN;

SQL>SELECT MEMBER FROM V$LOGFILE;

记录下,方便日常维护

在ORACLE中移动数据库文件的更多相关文章

  1. oracle中创建数据库

    一.在Oracle中创建数据库之前先改一下虚拟机的IP地址,以便访问 2. 3. 3.1 3.2 3.3 3.4 创建完成:输入sqlplus sys/123456 as sysdba测试

  2. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件

    XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...

  3. XamarinSQLite教程在Xamarin.Android项目中定位数据库文件

    XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...

  4. XamarinSQLite教程Xamarin.iOS项目中打开数据库文件

    XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...

  5. XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件

    XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件 开发者可以在指定的路径中找到复制的数据库文件,具体的操作步骤如下: (1)单击Mac电脑中Finder菜单中的“前往”|“前 ...

  6. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  7. 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)

    初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作 ...

  8. 如何查找ORACLE中的跟踪文件

    一.跟踪文件是干什么用的?        跟踪文件中包含了大量而详细的诊断和调试信息.通过对跟踪文件的解读和分析,我们可以定位问题.分析问题和解决问题.从跟踪文件的产生的来源来看,跟踪文件又可以分为两 ...

  9. 如何在Oracle中导入dmp文件

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...

随机推荐

  1. ubifs文件系统挂载时提示ubi0: MTD device 5 is write-protected, attach in read-only mode

    答:笔者遇到的这种情况是由于分区表未与nor flash的物理擦除块边界对齐而导致的,因此调整分区表即可解决此问题

  2. Java 线程池Future和FutureTask

    Future表示一个任务的周期,并提供了相应的方法来判断是否已经完成或者取消,以及获取任务的结果和取消任务. Future接口源码: public interface Future<V> ...

  3. [BZOJ4756]Promotion Counting

    Description The cows have once again tried to form a startup company, failing to remember from past ...

  4. mysql5.7.22安装步骤

    在官网上下载mysql的压缩包,然后解压 (下载地址:https://dev.mysql.com/downloads/mysql/) 1.打开cmd,建议使用管理员的身份打开cmd,如果不用使用管理员 ...

  5. 大端和小端(big endian little endian)

    一.大端和小端的问题 对于整型.长整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节):而 Little endian 则相反,它 ...

  6. 【jdk源码分析】java多线程开启的三种方式

    1.继承Thread类,新建一个当前类对象,并且运行其start()方法 package com.xiaostudy.thread; /** * @desc 第一种开启线程的方式 * @author ...

  7. 解题报告:poj 3070 - 矩阵快速幂简单应用

    2017-09-13 19:22:01 writer:pprp 题意很简单,就是通过矩阵快速幂进行运算,得到斐波那契数列靠后的位数 . 这是原理,实现部分就是矩阵的快速幂,也就是二分来做 矩阵快速幂可 ...

  8. 字体渲染技术(字体抗锯齿技术) -webkit-font-smoothing: antialiased;

    1.-webkit-font-smoothing控制的字体渲染只对MacOS的webkit有效.所以,你在MacOS测试环境下面设置-webkit-font-smoothing时,只要你不把它设置为n ...

  9. [Vue]使用 vue-i18n 切换中英文

    1.引入 vue-i18n  import Vue from 'vue' import VueI18n from 'vue-i18n' import merge from 'lodash/merge' ...

  10. 使用Bind读取配置到C#的实例

    在之前的一篇二级域名绑定的文章<.Net Core 二级域名绑定到指定的控制器>中,有一个小的地方是关于读取Json文件的配置信息的,当时是用了读取文件流的方式,一直以来觉得该方法太Low ...