如何移动oracle数据库文件移动文件的位置

15537人阅读
数据库间的数据迁移(32)
Oracle数据库基本管理(336)
oracle备份与恢复(26)
&&&&&&在数据库运行、管理、维护维优过程中,有可能会碰到需要移动数据文件到其他硬盘或目录的情况。
&&&&&& 删除或移动数据文件,都不像在操作系统中使用rm或cp命令那么简单。如果只是简单的rm或cp数据文件,
&&&&&& 那么数据库运行时会因为找不到正确的数据文件位置而报错。这是因为数据文件的位置和信息都被记录
&&&&&& 在控制文件中,rm或cp命令是不会也不可能更改控制文件记录的,这时必须通过alter操作去更改刷新数
&&&&&& 据库控制文件中数据文件的相关信息,以此确保数据库能够正常运行。
&&&&&&&&&& 以下将介绍两种方法更改数据文件的位置,更改数据文件位置前,建议暂停所有针对此数据文件的数
&&&&&& 据操作。&&
(一) 方法一:offline表空间
**************************************************************
* 主要步骤:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *
* 1、offline表空间:alter tablespace tablespace_*
* 2、复制数据文件到新的目录;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *
* 3、rename修改表空间,并修改控制文件;&&&&&&&&&&&&&&&&&&&&& *
* 4、online表空间;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *
**************************************************************
以更改表空间zerone的数据文件/opt/oracle/oradata/ZERONE01.DBF的位置为例
1、offline表空间zerone,使表空间zerone离线
&& ----------------------------------------
SQL& alter table
表空间已更改。
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 tabl
表空间已更改。
SQL& select name from v$
--------------------------------------------------------------------------------
/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、关闭数据库
&& ---------------------------
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
2、复制数据文件到新的位置;
&& ---------------------------
&& 同方法一
3、启动数据库到mount状态;
&& ----------------------------
SQL& startup mount
ORACLE 例程已经启动。
Total System Global Area
Fixed Size&&&&&&&&&&&&&&&&& 1247900 bytes
Variable Size&&&&&&&&&&&&&
Database Buffers&&&&&&&&&&
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& select name from v$
--------------------------------------------------------------------------------
/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='数据文件全路径';
临时数据文件 更改路径&& 谷歌
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2925102次
积分:27492
积分:27492
排名:第163名
原创:355篇
转载:1189篇
评论:73条
(2)(1)(12)(3)(25)(37)(9)(32)(19)(7)(5)(11)(26)(37)(29)(76)(26)(19)(41)(63)(76)(32)(33)(88)(41)(16)(25)(37)(73)(63)(92)(75)(120)(159)(55)(67)(13)(1)Oracle更改数据库实例存放的位置? - 推酷
Oracle更改数据库实例存放的位置?
在安装oracle数据库的时候,一般就把
给创建了。当使用Database Configuration Assistant工具创建另外一个数据库的时候,一般数据库默认的数据路径放在oracle安装路径下面(例如:C:\oracle\oradata)。为了提高数据库的性能,一般oracle的主目录和数据文件要分别放在不同的盘中。而且系统C盘很容易崩溃,且空间小,不小心数据将随系统的崩溃而消失,那样损失将是无法估量的。一般用Database Configuration Assistant工具创建数据库时并不提示你修改路径。而且这个修改的路径也不容易找到。
本人是在Database Configuration Assistant工具创建完数据库后修改它的存放路径的。具体方法如下:假设这里安装的数据库名是XLJC。
1:找到数据库XLJC下面的文件pfile,在pfile中用文本编辑器打开orit.ora文件。这里的路径是C:\oracle\admin\XLJC\pfile
找到行control_files=( &c:\oracle\oradata\XLJC\control01.ctl &, &c:\oracle\oradata\XLJC\control02.ctl &, &c:\oracle\oradata\XLJC\control03.ctl &)
将盘符c:变成你所要存放的盘符,比如d:,然后保存退出。
2:找到oracle数据默认的存放路径,例如这里是:
C:\oracle\oradata\XLJC
在d:盘下面建立同样的目录,例如d:\oracle\oradata。然后把整个XLJC文件夹复制到所建立的目录下即可。(C:\oracle\oradata\XLJC目录下存有有数据库的控制文件,创建表空间的时候,表空间文件就和这些控制文件在同一目录下)。
然后就可以打开oracle数据库平台在你修改后的路径下创建表空间了。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致在Oracle数据库中移动数据文件的具体方法
一.移动数据文件:
– 可以用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;
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'您所在的位置: &
Oracle移动数据文件的方法
Oracle移动数据文件的方法
oracle中如何移动控制文件呢?下文为您介绍的是在unix或linux环境中移动数据文件的实现方法,希望对您能有所帮助。
下面为您介绍的两种移动数据文件方法适用于在在unix或linux环境中的联机状态和脱机状态,如果您感兴趣的话,不妨一看。
Oracle移动数据文件:
ALTER TABLESPACE方法(联机状态):
用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。
$&sqlplus&'/as&sysdba'&
#把需要移动的数据文件对应的表空间offline
SQL&alter&tablespace&ipas_acct_data&offline&
#把数据文件cp到想要放的目录下。
SQL&!mv&/opt/oracle/wacosdata/ipas_acct_data001.dbf&/opt/oracle/nms/oradata/ipas_acct_data001.dbf&
#修改表空间中数据库文件的位置。
SQL&alter&tablespace&ipas_acct_data&rename&datafile&'/opt/oracle/wacosdata/ipas_acct_data001.dbf'&to&'/opt/oracle/nms/oradata/ipas_acct_data001.dbf'&
#把表空间online。
SQL&alter&tablespace&ipas_acct_data&online&
#查看修改结果。
SQL&select&file_name&from&dba_data_files&where&tablespace_name&=&'IPAS_ACCT_DATA';&
ALTER DATABASE方法(脱机状态):
用此方法,可以移动任何表空间的数据文件。
$&sqlplus&'/as&sysdba' &SQL&shutdown&immediate &SQL&!mv&/opt/oracle/oradata/wacos002.dbf&/ora10g/oradata/wacos002.dbf &SQL&startup&mount &SQL&alter&database&rename&file&'/opt/oracle/oradata/wacos002.dbf'&to&'/ora10g/oradata/wacos002.dbf'; &SQL&alter&database& &SQL&set&head&off &SQL&SELECT&file_name&from&dba_data_files&where&tablespace_name&=&'WACOS';&
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
MariaDB是一个向后兼容、替代MySQL的数据库服务器。它包含所有主
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
MySQL集群由三部分组成,管理节点、存储节点和SQL节点
MySQL字符串的处理,也就是对于MySQL字符集的处理。主
国产数据库,顾名思义就是中国公司自行开发的数据库产
本书是一本介绍当前主流计算机网络应用技术的工具图书,全面总结了当前最主流、最基础的计算机网络应用,包括局域网和互联网应用
51CTO旗下网站

我要回帖

更多关于 oracle的监听文件位置 的文章

 

随机推荐