12cデータベースの場合、これを解決した方法は次のとおりです。
1使用中の接続数を制御する
PDBにログイン
sqlplus <username>/<pswd>@<hostname>:1521/<ServiceName>
接続数を確認する
SELECT
'Currently, '
|| (SELECT COUNT(*) FROM V$SESSION)
|| ' out of '
|| VP.VALUE
|| ' connections are used.' AS USAGE_MESSAGE
FROM
V$PARAMETER VP
WHERE
VP.NAME = 'sessions'
「現在、m 個の接続のうち n 個が使用されています」と表示されます。ここで n > m です。それは反対であるべきです。
2セッションの最大数を変更する
PDBにsysとしてログインします
quit
sqlplus / as sysdba
alter session set container = PDB1;
セッション数の変更
alter system set sessions=100 scope=both sid='*';
3データベースをバウンスする
SQL> shutdown immediate
SQL> startup
すべての PDB を開きます (バウンスによって閉じられます)
ALTER PLUGGABLE DATABASE ALL OPEN;
4再制御
sqlplus <username>/<pswd>@<hostname>:1521/<ServiceName>
コントロール SQL クエリを実行する
SELECT
'Currently, '
|| (SELECT COUNT(*) FROM V$SESSION)
|| ' out of '
|| VP.VALUE
|| ' connections are used.' AS USAGE_MESSAGE
FROM
V$PARAMETER VP
WHERE
VP.NAME = 'sessions'
「現在、m 個の接続のうち n 個が使用されています」と表示されます。n < m になりました。