質問の知恵for Oracle[展開版]---by RollingPig
質問の知恵for Oracle[展開版]---by RollingPigは先日、簡単版の「質問の知恵Oracle版」を書いて、Oracleに関する質問の知恵とテクニックをまとめました.最近書いたのは簡単すぎるかもしれないと気づきました.それを少し広げて、もっと分かりやすくしてほしいです.0.google、フォーラム、metalink、online documentで検索してみます.
QUOTE: google:http://www.google.com
metalink: http://metalink.oracle.com (http://www.itpub.net/53151.html )
フォーラム検索: http://www.itpub.net/search.php?s=
オンラインdocument:http://tahiti.oracle.com
質問する前に、まず自分で解決を試みるべきです.
Oracleのあるコンポーネントやコンセプトがクリアされていない場合は、オンラインdocumentを読むのが一番簡単で効果的です.
また、多くの機能が実現され、語句文法の問題も簡単にオンラインで答えを見つけることができます.
alert logsでエラーメッセージを見つけたり、運転中にエラーメッセージを見つけたりした場合、一番簡単な方法はエラー情報やエラー番号をgoogle/metalink/フォーラムで検索してみることです.
ここでは特にOra-7044/ora-600のエラーを指摘します.エラー番号だけで検索することはできません.後の対応情報を加えなければ、適切な答えが見つかりません.
ORA-600の場合、後ろのargmentに加えて、Ora-70445の場合は、対応するTRACEファイルを開いて、意味のある部分を切り取って検索する必要があります.
1.あなたの実行ログをはっきり書いて、エラーメッセージを送り、DB version、OSをはっきり書いてください.
QUOTE: 質問のタブーの一つは「助けてください.DBが起きられなくなりました.」「私のSQLが間違えました.」「私のRestoreがdatabaseになりました.どうして成功しませんか?」というのが、その典型的な質問方法です.覚えてください.元の情報が一番重要です.また、元の情報を[.code]か[.php]で包んでください.
もう一つのポイントは、DBのversionとOSをはっきり書くことです.DB versionとOSの違いによって、いろいろな特性が異なります.
DB version、最も簡単な獲得方式はselect*from v$versionであり、 また、sqlplusだけを実行しても、Oracleのバージョン情報をほぼ知ることができます.
もっと深く言えば、db versionの情報以外にも、db componentの情報が可能な場合にも提供されるべきです.例えば、Partationを有効にしたとか、Datagurd/Jserverなど.
DBアップグレードの情報も含まれているはずです.例えば、あなたのDBは8.1.7.4から9.2.1.5にアップグレードされました.
OSは、unixまたはlinuxにとって、uname-aは基本的に大丈夫です.Windowsなら、言うまでもないでしょう.
2.Instanceに関する質問は、alertlogを貼ってください.
QUOTE: 一般的に、instanceに問題があると、alert logsに該当するレコードがあります.また、alert logsにも記録されているnot defaultのdb parameterは、多少の問題点を見る助けになります.
alert logsの位置は、多くの場合、$ORACLEです.BASE/admin/$ORACLE_SID/bdumpの下で、もちろん、正確にはdb parameter backgroundであるべきです.dumpdest定義のディレクトリの下にあります.もしbackgroundを定義していなかったらdumpdest、それでは、$ORACLE_HOME/rdbms/ロゴの下.
alert logsにTRACE FILEが記載されている場合、対応するTRACE FILEをアップロードする必要があるかもしれません.
3.Networkの問題は、DB serverのlistener.ora、sqlnet.oraを貼ってlsnrtl statusを実行し、clientのtnsnames.oraを貼って、sql net.oraを実行します.
QUOTE: いくつかのプロファイルは普通$ORACLE_HOME/network/admin以下はもちろん、環境変数TNS_を定義したらADMINでは、設定ファイルはTNS_にあります.ADMINの下
また、あなたのlistenerはデフォルトの名前を使わない可能性があります.lsnrcentl statusを実行するには、LISTERの名前が必要です.NAME>
4.DB全体の性能問題は、peak timeでstatspackを作って、statspackレポートをアップロードしてください.CPU/MEM設定とCPU IDLE/free menoryを添付します.
QUOTE: statspackについては、eglesシリーズの記事を参照してください.http://www.eygle.com/statspack/statspack_list.htm )
どのようにCPU UsageまたはFree Memの情報を取得しますか?unixでは通常vmstatを通じて取得できます.各OSに具体的には、ほほほ、自分で探してください.
5.SQLの性能問題、現在のSQLを列記し、計画を実行する.テーブル構造、index状況、Tableのrecord数を同時に提供すること.CBO/RBO、tableはanalzeなどの情報がありますか?
QUOTE: 実行計画の取得:EXPLAN PLAN_PLAN_FOR<SQL_Station>を通じて、@?rdbms/admin/utlxpls.sqlを取得します.
あるいはsqlplusでset auttraceを実行することによって得られます.
もちろん、第三者のソフトウェアでも入手できます.
6.あなたの問題はOracle関連であることを確認します.
QUOTE: 例えば、「SOLARIS/PROCの下でCPUの情報をどう見ますか?」「SUSE 8はTELNETをどうやって起動しますか?」「ウィンドウズ2000のローカル属性が無効になりました.どうすればいいですか?」「eclipse中BIRTプラグインの使い方」の問題は、該当するプレートやフォーラムで質問してください.
QUOTE: google:http://www.google.com
metalink: http://metalink.oracle.com (http://www.itpub.net/53151.html )
フォーラム検索: http://www.itpub.net/search.php?s=
オンラインdocument:http://tahiti.oracle.com
質問する前に、まず自分で解決を試みるべきです.
Oracleのあるコンポーネントやコンセプトがクリアされていない場合は、オンラインdocumentを読むのが一番簡単で効果的です.
また、多くの機能が実現され、語句文法の問題も簡単にオンラインで答えを見つけることができます.
alert logsでエラーメッセージを見つけたり、運転中にエラーメッセージを見つけたりした場合、一番簡単な方法はエラー情報やエラー番号をgoogle/metalink/フォーラムで検索してみることです.
ここでは特にOra-7044/ora-600のエラーを指摘します.エラー番号だけで検索することはできません.後の対応情報を加えなければ、適切な答えが見つかりません.
ORA-600の場合、後ろのargmentに加えて、Ora-70445の場合は、対応するTRACEファイルを開いて、意味のある部分を切り取って検索する必要があります.
1.あなたの実行ログをはっきり書いて、エラーメッセージを送り、DB version、OSをはっきり書いてください.
QUOTE: 質問のタブーの一つは「助けてください.DBが起きられなくなりました.」「私のSQLが間違えました.」「私のRestoreがdatabaseになりました.どうして成功しませんか?」というのが、その典型的な質問方法です.覚えてください.元の情報が一番重要です.また、元の情報を[.code]か[.php]で包んでください.
もう一つのポイントは、DBのversionとOSをはっきり書くことです.DB versionとOSの違いによって、いろいろな特性が異なります.
DB version、最も簡単な獲得方式はselect*from v$versionであり、 また、sqlplusだけを実行しても、Oracleのバージョン情報をほぼ知ることができます.
もっと深く言えば、db versionの情報以外にも、db componentの情報が可能な場合にも提供されるべきです.例えば、Partationを有効にしたとか、Datagurd/Jserverなど.
DBアップグレードの情報も含まれているはずです.例えば、あなたのDBは8.1.7.4から9.2.1.5にアップグレードされました.
OSは、unixまたはlinuxにとって、uname-aは基本的に大丈夫です.Windowsなら、言うまでもないでしょう.
2.Instanceに関する質問は、alertlogを貼ってください.
QUOTE: 一般的に、instanceに問題があると、alert logsに該当するレコードがあります.また、alert logsにも記録されているnot defaultのdb parameterは、多少の問題点を見る助けになります.
alert logsの位置は、多くの場合、$ORACLEです.BASE/admin/$ORACLE_SID/bdumpの下で、もちろん、正確にはdb parameter backgroundであるべきです.dumpdest定義のディレクトリの下にあります.もしbackgroundを定義していなかったらdumpdest、それでは、$ORACLE_HOME/rdbms/ロゴの下.
alert logsにTRACE FILEが記載されている場合、対応するTRACE FILEをアップロードする必要があるかもしれません.
3.Networkの問題は、DB serverのlistener.ora、sqlnet.oraを貼ってlsnrtl statusを実行し、clientのtnsnames.oraを貼って、sql net.oraを実行します.
QUOTE: いくつかのプロファイルは普通$ORACLE_HOME/network/admin以下はもちろん、環境変数TNS_を定義したらADMINでは、設定ファイルはTNS_にあります.ADMINの下
また、あなたのlistenerはデフォルトの名前を使わない可能性があります.lsnrcentl statusを実行するには、LISTERの名前が必要です.NAME>
4.DB全体の性能問題は、peak timeでstatspackを作って、statspackレポートをアップロードしてください.CPU/MEM設定とCPU IDLE/free menoryを添付します.
QUOTE: statspackについては、eglesシリーズの記事を参照してください.http://www.eygle.com/statspack/statspack_list.htm )
どのようにCPU UsageまたはFree Memの情報を取得しますか?unixでは通常vmstatを通じて取得できます.各OSに具体的には、ほほほ、自分で探してください.
5.SQLの性能問題、現在のSQLを列記し、計画を実行する.テーブル構造、index状況、Tableのrecord数を同時に提供すること.CBO/RBO、tableはanalzeなどの情報がありますか?
QUOTE: 実行計画の取得:EXPLAN PLAN_PLAN_FOR<SQL_Station>を通じて、@?rdbms/admin/utlxpls.sqlを取得します.
あるいはsqlplusでset auttraceを実行することによって得られます.
もちろん、第三者のソフトウェアでも入手できます.
6.あなたの問題はOracle関連であることを確認します.
QUOTE: 例えば、「SOLARIS/PROCの下でCPUの情報をどう見ますか?」「SUSE 8はTELNETをどうやって起動しますか?」「ウィンドウズ2000のローカル属性が無効になりました.どうすればいいですか?」「eclipse中BIRTプラグインの使い方」の問題は、該当するプレートやフォーラムで質問してください.
PHP code:
, , ( rollingpig from Itpub . net or ChinaUnix . net )
その他の質問テクニックは、参考にしてください.http://www.fengnet.com/smart-questions.html http://www.catb.org/~esr/faqs/smart-questions.