Windows C盘格式化或者同平台迁移oracle数据库

  我们知道如果是Linux 同平台迁移oracle数据库。只要是安全关闭了数据库,在新机器上创建用户组,配置了环境变量,将数据库安装目录拷贝到对应的目录就好用了。

一直在寻求Windows平台上这类的解决方案。

  此次C盘格式化了,系统重装了,想借此机会试验下。百度了下之前有人这么做过,又是修改注册表,又是设置一堆变量的但是感觉有些繁琐。于是想到了Linux上的一些配置。开始在window上实验寻求最少依赖。

  1.添加ORACLE_HOME

  2.添加path路径 %ORACLE_HOME%BIN

  3.设置ORACLE_SID

     4.添加用户组ORA_DBA,将Administrator和system添加到ORA_DBA

5.用sqlpus 试试

6.默认可以用操作系统验证的呀

# sqlnet.ora Network Configuration File: D:OracleBaseproduct11.2.0dbhome_1
etworkadminsqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

7.找到之前的服务,查看启动了哪些应用

8.在命令行执行该语句

9.另起一个命令行窗口,重新运行SQLplus

10.至此数据库启动可用了。

11.想想每次这样启动比较麻烦,想着将起变成服务,于是就想到了oradim 命令

oradim -NEW -SID ZEN -STARTMODE manual -SPFILE
Instance created.
DIM-00019: create service error
O/S-Error: (OS 2) The system cannot find the file specified.

Resulting service executable path is:
orantinORACLE.EXE SYNCDB

在cmd 窗口下设置了ORACLE_HOME,ORALCE_SID 不起作用?

尝试过好多次,没办法,还是报这个错。

12.换一种服务的注册方式?使用SC试试看

注册成功了,启动服务也没报错,用sqlplus 链接试试?

这会儿好像相差的更远了。

13.转念一想,是不是注册表中指定的变量和环境变量设置的不一样?

于是在注册表中添加oraclehome

重新运行 oradim,这会儿没有报错

14.查看服务创建好了,路径也是对的

15.启动服务试试,仍旧没有启动实例

16.重新创建一个实例来对比,发现是注册表中ORA_ZEN_AUTOSTART的值设置的有差异。

将其设置为true就可以自动启动了。

原文地址:https://www.cnblogs.com/Alex-Zeng/p/5102477.html