Oracleエラー調査

# はじめに
今まで発生したエラーはここで整理

# 発生エラー

## Oracle接続失敗[ORA-12518/ORA-00020]
対応時のポイント

```sql:oraora_zombie.sql
-- 表示幅調整
SQL> show LINESIZE
SQL> SET PAGESIZE 2000
     SET LINESIZE 200
     SET LONGCHUNKSIZE 200
     SET LONG 10000

-- 現在使用中のプロセス数と最大数を確認
SQL> COL RESOURCE_NAME FOR A20
     COL INITIAL_ALLOCATION FOR A18
     COL LIMIT_VALUE FOR A11
SQL> select * from v$resource_limit
       where resource_name in ('processes','sessions');

-- 接続別セッション数確認
SQL> SELECT SERVER, COUNT(*) FROM V$SESSION GROUP BY SERVER;

-- 接続元情報取得
SQL> COL PROGRAM FOR A35
     COL USERNAME FOR A10
     COL OSUSER FOR A10
     COL MACHINE FOR A15
     COL PROCESS FOR A7
     COL EVENT FOR A90
     COL SPID FOR A5
SQL> SELECT
       S.PROGRAM,
       S.USERNAME,
       S.OSUSER,
       S.MACHINE,
       S.PROCESS,
       P.SPID,
       S.EVENT
     FROM
      V$PROCESS P
      JOIN V$SESSION S
      ON P.ADDR = S.PADDR
     ORDER BY
      S.PROGRAM,
      S.MACHINE,
      S.PROCESS;
     WHERE
      S.MACHINE <> '1395a06f5a6a'

```
### 参考サイト
◆「ORA-00020: 最大プロセス数(150)を超えました」が発生した場合の調査方法
　https://www.yamacho-blog.com/2018/02/ora-00020.html
◆Oracleに負荷をかけているプログラムを探す
　https://www.yamacoco.com/program/oracle-load-check/
◆[Oracle] 終了したはずのユーザー・プロセスがOS上に残り続ける．．．
　https://ameblo.jp/archive-redo-blog/entry-10150676111.html
◆4.9.5.3 Windows アプリケーションが閉じない
　https://docs.oracle.com/cd/E41492_01/E41727/html/troubleshoot-apps.html#app-session-not-exit-win-apps
◆Oracle 共有サーバ接続関連
　https://qiita.com/sowd/items/a7e1a83c746d5f3b0c66
　　※役立つコマンドたくさん...
◆データベース管理者ガイド - 5 プロセスの管理
　https://docs.oracle.com/cd/E82638_01/admin/managing-processes.html#GUID-9B3A136E-D275-417B-B6F4-59A45D42655F
◆4.9.5.3 Windows アプリケーションが閉じない
　https://docs.oracle.com/cd/E41492_01/E41727/html/troubleshoot-apps.html#app-session-not-exit-win-apps
◆Oracle JDBC Drivers README
　https://docs.oracle.com/cd/E57425_01/121/READM/jdbc_readme.htm
◆8.116 V$PROCESS
　https://docs.oracle.com/cd/E57425_01/121/REFRN/GUID-BBE32620-1043-4345-9448-51DB21547FEB.htm
◆9.16 V$SESSION
　https://docs.oracle.com/cd/E57425_01/121/REFRN/GUID-28E2DC75-E157-4C0A-94AB-117C205789B9.htm


## Oracleに接続できない[ORA-01034/ORA-12514]
対応時のポイント

```sql:oraora_startup.sql

-- リスナー状態確認
> lsnrctl status

-- リスナー起動
> lsnrctl start

-- Oracleインスタンス起動
> sqlplus /nolog
SQL> conn / as sysdba
SQL> startup

```
### 参考サイト
◆Oracleに接続する際の忘備録
　https://qiita.com/Fernand/items/7bad8c68ceb561a03586


## Oracleの認証失敗!?[ORA-12638]
### 参考サイト
◆データベース(オラクル)に接続できない時の確認項目
　http://infra29.hatenablog.com/entry/2017/04/01/235404
　　※意外とこのサイトにある下記なんじゃないかと
　あと以前ハマったのは、「ORA-12638: 資格証明の取出しに失敗しました 」のエラー。クライアント側とサーバ側のドメインが違ったので、認証で失敗していたらしい。
　認証系の設定ファイルとして、クライアントに「sqlnet.ora」があるのだが、osでも認証しているのでドメイン違いにより認証が失敗していたらしい。
　なので、内容の「SQLNET.AUTHENTICATION_SERVICES=(NTS)」を「=(NONE)」にするか、コメントアウトする。
　これでOS側の認証機能は使わないけれども、oracle側が結局IDとPASSの認証はやっているので問題ない。


## Oracleパスワード関連エラー[ORA-01017/ORA-28001]
以前まとめた下記参照
◆【Solved】Oracleパスワード関連でORA-01017エラー発生
　https://qiita.com/wakasama_pcmaster/items/62851bb18aa09ea4cfd7


# 調査用参考サイト
◆Oracle Databaseで接続障害が発生した際の調査手法
　https://www.ashisuto.co.jp/tech-note/article/20150626_oracle.html
　　※ここが一番切り分けしやすいか!?

◆必ずつながる！ 接続時トラブル虎の巻 (1/5)
　https://www.atmarkit.co.jp/ait/articles/0906/15/news095.html
　　※ここもよいが。。。

◆Oracle DB Tips | 技術情報 | 株式会社コーソル
　https://cosol.jp/knowledge/knowledge_category/oracle-db-tips/
　　※すごい詳しく書いてある

◆10 Windowsでの外部ユーザーおよびロールの管理
　https://docs.oracle.com/cd/E16338_01/win.112/b58885/external.htm
　　※Oracleのサイトは一応見ておかないと

◆10 Windows環境におけるデータベース・ユーザーの認証
　https://docs.oracle.com/cd/E57425_01/121/NTQRF/authen.htm