返回首页
当前位置: 主页 > 网络编程 > Jsp实例教程 >

Oracle整库文件迁移步骤详解教程

时间:2012-06-09 16:14来源:知行网www.zhixing123.cn 编辑:麦田守望者

oracle双机发生切换,客户端也连接不上,原因未知,从主机上看是虚拟内存不够,整机都是在跑oracle,看情形应该从oracle上找原因。

远程连接过去之后,从alter<sid>.log发现由于磁盘空间不足,导致无法响应,必须切换到备机。

我想磁盘不足,一般都是清理下归档就行了,现在的应用一般把归档占用的很大,记得及时备份和删除就行了。

用df看了就有点愣住了,机子上有3个共享盘,分别是/oracle,/oradata,/orarc

有问题的是/oracle,已经94%了,只能把它干掉一部分内容才行,其他2个的空间还非常多。

/oracle下面主要有admin,记录3个实例的数据,按说也没有这么大量的数据(有20G空间),只好通过du -s查看确认下。

搞鬼的地方出来了,竟然在/oracle/下面还有一个oradata目录,然后有人把库建立到/oracle/oradata下面了。

很显然是放错地方了,调整一下就Ok

剩下的就简单了,很多人都做过这种操作,先和客户沟通把数据库shutdown,再通过alter database更改控制文件就行。

具体过程记录如下:
$env | grep ORACLE_SID (由于有3个实例,确认下操作对象)

$sqlplus “/as sysdba”
 

 

 

--准备一份新的pfile启动文件SQL> create pfile from spfile; --主要是修改控制文件的启动位置SQL> host vi $ORACLE_HOME/dbs/init<SID>.ora --删除原来的启动spfile文件SQL> host mv $ORACLE_HOME/dbs/spfile<SID>.ora $ORACLE_HOME/dbs/spfile<SID>.bak SQL> shutdown immediate--... 耐心等待 ... --拷贝所有数据文件,作为一个冷备份SQL> host cp /oracle/oradata/sid/* /oradata/sid/ --默认会用新的pfile启动,就是刚才编辑的$ORACLE_HOME/dbs/init<SID>.ora--启动到mount状态SQL> startup mount --用select name from v$datafile 查看所有的数据文件--用select name from v$tempfile 查看临时文件--用select member from v$logfile 查看日志文件--依次操作所有文件,比如system,sysaux...SQL> alter database rename file '/oracle/oradata/sid/system01.dbf' to '/oradata/sid/system01.dbf'; --正常open数据库SQL> alter database open --建立启动的spfile文件SQL> create spfile from pfile; sql> exit

启动后,测试业务正常。把占地方的/oracle/oradata找个空地放着,防止后期还有故障还能回退。

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):数据库 Oracle Oracle数据库
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片