【问题标题】:sqlplus :: ORA-01078: failure in processing system parameterssqlplus :: ORA-01078: 处理系统参数失败
【发布时间】:2020-08-30 08:04:10
【问题描述】:

我今天安装了全新的 Oracle 19c Docker 映像。

如果我运行 sqlplus / as sysdba 我可以成功登录,但是当我运行 SELECT * FROM all_users; SQL 时说:

SELECT * FROM all_users
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

很好,我必须启动数据库,所以我运行 startup 但我收到:

ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/19c/dbhome_1/dbs/initorclcd.ora'

那么让我们检查一下进程是否与ps aux | grep pmon 一起工作:

oracle      22  0.0  0.2 2028516 66372 ?       Ss   21:52   0:00 ora_pmon_ORCLCDB
oracle    2421  0.0  0.0   9112   852 pts/1    S+   22:47   0:00 grep --color=auto pmon

对我来说一切都很好。

我哪里错了?

【问题讨论】:

  • 检查数据库警报日志。它应该有更详细的错误信息,尽管看起来数据库没有正确启动。确保 initorclcd.ora 文件位于应分配正确权限的位置,并且 oracle 操作系统用户可以访问它。

标签: oracle docker oracle19c


【解决方案1】:

您的 Oracle 数据库称为 ORCLLCDB(基于 PMON 进程)。

但是当你尝试启动它时,它引用了一个名为:initorclcd.ora 的 init.ora 文件,这意味着它正在寻找一个名为“orclcd”的数据库。

我认为您在设置 ORACLE_SID 变量时可能有错字。看起来你缺少一个尾随的“B”

  1. 让我们看看你现在有什么:echo $ORACLE_SID
  2. 设置正确的ORACLE_SID:export ORACLE_SID="ORCLCDB"
  3. 通过添加用户的 .bashrc 使其永久化:echo "export ORACLE_SID" >> ~/.bashrc

现在运行sqlplus,一切都会好起来的

【讨论】:

  • 错别字总是最难追查的 :-)
  • @FrancescoMantovani 至于您上次的编辑。我想你忘了设置环境:export ORACLE_SID=ORCLCDB; . oraenv.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多