前言: 在数据库运行、管理、维护维优过程中,有可能会碰到需要移动数据文件到其他硬盘或目录的情况。 删除或移动数据文件,都不像在操作系统中使用rm或cp命令那么简单。如果只是简单的rm或cp数据文件, 那么数据库运行时会因为找不到正确的数据文件位置而报错。这是因为数据文件的位置和信息都被记录 在控制文件中,rm或cp命令是不会也不可能更改控制文件记录的,这时必须通过alter操作去更改刷新数 据库控制文件中数据文件的相关信息,以此确保数据库能够正常运行。 以下将介绍两种方法更改数据文件的位置,更改数据文件位置前,建议暂停所有针对此数据文件的数 据操作。 (一) 方法一:offline表空间 ************************************************************** * 主要步骤: * * 1、offline表空间:alter tablespace tablespace_name offline;* * 2、复制数据文件到新的目录; * * 3、rename修改表空间,并修改控制文件; * * 4、online表空间; * ************************************************************** 以更改表空间zerone的数据文件/opt/oracle/oradata/ZERONE01.DBF的位置为例 1、offline表空间zerone,使表空间zerone离线 ---------------------------------------- SQL> alter tablespace zerone offline; 表空间已更改。 2、复制数据文件到新的目录 ---------------------- 注: * 1、如检查新目录/home/oracle/oradata/zerone是否存在,不存在则创建此路径,并更改目录属性: * # mkdir -p /home/oracle/oradata/zerone * # chown -R oracle:oinstall /home/oracle/oradata/zerone 复制数据文件 # cp /opt/oracle/oradata/ZERONE01.DBF /home/oracle/oradata/zerone/ZERONE01.DBF # chown oracle:oinstall /home/oracle/oradata/zerone/ZERONE01.DBF 3、rename修改表空间数据文件为新的位置,并修改控制文件 -------------------------------------------------- SQL> alter tablespace zerone rename datafile '/opt/oracle/oradata/ZERONE01.DBF' to '/home/oracle/oradata/zerone/ZERONE01.DBF'; 表空间已更改。 4、online表空间 --------------------- SQL> alter tablespace zerone online; 表空间已更改。 检查: SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /home/oracle/oradata/zerone/ZERONE01.DBF SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE'; FILE_NAME TABLESPACE_NAME ------------------------------------------------------------------------------------------------ ZERONE /home/oracle/oradata/zerone/ZERONE01.DBF (二) 方法二:SQL修改数据文件位置 ************************************* * 主要步骤: * 1、关闭数据库; * 2、复制数据文件到新的位置; * 3、启动数据库到mount状态; * 4、通过SQL修改数据文件位置; * 5、打开数据库; ************************************* 1、关闭数据库 --------------------------- SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 2、复制数据文件到新的位置; --------------------------- 同方法一 3、启动数据库到mount状态; ---------------------------- SQL> startup mount ORACLE 例程已经启动。 Total System Global Area 167772160 bytes Fixed Size 1247900 bytes Variable Size 96470372 bytes Database Buffers 67108864 bytes Redo Buffers 2945024 bytes 数据库装载完毕。 4、通过SQL修改数据文件位置; ------------------------------- SQL> alter database rename file '/opt/oracle/oradata/ZERONE01.DBF' to '/home/oracle/oradata/zerone/ZERONE01.DBF'; 数据库已更改。 5、打开数据库; ------------------------------- SQL> alter database open; 数据库已更改。 检查: SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /home/oracle/oradata/zerone/ZERONE01.DBF SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE'; FILE_NAME TABLESPACE_NAME ------------------------------------------------------------------------------------------------ ZERONE /home/oracle/oradata/zerone/ZERONE01.DBF 如何查看数据文件属于哪个表空间 (1) 查看永久表空间的数据文件对应的表空间 SQL> select TABLESPACE_NAME from dba_data_files where FILE_NAME='数据文件全路径'; (2) 查看临时表空间的数据文件对应的临时表空间 SQL> select TABLESPACE_NAME from dba_temp_files where FILE_NAME='数据文件全路径';
Oracle数据文件迁移
来源:这里教程网
时间:2026-03-03 11:46:35
作者:
编辑推荐:
- word2010怎么制作超链接03-03
- word2010怎么设置批注颜色03-03
- Oracle数据文件迁移03-03
- DB_FILES参数03-03
- Oracle11g 密码延迟认证导致library cache lock的情况分析03-03
- 物化视图详解03-03
- ORA-14102: 只能指定一个 LOGGING 或 NOLOGGING 子句03-03
- word2010怎么在框里打钩03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle11g 密码延迟认证导致library cache lock的情况分析
- RAC的理解
RAC的理解
26-03-03 - 如何做一份完善的补丁分析
如何做一份完善的补丁分析
26-03-03 - Maya建模教程:人头建模的详细教程
Maya建模教程:人头建模的详细教程
26-03-03 - 动态抽样(Dynamic Sampling)
动态抽样(Dynamic Sampling)
26-03-03 - rman异机恢复中遇到ora-01157(转储文件无法识别问题)
rman异机恢复中遇到ora-01157(转储文件无法识别问题)
26-03-03 - 模拟enq: TX – allocate ITL entry以及数据块dump文件分析
- ORA-32004: obsolete and/or deprecated parameter(s) specified
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明
- Maya建模教程:打造超级英雄钢铁侠
Maya建模教程:打造超级英雄钢铁侠
26-03-03
