oracle19cPDB数据库连不上,提示ORA-01109: database not open
今天尝试创建了一个RAC环境的PDB数据库,在本地执行alter pluggable database pdb01 open 成功了,但是使用上去了plus连接还是连接不上,提示错误如下:
C:\Users\Administrator>sqlplus system/oracle@192.168.1.25:1521/pdb01
SQL*Plus: Release 19.0.0.0.0 - Production on 星期日 11月 19 08:39:09 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
ERROR:
ORA-01109: database not open
依次检查配置:
1.手工启动pdb数据库
[oracle@mesdb01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 19 10:25:39 2023
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED
SQL> alter pluggable database pdb01 open;
Pluggable database altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
SQL>
2.在Oracle用户下的tnsnames.ora文件添加了监听:
[oracle@mesdb01 ~]$ cd $ORACLE_HOME/network/admin
[oracle@mesdb01 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/product/19.0.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
MESDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mesdb-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = mesdb)
)
)
pdb01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(HOST = mesdb-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb01)
)
)
[oracle@mesdb01 admin]$
3.重启grid用户下的监听
[oracle@mesdb01 admin]$ exit
logout
[root@mesdb01 ~]# su - grid
Last login: Sun Nov 19 10:18:31 CST 2023
[grid@mesdb01 ~]$ lsnrctl stop
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-NOV-2023 10:30:30
Copyright (c) 1991, 2022, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
The command completed successfully
[grid@mesdb01 ~]$ lsnrctl start
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-NOV-2023 10:30:34
Copyright (c) 1991, 2022, Oracle. All rights reserved.
Starting /grid/crs_home/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /grid/crs_home/network/admin/listener.ora
Log messages written to /grid/crs_base/diag/tnslsnr/mesdb01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 19-NOV-2023 10:30:34
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /grid/crs_home/network/admin/listener.ora
Listener Log File /grid/crs_base/diag/tnslsnr/mesdb01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
The listener supports no services
The command completed successfully
[grid@mesdb01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-NOV-2023 10:30:38
Copyright (c) 1991, 2022, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 19-NOV-2023 10:30:34
Uptime 0 days 0 hr. 0 min. 4 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /grid/crs_home/network/admin/listener.ora
Listener Log File /grid/crs_base/diag/tnslsnr/mesdb01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.21)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.23)(PORT=1521)))
Services Summary...
Service "0a5aa414b738a716e0631601a8c05401" has 1 instance(s).
Instance "mesdb1", status READY, has 1 handler(s) for this service...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).
Instance "mesdb1", status READY, has 1 handler(s) for this service...
Service "mesdb" has 1 instance(s).
Instance "mesdb1", status READY, has 1 handler(s) for this service...
Service "mesdbXDB" has 1 instance(s).
Instance "mesdb1", status READY, has 1 handler(s) for this service...
Service "pdb01" has 1 instance(s).
Instance "mesdb1", status READY, has 1 handler(s) for this service...
The command completed successfully
[grid@mesdb01 ~]$
发现问题依然存在,后来发现问题所在,下面这条指令需要在两个节点都执行一遍。但是我以为只需要在其中一个节点执行就可以了,所以只有有一个节点启动成功了,但我连接时候是连接到了另一个节点,因此提示失败。
检查如下:
节点一
[root@mesdb01 ~]# su - oracle
Last login: Sun Nov 19 10:25:31 CST 2023 on pts/0
[oracle@mesdb01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 19 10:38:50 2023
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
SQL>
节点二:
[root@mesdb02 ~]# su - oracle
Last login: Sun Nov 19 10:18:49 CST 2023
[oracle@mesdb02 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 19 10:36:48 2023
Version 19.15.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED
SQL>
在两个节点都执行上述操作后OK!
C:\Users\Administrator>sqlplus system/oracle@192.168.1.25:1521/pdb01
SQL*Plus: Release 19.0.0.0.0 - Production on 星期日 11月 19 10:30:42 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
上次成功登录时间: 星期日 11月 19 2023 09:16:00 +08:00
连接到:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0
SQL>
低级错误!
oracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not openoracle19cPDB数据库连不上,提示ORA-01109: database not open