这个操作说实话没什么实际意义,就当写个笔记吧。
一般意义上我们移动数据库都是移动的database本身,也就是控制文件记录的那些文件,而非数据库管理系统rdbms,也就是数据库软件。之前也没做过Windows环境下数据库软件的移动,也没遇到过这种需求。
在前几天的时候被项目上的同事问起Windows要更换磁盘,涉及数据库的移动,我才想到做这个测试。
在空闲时间做了以下实验,证明了在Windows环境下移动app目录也是可行的。
实验环境数据库软件安装在c:/app,版本为11.2.0.4,未加载psu,目标将其移动至d:/app目录。
第一步,停止oracle相关的服务。
https://www.cndba.cn/hehdba/article/3994https://www.cndba.cn/hehdba/article/3994https://www.cndba.cn/hehdba/article/3994
https://www.cndba.cn/hehdba/article/3994https://www.cndba.cn/hehdba/article/3994https://www.cndba.cn/hehdba/article/3994
第二步,修改注册表
1.HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services
该目录下以oracle开头的都需要更改
注意要把参数看全,比如下面这个地方里面就是这个样子的,有两个盘符信息D:/app/xc/product/11.2.0/dbhome_1/bin/OraClrAgnt.exe agent_sid=CLRExtProc max_dispatchers=2 tcp_dispatchers=0 max_task_threads=6 max_sessions=25 ENVS=/”EXTPROC_DLLS=ONLY:D:/app/xc/product/11.2.0/dbhome_1/bin/oraclr11.dll/”
改完之后刷新服务面板,可以看到服务的属性中的目录位置已经改变了
查看注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
发现也自动进行了改变
2.HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001 /Services/Eventlog/Application下面的oracle开头的
改完之后再次确认
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application路径下的值是不是同步改变了
3.HKEY_LOCAL_MACHINE/SOFTWARE/ODBC位置下的键值也需要更改
4.HKEY_LOCAL_MACHINE/SOFTWARE/oracle下的键值,这里面键值较多,需要仔细查找修改
5.改一下oracle的启动项HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/
将这个键值改为false
改完之后启动oracle服务的时候数据库不会启动而需要执行startup命令,这样方便我们操作
第三步修改环境变量
在11.2.0.4中的安装中默认会写环境变量,不用手工去写。环境变量也只有1个就是path。
第四步,移动oracle的安装目录C:/app到D:/app,并启动服务
第五步,配置实例和数据库
创建pfile并修改启动到nomount状态
生成controlfile trace文件并修改,重新创建控制文件并添加tempfile
这个步骤就不详细写了
到此实际上数据库的实例和监听已经可以正常使用了。https://www.cndba.cn/hehdba/article/3994
版权声明:本文为博主原创文章,未经博主允许不得转载。