我在 Windows Server 2008 64 位计算机上安装 Oracle XE 10g 时遇到问题。
安装后,连接到数据库管理页面http://127.0.0.1:8080/apex失败。
如果我运行,sqlplus / as sysdba
就会出现错误ORA-12560: TNS:protocol adapter error
。
查看服务,我可以看到 OracleServiceXE 未启动(即使启动类型是自动)。
我重新启动服务并重新运行
c:\>sqlplus / as sysdba
(...)
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file 'C:\oraclexe\app\oracle\product\10.2.0\server\dbs/spfileXE.ora'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.
是否可以以某种方式重新创建该文件?我已经尝试卸载并重新安装,但得到了完全相同的结果。
答案1
我假设您在某处有一个 pfile?要么在查找问题中的 spfile 的目录中,要么在 admin\pfile 目录中。无论如何,请尝试:
sqlplus / as sysdba
create spfile from pfile='<location of pfile>'
startup
那就可以了。
编辑:
您可以随时通过这种方式来回切换 spfile 和 pfile。最好对您的 spfile 进行文本文件备份,因为您无法直接编辑 spfile(只能在数据库安装后更改它):
create pfile='<pfile location>' from spfile;
spfile 使您能够在数据库打开时更改动态参数而无需重新启动数据库,并使这些参数在数据库重新启动后保持永久不变:
alter system set open_cursors=new limit scope=both
这会使正在运行的数据库以及 spfile 发生更改,并使其在数据库重启后生效。
使用旧的 pfile 范例,您必须手动编辑 pfile 才能使更改在重新启动后生效。此外,您可以在数据库启动时修改 spfile 中需要重新启动数据库的参数,以便在下次重新启动时生效:
alter system set sga_max_size=new_sga_max scope=spfile
该参数不能修改正在运行的实例,但是可以让它下次重启时生效。
答案2
在我的工作站上,我必须右键单击安装程序>以管理员身份执行才能解决问题。
答案3
在 Windows 8.1 中以本地计算机管理员的域用户身份安装 Oracle 11R2 XE 后,我遇到了同样的问题。在我以本地管理员身份重新安装 Oracle 后(不记得在哪里读到过这个提示),问题解决了。
答案4
我也遇到过这个错误。安装 Oracle XE 时,我将 ORACLE_HOME 环境变量设置为安装 FMW 的某个文件夹。我做了以下两件事,问题就解决了:1. 卸载 Oracle XE 2. 删除 ORACLE_HOME 环境变量 3. 以管理员身份安装 Oracle XE。右键单击 setup.exe 并选择以管理员身份运行。