エラー対応・サブメニュー
本ページは、Oracleデータベースに対する運用、および障害対応のための操作方法を示すインデックスを記述する
なお、本ページは、
「エラー対応 」
に関するサブ・メニュー部分である
―――――――― エラー・ログ ――――――――
【Oracleシステム・調査用ログファイル】エラーログ情報出力先
・アラート・ログファイル
・バックグラウンド・トレースファイル
・ユーザー・トレースファイル
・リスナー・ログファイル
【Oracleエラー・メッセージの出力確認】 alert_
.log
アラート・ログファイル(エラー・ログ)のファイル名と出力先ディレクトリ
アラート・ログファイル(エラー・ログ)のエラー解析方法
アラートログ・ファイルの出力先
alert.logに出てくる「undo 〜 online」は、トラブル原因ではない
トレースファイルとは
トレース・ファイルの出力先
【(バックグラウンド・プロセス)トレースファイル】
バックグラウンド・トレースファイル(エラー詳細)のファイル名と出力先ディレクトリ
バックグラウンド・トレースファイル(エラー詳細)の削除方法
ユーザー・トレース・ログファイル(パフォーマンス障害)のエラー解析方法
【その他のログファイル】の出力先
初期化パラメータ user_dump_dest、core_dump_dest、background_dump_dest
で指定されているディレクトリに出力されたファイル
(作成日時、更新日時で関連性を判断のこと)
【listener.log】
リスナー・ログファイルの出力先
リスナー・ログ
リスナー・ログファイル(クライアント接続エラー記録)の出力先ディレクトリ
リスナー・ログファイルの削除方法
【sqlnet.log】
sqlnet.logファイルの出力先
Oracleカスタマー・サポート・センターへの提出必要資料
オラクルサポートへの問合せ時に必要な情報取得ツール ADRパッケージの操作方法
自動診断レポジトリ(ADR:Automatic Diagnostic Repository)
ADRCI 障害発生時データ採取ツールの使い方
https://www.atmarkit.co.jp/ait/articles/0808/08/news143.html
ADR(Automatic Diagnostic Repository)ログ・ファイル
ADR_BASE と ADR_HOME
―――――――― システム関連 ――――――――
【Oracleシステムが立上らない時の対処方法】
一般的な障害に対する対応手順
【障害発生事例への対応】
(データベースが反応しない)
データベース起動時に
【障害が発生した表領域を切り離して、データベースをオープンする方法】
DBリカバリ領域(ディレクトリ・オブジェクト)(アーカイブログ・ファイル領域)の
論理拡張
現在実行中のトランザクションに対するロールバック処理の進捗状況確認と終了時間計算方法
インスタンス障害が発生した時のロールバック処理の進捗状況確認と終了時間計算方法
―――――――― バックアップ・リカバリ ――――――――
RMAN および、SQL/PlusでのOSユーザー認証
【トラブル対応に対する基本共通手順】
リカバリ操作が必要なファイルの一覧
リカバリ処理が必要なデータファイルの一覧とそのステータス
コントロール(制御)・ファイルを『リストア』した時のリカバリ処理の動作
コントロール・ファイルの役割とリカバリの仕組み
リカバリ・コマンドが検索するログ・ファイルの対象
コントロール・ファイルが保持している情報(データ)
バックアップとリストアの仕組みと役割
リカバリの仕組みとその動き
データベースのデータ整合性とSCN番号の関係
表領域ファイルが破損した時の復旧方法
表領域の構成物理ファイルの整合性確保時刻の表示
【不完全回復リカバリ(時刻指定)の操作方法】
ノーアカイブログ・モードでの復旧方法
データファイルリカバリ処理に必要となるRedoログファイルのSCN番号
【 リカバリ・コマンドの操作例 】
【 不完全リカバリの記述例場所 】
優先度が低い表領域のオフライン化
データベースのリカバリ処理(ユーザー・データファイル障害時)
Oracleの起動状態とリカバリ処理の対象の関係
リカバリ・コマンドが検索するログファイルの対象
制御(コントロール)ファイルが破損した時のリカバリ処理の操作
制御(コントロール)ファイルをバックアップしたバイナリ・ファイルからコピー(リストア)して復旧する方法
制御(コントロール)ファイルをトレース・ファイルから再作成する方法 完全リカバリ
制御(コントロール)ファイルをトレース・ファイルから再作成する方法 不完全リカバリ
破損したデータ・ファイル(表領域物理ファイル)を、アーカイブログから再作成する手順
表領域物理ファイルのバックアップが存在する場合
〃 存在しない場合
コントロール・ファイルの役割とリカバリの仕組
【不完全リカバリ】
RECOVERコマンドの時刻指定での不完全リカバリの実行
SYSTEM表領域に障害が発生した時のリカバリ処理
データベース・オープン時に、アーカイブログ、REDOログの適用を行わず、制御ファイルとデータベースのSCN不一致を無視して、リセットを行いデータベースを開始させる
ALTER DATABASE open resetlog;
データブロックに対してのブロック破損(データのビット・エラー)の
検査方法と回復方法
データ修復
【ブロック破損が起こった障害への復旧対応】
データベースのブロック破損検知とリカバリ・フロー
データ修復
破損したブロックは諦め、正常なブロックだけで復旧させる方法
削除してしまった表の復旧
―――――――― 運用 ――――――――
★【障害エラー原因追及・手順フロー】★
ORA-エラー発生時に、トリガーを起動し独自処理を行う
【待機イベント中プロセスの強制終了操作】
【特定ユーザーで実行されているセッションを強制終了させる方法】
時間のかかっているSQLを探し出し、負荷ネック部分を特定し解析する
ロック制御によって、ブロックされておいるセッションと行っているセッションの関係表示
デッドロックの発生確認と原因調査方法
ORA-00060 Deadlock detected
デッドロックに関するバックグラウンド・トレースファイル(エラー詳細)の見方
デッドロックの防止策と対処法
トラブル対応のための分析手順 (ポイント)
・障害内容と範囲の状況把握のためのヒアリング調査
・システム的なエラーの把握
(エラー・メッセージ調査、出力トレース・ファイル調査)
・トラブル原因詳細調査(詳細情報の取得操作の実施)
【 パフォーマンス 】タブ
サーバー・リソース(資源)の使用状況の表示(グラフ化)
・CPU負荷状況
・ページング率
・CPUの実行キューの長さ
・CPU使用セッション個数と待機セッション個数(アクティブ・セッション数)
のグラフ化表示
A)ファイル番号とブロック番号からのレコード内容を表示する方法
・ オブジェクト名の識別、オブジェクト・タイプの調査
・ 対象レコードの内容表示
・ オブジェクトが確保しているディスク領域の配置
B)ファイル番号とブロック番号の入手方法
・ 待機イベントに関するv$sessionビュー情報のP1、P2パラメータから
対象オブジェクトの特定
・ 主キーを指定してのファイル番号とブロック番号の特定
・ デッドロックが発生した原因となるファイル番号とブロック番号の特定
・ ストレージ・ハードウェア・アクセスエラーが発生したファイル番号と
ブロック番号の入手
C)オブジェクトのタイプ一覧とオブジェクト名一覧
・ オブジェクトのタイプ一覧
・ オブジェクト名一覧
D)オブジェクトが確保しているファイルのブロック位置の配置
= テーブルのレコードが書込まれているファイル番号とブロック番号
を調査する方法
E) ファイル番号に対応する表領域名と物理ファイル名
【ファイル番号とブロック番号からのレコード内容を表示する方法】
ファイル番号とブロック番号とテーブル名から、対象のデータベース・ブロックに含まれるレコードのすべての内容を出力する方法
【PGAメモリが設定値より増加する原因】と対処方法
過去時点でのレコードの値の表示
COMMIT済トランザクションの実行前状態への巻き戻しSQL文の作成
作成したユーザーがデータベースへ接続するためには、CONNECTロールが必要
【 Oracleの起動と停止手順 および、状態確認 】
UNIX/Linux版、Windows版
・環境変数の設定
・Oracleインスタンス本体
・リスナー・サービス
・OEMコンソール画面のサービス
Oracleリスナー・サービスの状態確認
【リスナー・ポートの状態確認】 P.366
【リスナー・サービス名と中継するOracleインスタンス名の確認】 P.368
oratopユーティリティによるデータベースの稼働状況をリアルタイムに表示する方法
oratopユーティリティ (UNIX限定)
TOP5待機イベント、 CPU使用時間、 PGA使用量、 実行中のSQL_ID、
待機イベント、 実行統計、 実行計画、 表領域やASMのディスク使用量
OSリソース資源の使用状況の定期的記録し、出力する方法
OSWbbツール リソース資源定期的使用状況記録保存 (UNIX限定)
OSWbbaツール リソース資源グラフ表示と分析とCSV出力変換(UNIX限定)
―――――――― インストール ――――――――
Oracleデータベースインストール時のエラー対応
クライアントからリスナーサービス(サーバー側)までの疎通テスト
tnsping サーバーIPアドレス
OSユーザー認証を使ったOracleへの接続
―――――――― 予防とチェック ――――――――
障害を検知するための死活監査用SQL文
読取りI/O待機時間の異常検知
クライアントから反応が無くなり、サーバーが通信を待ち続ける無効接続状態になった時の検知方法とその後の対応のための設定方法( D/Bサーバ?⇒APサーバ)
トラブル予防のための感知
ORA-****の検知の方法
性能劣化の検知の方法
ハングアップの検出の検知の方法
【トラブル発生を把握するためのアラート警告発行のトリガー設定】
エラー検知の仕組み
検知対象の発生事項
メトリック設定方法
・ORA-エラーの発生のアラート警告トリガー設定
・性能(レスポンス)悪化のアラート警告トリガー設定
・ハングアップの検出のアラート警告トリガー設定
【表領域の物理ファイルのデータ破壊エラー診断(dbv)の実行】
データチェック
【データファイルのOracleブロック検査】 devオフライン・ユーティリティの使用
データチェック
【オブジェクトに対するエラー調査】 analyzeコマンドの使用
データブロックの破損予防法(書込み時パリティ・チェック動作)
表や索引のブロック破損がないか検査するプロシージャ
フラッシュリカバリ領域と物理ファイルの整合性チェック
【テーブルのレコードが書込まれているファイル番号とブロック番号を調査する方法】
対象テーブルの1レコード分なら、Where条件にキー項目とその値
対象テーブルの全レコード分なら、Where条件は無し
―――――――― その他 ――――――――
OracleDBConsoleサービスの障害
OracleDBConsoleサービス (OEM画面) の再設定方法
Enterprise Manager トラブル 対応情報
Enterprise Manager トラブル 事例対応
【実行されたSQL文の内容の一覧表示】
REDOログを解析して、SQLコマンドをステートメントとして表示する
SQLエラー対処コーディング方法 (PL/SQL)
エラー発生時の例外処理 (PL/SQL)
例外エラーコード (PL/SQL)
エラー処理ルーチン(例外ハンドラ) (PL/SQL)
プロシージャやファンクションの実行時エラー情報の表示
プロシジャーやファンクションのコンパイル・エラー発生箇所の表示方法
スクリプトの中の DBMS_OUTPUT.PUT_LINE( '*****' ) ; による出力が、表示されない
→ SET SERVEROUTPUT ON; ステートメントを追加する
Windowsセキュリティ iexplorer.exe
サーバーがユーザー名とパスワードを要求しています
サーバーの報告によると、これはXDBからの要求です
クローン・データベースの作成
クローン・データベースへのデータの用意
RAC環境 FANコールアウト
他のサーバー・ホストで発生した状況変化の監視と発生イベントに対する対応方法
―――――――― エラー・コード ――――――――
エラー・コード一覧
【ORAエラーに対するCause(原因)とAction(対処法)を調べるコマンド】
【EXPエラーに対するCause(原因)とAction(対処法)を調べるコマンド】
【TNSエラーに対するCause(原因)とAction(対処法)を調べるコマンド】
【ORA-*****エラーの内容調査】
ORA-01436: ユーザー・データでCONNECT BYのループが発生しました。
ORA-00932: データ型が一致しません: -が予想されましたがCLOBです。
ORA-23413: 表 "スキーマ名"."テーブル名"にはマテリアライズド・ビュー・ログはありません。
ORA-03113 通信チャネルでend-of-fileが検出されました
ORA-03114 Oracleに接続されていません
ORA-12541 TNS:no listener
ORA-01555 スナップショットが古すぎます
ORA-01652 一時セグメントを拡張できません
→ 一時表領域に、データファイルを追加する
ORA-01653 表:○○○を拡張できません
ORA-28040: No matching authentication protocol
ORA-01017: invalid username/password; logon denied
ORA-01950:
ORA-65096: invalid common user or role name
ORA-12162: TNS:net service name is incorrectly specified
SP2-0667: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
PLS-00302: コンポーネントRESTORE_SCHEMA_STATを宣言してください
ORA-00279
ORA-00289
ORA-00280
ORA-01244
ORA-01308: 初期化パラメータ ・・・・・が設定されていません。
ORA-01306:dbms_logmnr.start_logmnr()は、v$logmnr_contentsから選択する前に起動する必要があります。
ORA-01578
ORA-01110
【ORA-00060 デッドロックが発生しました】
【ORA-01555 スナップショットが古すぎます】
【ORA-01578 Oracleデータブロックに障害が発生しました】
ORA-04031 共有メモリの n byteを割当てできません
ORA-00020 最大プロセス数を超えました
ORA-00600 の不整合データ発生に対する対処
ORA-07445 のメモリ空間参照ポインタ異常に対する対処
ORA-12838 オブジェクトは、パラレルで変更された後は、読取り/変更できません
ORA-01031: 権限が不足しています
ORA-04031 共有メモリの ???バイトを割当てできません への対応方法
ORA-04036 インスタンスに使用されているPGAメモリがPGA_AGGREGATE_LIMITを超えています への対応方法
ORA-04030 ???バイトを割当てようとして、プロセスメモリが不足しました
原因は、PGAメモリへの割当てのためのOS側メモリ枯渇
ORA-00060 RAC環境(Real Application Clusters)における
デッドロック発生に対する対処方法
ORA-00040:アクテイブな時間制限を超えました - コールは異常終了しました
ORA-12547 TNS:接続を失いました
ORA-29913: ODCIEXTTABLEOPENコールアウトの実行中にエラーが発生しました。
ORA-29400: データ・カートリッジ・エラーが発生しました
KUP-00554: error encountered while parsing access parameters
KUP-01005: syntax error: found "no": expecting one of: "double-quoted-string, identifier,
single-quoted-string"
ORA-12514: TNS: リスナーは接続記述子でリクエストされたサービスを現在認識していません
ORA-12537: TNS: 接続がクローズされました。
ORA-12547: TNS: 接続を失いました
TNS-12546: TNS:許可が拒否されました。
TNS-12560: TNS:プロトコル・アダプタ・エラー
TNS-00516: 許可されません。
ORA-01555 スナップショットが古すぎます
ORA-30036 UNDO表領域が拡張できません の発生要因
ORA-00060 リソース待機の間にデッドロックが検出されました
【クライアントからOracleへ接続できない場合の原因と対応】
ORA-12154 TNS:指定された接続識別子を解決できませんでした
ORA-19815 警告:db_recovery_file_destは、100%バイトが使用され、残り0バイトが使用可能
です
ORA-20005: object statistics are locked (stattype = ALL)
ORA-12838:オブジェクトは、パラレルで変更された後は読取り/変更できません。
ORA-12827
ORA-19566 (ブロック破損の検知)
ORA-01078 failure in processing system parameter
ORA-02065 ALTER SYSTEM ????????
SP2-0718: ARCHIVE LOGオプションが正しくありません
ORA-30052: 下限のスナップショット式が無効です
ORA-01000: 最大オープン・カーソル数を超えました
ORA-00054: リソースビジー、NOWAITが指定されていました
ORA-03006: リソースビジー、WAITタイムアウトの期限に達しました
ORA-08177: このトランザクションのアクセスをシリアル化できません
ORA-01456: READ ONLYトランザクションでは挿入/削除/更新ができません。
ORA-04031 (共有メモリの n byteを割当てできませんでした)
ORA-10636: ROW MOVEMENT is not enabled
ORA-65162: The password of the common user has expired
パスワードの有効期限切れ
ORA-65140: 共通プロファイル名が無効です
TNS-03505: 名前の解決に失敗しました
TNS-12535: TNS: 操作はタイム・アウトしました。
Ora-12638 証明の取得に失敗しました
ORA-12170: TNS: 接続タイム・アウトが発生しました
Ora-12638 証明の取得に失敗しました
ORA-06550 行**、列4:
PLS-00103:記号”end_of_file”が見つかりました。次のうち1つが入るとき:
・・・
【Oracleエラー一覧】
ORA-00001
ORA-00051
ORA-01001
ORA-01012
ORA-01017
ORA-01403
ORA-01410
ORA-01422
ORA-01476
ORA-01722
ORA-06500
ORA-06501
ORA-06502
ORA-06504
ORA-06511
ORA-06530
ORA-06531
ORA-06532
ORA-06533
ORA-06592
ORA-30625
PL/SQL: SQL Statement ignored
PL/SQL: ORA-00942: 表またはビューが存在しません。
ORA-00439エラーへの対処
ORA-01450エラーへの対処
『 / 』ユーザー使用時のORA-01017
ORA-04031
ORA-01555
ORA-00060
ORA-00600
ORA-07445
ORA-01157
ORA-00313
ORA-00210
ORA-01078
ORA-12154
ORA-12545
ORA-12170
ORA-12541
ORA-12514
ORA-12518
ORA-00018
ORA-00031
『ORACLE運用対応メニュー』へ戻る