Initial installation of Oracle 12.2 RAC database.
Log in to the 1th node in the RAC database
$ sqlplus'/as sysdba'SQL> SelectName,open_mode fromv$pdbs;name Open_mode------------------------------ ----------Pdb$seedREAD onlydb12pdb1 mounteddb12pdb2 mountedplug_test mounted open PD B (plug_test) SQL> AlterPluggableDatabasePlug_testOpen; PluggableDatabasealtered. SQL> SelectName,open_mode fromv$pdbs;name Open_mode------------------------------ ----------Pdb$seedREAD onlydb12pdb1 mounteddb12pdb2 mountedplug_testREADWritesql>
Try to connect the PDB via scan IP (plug_test), sometimes log in to the database plug_test, but sometimes you will not be able to log in and report the following error:
$ sqlplus Robert/Robert@plug_testSQL*Plus:release12.2.0.1.0Production onThu APR - +:Geneva: - .Copyright (c)1982, ., Oracle. Allrights reserved. Error:ora-01033: ORACLE Initializationor shutdown inchprogressprocess ID:0Session ID:0Serial Number:0EnterUser-Name:ERROR:ORA-01017: Invalid username/password; logon DeniedenterUser-Name:ERROR:ORA-01017: Invalid username/password; logon deniedSP2-0157: unable toCONNECT toORACLE after3Attempts, exiting SQL*Plus
The confusion begins here. I don't know why I can log in sometimes, and sometimes I can't log in.
Log in to the second node to view the PDB status:
SQL>Select from v$pdbs;name open_mode------------------- ---------------------pdb$seed READonlydb12pdb1 mounteddb12pdb2 Mountedplug_test mountedsql>
As can be seen from here, on the second node, the instance plug_test is in the mounted state
View Gv$pdbs:
Sql> SelectInst_id,name,open_mode fromGv$pdbs; inst_id NAME Open_mode---------- ------------------------------ ---------- 1Pdb$seedREAD only 1DB12PDB1 Mounted1DB12PDB2 Mounted1Plug_testREADWRITE2Pdb$seedREAD only 2DB12PDB1 Mounted2DB12PDB2 Mounted2Plug_test Mounted8rows selected. SQL>
As you can see, the above problem arises because the PDB (Plug_test) instance is turned on only in Node 1. When the PDB is connected through the scan IP, the scan IP will be routed randomly, and if it is routed to the second node, an error will not be connected.
To verify this problem, a test step has been added. Directly through the VIP connection of Node 1, you will not report the above error.
By looking at the ALTER pluggable database syntax, you can see that when you use this command, you also specify the parameter instances. If not added, the default is the local instance.
So, start the Plug_test instance from the second node.
Alter Database Open Instances=('db12c2');
If you want to start all instances, you can use the command:
SQL>alterdatabaseClose instances=all;
Or
SQL>alterdatabaseOPEN instances=('db12c1 ','db12c2');
12C--ora-01033:oracle initialization or shutdown in progress