1

我今天安装了全新的 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

在我看来一切都很好。

我哪里错了?

4

1 回答 1

2

您的 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,一切都会好起来的

于 2020-05-14T03:18:09.960 回答