这个错误表明数据库还没有被挂载。在Oracle数据库中,数据库必须先被挂载,然后才能被打开。下面是一系列步骤来解决这个问题:

1. 启动到NOMOUNT状态

如果数据库实例还没有启动,首先启动到NOMOUNT状态。

sqlplus sys/[Your_Password] as sysdba STARTUP NOMOUNT;

2. 挂载数据库

接下来,挂载数据库:

ALTER DATABASE MOUNT;

3. 打开数据库

最后,打开数据库:

ALTER DATABASE OPEN;

4. 打开PDBs

然后您可能想打开所有或特定的PDB:

ALTER PLUGGABLE DATABASE ALL OPEN;

或者

ALTER PLUGGABLE DATABASE [PDB_NAME] OPEN;

5. 重新执行查询

现在,您应该可以成功执行之前失败的查询了:

SELECT NAME, OPEN_MODE FROM V$DATABASE;

SELECT PDB_NAME, STATUS FROM DBA_PDBS;

注意

  • 在执行以上步骤时,请确保您具有相应的数据库管理员权限。
  • 如果您在一个RAC(Real Application Clusters)环境中,请确保这些操作是在所有相关节点上完成的。

通过这一系列的步骤,我们能够从NOMOUNT状态开始,逐步挂载和打开数据库,最终使其可以接受查询和其他操作。这对于数据库的日常维护和管理至关重要。希望这篇文章能够帮助您解决数据库挂载和打开的相关问题。如果您有其他疑问或需要更多信息,留言。