我们知道如果是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就可以自动启动了。