一个新迁移的ORACLE 19C环境数据库,业务用户登陆时报错:ERROR:ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege,检查PDB配置以及实例的状态,是有问题的:

SQL> select logins from v$instance;

LOGINS
----------
RESTRICTED
SQL> select type,status,action from pdb_plug_in_violations;

TYPE STATUS ACTION
--------- --------- --------------------------------------------------
ERROR RESOLVED Either upgrade the PDB or reload the components in
the PDB.

WARNING RESOLVED Fix the database option in the PDB or the CDB
ERROR PENDING Call datapatch to install in the PDB or the CDB
SQL> select MESSAGE from PDB_PLUG_IN_VIOLATIONS;

MESSAGE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PDB's version does not match CDB's version: PDB's version 12.1.0.2.0. CDB's version 19.0.0.0.0.
Database option RAC mismatch: PDB installed version 19.0.0.0.0. CDB installed version NULL.
19.3.0.0.0 Release_Update 1904101227: APPLY with status WITH ERRORS in the PDB

临时解决方式是给予用户restricted session权限:

SQL> grant restricted session to EWELLDATACENTER;

Grant succeeded.
DBA角色的权限中包含了此权限,所以DBA角色在此场景下可以正常登陆:
SQL> select * from role_sys_privs where role='DBA' and PRIVILEGE like '%SESSION%' ;

ROLE PRIVILEGE ADM COM INH
------------------------------ ---------------------------------------- --- --- ---
DBA ALTER SESSION NO YES YES
DBA RESTRICTED SESSION NO YES YES
DBA DEBUG CONNECT SESSION NO YES YES
DBA CREATE SESSION NO YES YES