安装之前先删除系统环境变量中的oracle_home等配置(如果存在的话);
如果安装后出现Web管理界面不能访问或者数据库不能连接的情况,卸载再多安装几次可能就正常了。
状态不正常时,可以使用 D:\oraclexe\app\oracle\product\11.2.0\server\bin\lsnrctl.exe status 查看服务状态。
安装开始之后,各种选择、设置结束之后,正式开始安装之前,有个总结的界面,界面里的内容最好复制下来保存到一个文件中,类似如下的内容:
目标文件夹: D:\oraclexe\
Oracle 主目录: D:\oraclexe\app\oracle\product\11.2.0\server\
Oracle 基目录:D:\oraclexe\
'Oracle 数据库监听程序' 的端口: 1521
'Oracle Services for Microsoft Transaction Server' 的端口: 2030
'Oracle HTTP 监听程序' 的端口: 8080
注意!!!最好把安装开始之前输入的密码也保存到这个文件中,备忘!(因为重装系统之后的覆盖安装法还是会使用本次安装的SYS密码)
在这个界面先不要点“开始安装”,到 %USERPROFILE%\AppData\Local\Temp\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 目录中找到一个名为 “OracleMTSRecoveryService.reg” 的文件,复制一份并改名为 “KEY_XE.reg”,如果不这样操作,在安装过程中会报错,说“安装程序无法实例化...... KEY_XE.reg ... 文件似乎不存在。”
如果重装系统,装完之后需要重装oraclexe,可以采用覆盖法还原旧数据库:先修改这个目录名(如oraclexe_old),再把新安装的还装到D:\oraclexe这个目录名,装完之后停止oracle相关服务,然后删除oraclexe这个目录,并把刚才改名的oraclexe_old改回oraclexe,然后启动相关服务就可以正常访问oraclexe了。如果监听服务不能正常启动,一般是启动后立即停止,这种情况检查D:\OracleXE\app\oracle\product\11.2.0\server\network\ADMIN\listener.ora中的计算机名是否正确,修正即可。(这种方法处理之后,新安装时输入的SYS密码无效,还是之前旧版数据库的SYS密码)
使用 “入门” Web 管理界面中的 Application Express 添加的用户,也可以正常连接OracleXE,但是权限不多,而且自动添加了一堆表,要创建用户还是使用相关GUI管理工具创建,或者手动写类似如果 SQL:
CREATE USER "RANGEON" IDENTIFIED BY "666666" ACCOUNT UNLOCK DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" PROFILE "DEFAULT"; GRANT "DBA" TO "RANGEON"; ALTER USER "RANGEON" DEFAULT ROLE "DBA";
ALTER USER "RANGEON" QUOTA UNLIMITED ON "USERS";
以上代码直接给用户赋予DBA权限,在本机测试环境中可以这样设置,在实际生产环境中对于一般的用户,只赋予CONNECT、RESOURCE、CREATE ANY VIEW或TABLE 这几个权限即可。
千万注意一点:不论用GUI工具还是SQL创建用户,用户名一定要大写!否则无法登录,会提示用户/密码不正确。用大写创建的用户,反而使用大小写都能登录,奇葩!
Web管理界面不能访问或者数据库不能连接的情况,可以考虑修改 D:\OracleXE\app\oracle\product\11.2.0\server\network\ADMIN 中的 listener.ora 和 tnsnames.ora,将其中的计算机名改为localhost。
“找不到文件‘http:/127.0.0.1:%HTTPPORT%/apex/f?p=4950’,请确定文件名是否正确......” 这个错误可以修改 D:\oraclexe\app\oracle\product\11.2.0\server 中对应的 Get_Started.url 文件属性,把 URL 一栏中的地址端口号修改为 8081,应用,然后再改回 8080,应用,即可正常打开了。(也有人说重启脑也行,未测试)