`

ORACLE数据库数据文件位置迁移

阅读更多
一.移动数据文件

移动数据文件使用的有2种办法

方法一、以数据文件为单位移动
SQL> select name from v$datafile;
------
------
2.关闭数据库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

3.MOUNT到数据库

SQL> startup mount

ORACLE instance started.

Total System Global Area  135338868 bytes

Fixed Size                   453492 bytes

Variable Size             109051904 bytes

Database Buffers           25165824 bytes

Redo Buffers                 667648 bytes

Database mounted.
4.把要移动的数据文件剪切到目标目录,
SQL>SELECT 'host mv ' || d.FILE_NAME ||  ' /home/lc_orauser/mount/tablespace1/'||substr(d.FILE_NAME,34)||';' FROM Dba_Data_Files d;

host mv /home/lc_orauser/oradata/niutest/users01.dbf /home/lc_orauser/mount/tablespace1/users01.dbf;
host mv /home/lc_orauser/oradata/niutest/sysaux01.dbf /home/lc_orauser/mount/tablespace1/sysaux01.dbf;
.........

5.alter database方法移动数据文件
SQL>SELECT 'alter database  rename file  '''|| d.file_name ||''' to ''/home/lc_orauser/mount/tablespace1/' ||
substr(d.FILE_NAME,34)||'''' FROM dba_tablespaces t,Dba_Data_Files d WHERE t.tablespace_name=d.TABLESPACE_NAME;

alter database  rename file  '/home/lc_orauser/mount/tablespace1/users01.dbf' to
'/home/lc_orauser/mount/tablespace1/1/users01.dbf'
..............

6.移动其他数据文件同上.但是我们要注意的是TEMP数据文件.在我们上边列出数据文件的命令里没有包含这个文件.而且移动这个文件会报如下错:
*

ERROR at line 1:

ORA-01511: error in renaming log/data files

ORA-01516: nonexistent log file, datafile, or tempfile

"E:\ORACLE\ORADATA\SLUMGA\temp01.DBF"
那如何移动呢?我们需要创建一个TEMP文件,如下:
SQL> create temporary tablespace temp2 tempfile 'e:\oracle\tem2.dbf' size 20M reuse
autoextend on next 50m maxsize unlimited;
SQL> alter database default temporary tablespace temp2;
打开数据库,成功。
方法二、以表空间为单位进行移动
1.把相应表空间offline
SQL> SELECT 'alter tablespace '|| t.tablespace_name ||'  offline ;'  FROM dba_tablespaces t;
alter tablespace SYSTEM  offline ;
............................
2.操作系统级把数据文件移动到目标目录,用上面的方法就可以,这里不再多说了。
3.在ORACLE数据库中把该表空间的所有数据文件改名
SQL> SELECT 'alter tablespace '|| t.tablespace_name ||' rename datafile '''|| d.file_name ||''' to ''/home/lc_orauser/mount/tablespace1/' ||
substr(d.FILE_NAME,34)||'''' FROM dba_tablespaces t,Dba_Data_Files d WHERE t.tablespace_name=d.TABLESPACE_NAME;
!这里要注意,语法和方法一里面的不一样!
4.把表空间ONLINE
SQL>SELECT 'alter tablespace '|| t.tablespace_name ||'  online ;'  FROM dba_tablespaces t;
5.注意!
此方法对系统表空间system、undo表空间和temp表空间无法使用。
最后将数据库重启。测试一下是否成功!
二、移动控制文件
1.用SPFILE启动的数据库
SQL> alter system set control_files='E:\oracle\oradata\slumgabak\CONTROL01.CTL',
'E:\oracle\oradata\slumgabak\CONTROL02.CTL','E:\oracle\oradata\slumgabak\CONTROL03.CTL' scope=spfile;
System altered.
重启数据库。
SQL> create pfile from spfile;
File created.
2.用pfile启动的数据库
修改E:\oracle\ora92\database\init<SID>.ora 文件,修改参数CONTROL_FILES的值。重新启动数据库。如果有SPFIL重建SPFILE
SQL> create spfile from pfile;
三、移动联机重作日志文件。
1.停止数据库
2.把日志文件移动到新的目标目录
3.mount到数据库,修改日志文件的名字
SQL> alter database rename file 'E:\oracle\oradata\slumga\REDO01.LOG' to 'E:\ora
cle\oradata\slumgabak\REDO01.LOG';
Database altered.
SQL> alter database rename file 'E:\oracle\oradata\slumga\REDO02.LOG' to 'E:\ora
cle\oradata\slumgabak\REDO02.LOG';
Database altered.

SQL> alter database rename file 'E:\oracle\oradata\slumga\REDO03.LOG' to 'E:\ora
cle\oradata\slumgabak\REDO03.LOG';
Database altered.
4.OPEN数据库
SQL> alter database open;
修改完成!
分享到:
评论

相关推荐

    oracle数据库数据文件迁移的方法1

    ### Oracle数据库数据文件迁移的方法详解 #### 背景与目的 在Oracle数据库管理中,随着业务的增长,可能会遇到磁盘空间不足的情况。此时,为了确保业务连续性和数据安全性,通常需要将某些数据文件迁移到其他存储...

    linux环境下oracle数据库的备份、迁移

    迁移备份数据是指将备份的数据文件从一个环境迁移到另一个环境中,以便在新环境中恢复数据库。迁移备份数据可以按照以下步骤进行: 1. 查看 oracle 用户下的数据备份文件,到 oracle 根目录下找到文件。 2. 选择要...

    ORACLE数据库冷备份方式迁移.pdf

    Oracle数据库的冷备份迁移是一种在数据库关闭状态下进行的迁移方法,主要涉及数据库文件的复制、参数文件的调整以及可能的版本升级。以下是对这个过程的详细解释: 首先,确保新服务器上安装的Oracle数据库版本与旧...

    access数据库MDB数据文件导入oracle数据库操作步骤.pdf

    Access 数据库 MDB 数据文件导入 Oracle 数据库操作步骤 Access 数据库 MDB 文件是 Microsoft Access 应用程序的数据库文件格式,而 Oracle 数据库是关系数据库管理系统。将 Access 数据库 MDB 文件导入 Oracle ...

    直接拷贝数据文件实现Oracle数据迁移

    本文将详细介绍如何通过直接拷贝数据文件来实现在新服务器上的Oracle数据迁移。 首先,我们需要了解迁移的背景。假设你因为服务器更换需要迁移一个已经在192.168.1.15运行的Oracle数据库到新的服务器192.168.1.18。...

    双机镜像环境下Oracle数据库向Linux系统迁移.pdf

    【双机镜像环境下Oracle数据库向Linux系统迁移】 在医疗信息化领域,医院信息系统(HIS)的稳定性和安全性至关重要。随着技术的发展,许多医疗机构选择将数据库从传统的Windows环境迁移到更稳定、开源的Linux操作...

    Oracle数据库迁移升级详细步骤.docx

    Oracle数据库迁移升级详细步骤 Oracle数据库迁移升级是指将现有的Oracle数据库从低版本升级到高版本,或者将数据库从一台服务器迁移到另一台服务器,以提高数据库性能、安全性和可扩展性。以下是Oracle数据库迁移...

    快速实现Oracle数据库大数据迁移方案

    在使用Oracle数据泵进行数据库迁移时,我们通常需要遵循以下步骤:首先创建目录对象,用于存储导入导出过程中的数据文件及日志文件。接下来,我们需要授予目录对象的读写权限,以确保可以顺利进行数据的导出和导入。...

    Oracle数据库数据迁移概览.ppt

    Oracle 数据库数据迁移是一项复杂的任务,涉及到跨平台数据库传输、数据文件转换、数据库状态检查、外部对象标识等多个方面。本文将对 Oracle 数据库数据迁移的概览进行详细的介绍。 一、跨平台数据库传输 跨平台...

    Oracle数据库跨平台数据迁移研究.pdf

    【Oracle数据库跨平台数据迁移研究】 Oracle数据库是企业级应用中广泛使用的关系型数据库系统,其数据迁移在不同操作系统之间是常见的需求。本研究聚焦于如何将Oracle数据库从Windows平台迁移到UNIX平台,如IBM PC ...

    ORACLE数据库跨平台迁移

    ORACLE数据库跨平台迁移 ORACLE数据库跨平台迁移是指将WINDOWS平台上的ORACLE数据库迁移到LINUX平台,当前LINUX平台只装数据库软件,不建库。本文将详细介绍如何使用RMAN Convert database特性来实现数据库跨平台...

    Oracle 数据库的数据迁移方法

    对于Oracle数据库这样的大型数据库系统而言,数据迁移是一项复杂而重要的任务,不仅涉及到数据的准确性和完整性,还关乎业务的连续性和稳定性。 #### 二、数据迁移的重要性及挑战 数据迁移在多个场景中至关重要,...

    oracle项目--DataBase Migration(数据库迁移)PPT

    Oracle数据库迁移项目是IT行业中常见的任务,涉及到将数据和结构从一个数据库系统迁移到另一个,例如从SQL Server迁移到Oracle。以下是对四种数据库迁移方案的详细说明: **方案一**: 此方案主要依赖于手动操作和...

    oracle数据文件迁移

    Oracle 数据文件迁移是指将 Oracle 数据库中的数据文件从一个位置迁移到另一个位置,以便更好地管理和维护数据库。迁移数据文件需要注意数据安全和数据一致性,避免数据丢失或损坏。本文将详细介绍 Oracle 数据文件...

    Abp项目模板使用Oracle数据库

    在这个“Abp项目模板使用Oracle数据库”的场景中,开发者已经将Abp框架与Oracle 11g数据库集成,以便利用Oracle的强大功能来存储和管理应用程序的数据。Abp.Zero是Abp框架的一个子模块,主要关注多层架构中的基础...

    Oracle数据库数据迁移整理.pdf

    Oracle数据库数据迁移是一个复杂的过程,涉及多个步骤和组件,确保数据在迁移过程中的一致性、完整性和可用性。以下是对标题和描述中所提及的知识点的详细解释: 1. **概述**: - 迁移的目标是将一个Oracle数据库...

    linux下的ORACLE 数据库迁移

    使用新建用户名登录,执行命令 ALTER TABLESPACE MOF_TEMP ADD DATAFILE '/opt/qlyg/datafile/数据文件名' SIZE 32000M,可以执行多次,每次数据文件名要求不一致,每个数据文件大小收系统限制,最大为 32000M。...

Global site tag (gtag.js) - Google Analytics