[ORACLE関数] 現在日時を取得する(sysdate、systimestamp) 1,486件のビュー [ORAエラー] ORA-00905: キーワードがありません。 1,469件のビュー ここでは、Oracle Database 11 g リリース1(11.1)とリリース2(11.2)の新機能について説明し、追加情報の参照先を示します。 以前のリリースのOracle Databaseにおける新機能の詳細は、該当するリリースのマニュアルを参照してください。 Same with other objects -- their specification is their "external interface". If the object is a VIEW, the specification is perhaps not as clear. Is there another way to tell when the last time an object has been modified besides the last_ddl_time (of dba_objects). この記事の読者であれば、PL/SQLコードを記述する機会は本当に多いでしょう。そのため、頻度は高くないとしても、今後そのコードを分析して、次のような疑問に答える必要があります。, 他のパッケージ内のサブプログラムへのコールや、グローバル変数への参照を含むパッケージはどれか, 言うまでもなく、エディタや統合開発環境の検索機能を使用して、複数のデータベース・オブジェクトやファイルを調査し、特定のテキストのまとまりを見つけることはいつでもできます。しかし、それだけでは、これらの疑問や、その他の多くの疑問のすべてに答えることはできません。, 落ち込む必要はありません。PL/SQLコードを記述してデータベース内にコンパイルすることの大きな利点は、Oracle Databaseが提供しているデータ・ディクショナリと総称される一連のビューを使用できることです。データ・ディクショナリを使用すれば、SQL言語に加えPL/SQL言語も使用して、コードに関するあらゆる疑問に答えることができます。表1に、PL/SQLコードの管理によく使用されるデータ・ディクショナリ・ビューの概要を示します。, この記事では、この表のビューの多くについて詳しく取り上げ、ビューの中で特に便利な列について説明し、さらにこれらのビューの使用例を示します。, データ・ディクショナリは、データベース・インスタンスが作成した多数の表とビューにより構成されます。一般的に、ユーザー・スキーマにはこれらの表に対する権限がなく、Oracle Databaseにより、ビューに対するSELECTのアクセス権のみが付与されます。, ALLビュー:現在接続中のスキーマがアクセス権を持つデータベース・オブジェクトに関する情報, DBAビュー:データベース・インスタンス内のすべてのデータベース・オブジェクトに関する制限なしの情報(DBA以外のスキーマは通常、DBAビューの問合せ権限を持たない), 例を見てみましょう。データベース内に定義されたオブジェクト(表、ビュー、パッケージなど)のリストを取得することにします。, 次の問合せは、スキーマに定義されているか、ユーザーが何らかの手段で使用権限を付与されている、すべてのオブジェクトを返します。, さらに、次の問合せは、データベース・インスタンス内に定義されているすべてのオブジェクトのリストを返します(ユーザーにそのビューの検索権限がある場合)。, 通常、USERビューとALLビューの違いは、ALLビューにはオブジェクトを所有するスキーマを示すOWNERという列が追加されていることだけです。, USER_OBJECTSビューには、スキーマが所有するデータベース・オブジェクトごとに1行表示されます。よく使用される列は次のとおりです。, OBJECT_TYPE:オブジェクトのタイプ(PACKAGE、FUNCTION、TRIGGERなど), プログラム・ユニット(PL/SQLパッケージ、プロシージャ、またはファンクション)のステータスは、依存先のデータベース・オブジェクトが変更された場合にINVALIDに設定されます。そのプログラム・ユニットは再コンパイルする必要があります(再コンパイルは多くの場合、そのプログラム・ユニットを次回使用したときに、Oracle Databaseによって自動的に実行されます)。, データベース内にコンパイルしたすべてのプログラム・ユニットのソース・コードは、USER_SOURCEビューによりアクセスできます。USER_SOURCEには次の列があります。, TYPE:オブジェクトのタイプ(PL/SQLプログラム・ユニット、Javaソース、トリガーのソースなど広範囲に及ぶ), パッケージの特定のサブプログラムをコールするすべてのプログラム・ユニットを検索する, 次に例を示します。SALES_MGRパッケージ内のCALC_TOTALSというプロシージャについて、パラメータ・リストとコードを変更する必要があります。そこで、SALES_MGRパッケージの外部で、このプロシージャをコールしている場所を検索します。, 言うまでもなく、この問合せによって、この文字列を含むすべてのコメントも検索されます。また、次のような、このSELECT文では見つからないCALC_TOTALSの呼出し部も存在する可能性があります。, ただし、このようにサブプログラムのコールを分割しないようにコードを記述、整形するという前提であれば、この問合せでも、確認の必要があるコード内の場所を特定するのに十分です。, また、Oracle Database 11gのインスタンスでは、PL/Scope機能も使用できます。詳しくは、補足の"より優れたUSER_SOURCE"を参照してください。, USER_PLSQL_OBJECT_SETTINGSビューには、PL/SQLストアド・オブジェクトのコンパイラ設定に関する情報が表示されます。おもな列は次のとおりです。, PLSQL_OPTIMIZE_LEVEL:オブジェクトのコンパイルに使用された最適化レベル, PLSQL_WARNINGS:オブジェクトのコンパイルに使用されたコンパイラ警告設定, NLS_LENGTH_SEMANTICS:オブジェクトのコンパイルに使用されたNLS長さセマンティクス, 次に、USER_PLSQL_OBJECT_SETTINGSに対する問合せの例を示します。, Oracle Databaseのコンパイル時の最適化を十分に利用していないすべてのプログラム・ユニットを検索します。, 最適化レベル0は最適化されていないことを示し、最適化レベル1は最適化が最小限であることを示します。これらのレベルはいずれも、本番環境で使用すべきではありません。, コンパイル時の警告(コードの品質に関するフィードバックを表示するもの)が無効化されているすべてのプログラムを識別します。, USER_PROCEDURESビューには、スキーマ内にあるすべてのファンクションとプロシージャに関する情報が表示されます。スキーマレベルと、パッケージ内に定義されたものの両方が対象となります。このビューの列は次のとおりです。, AUTHID:プロシージャまたはファンクションがInvoker権限(CURRENT_USER)とDefiner権限(DEFINER)のどちらのプログラム・ユニットとして定義されているかを示します。, DETERMINISTIC:ファンクションが決定的として定義されている場合はYESに設定されます。これは理論的に、ファンクションから返される値がファンクションの引数値によって完全に決定されることを意味します。, PIPELINED:ファンクションがパイプライン・ファンクションとして定義されている場合はYESに設定されます。これは、パラレル問合せの一部としてパラレルに実行できるファンクションであることを意味します。, OVERLOAD:このサブプログラムがオーバーロードされている場合に正数に設定されます。これは、同じパッケージ内にこの名前のサブプログラムが2つ以上あることを意味します。, Invoker権限の下に実行されるすべてのプロシージャとファンクションを検索します(プログラムのInvoker権限は、実行時に表などのデータベース・オブジェクトへの参照を解決するために使用されます)。, データベース・トリガーを使用している場合、USER_TRIGGERSが便利です。USER_TRIGGERSでは、スキーマ内に定義されているトリガーごとに1行表示されます。おもな列は次のとおりです。, TRIGGER_TYPE:BEFOREとAFTERのどちらのトリガーであり、さらに行レベルと文レベルのどちらのトリガーであるかを示す文字列(たとえば、INSERT文の前に起動されるトリガーの場合、この列の値はBEFORE STATEMENTとなる), TRIGGERING_EVENT:トリガーを起動するSQL操作のタイプ(INSERT、INSERT OR UPDATE、DELETE OR UPDATE), WHEN_CLAUSE:トリガー本体が不必要に実行されることを防ぐために使用できるオプションの句, USER_TRIGGERSビューには制約が1つあります。それは、TRIGGER_BODY列がLONG型であることです。そのため、この列をSQLの比較演算で使用することはできません。, たとえば、トリガー本体に"emp"という文字列が含まれるすべてのトリガーを検索するとします。残念ながら、次の問合せは失敗し、ORA-00932エラーが発生します。, トリガー本体の内容を検索する場合は、PL/SQLを使用して次のようなブロックを記述する必要があります。. The timestamp is used in remote dependency checking. ョナリ・ビュー」, 第I部「動的パフォーマンス・ビュー」. It´s confusing. テクノロジー:PL/SQL データ・ディクショナリ:ビューの有効活用. Steven Feuerstein著 2012年11/12月 Connor and Chris don't just spend all day on AskTOM. created march 8th, 2011 at 2:10pm last ddled on march 8th, 2011 at 2:11pm. Oracle Database 12 c 以上では、Data Mining Java APIおよびAdaptive Bayes Network (ABN)アルゴリズムは、サポートが終了しました。そのため、Oracle Data Mining Java APIによって作成されたモデルは、Oracle Database release 11 g からOracle Database 12 c には it is usefull but i have one more question reagrdin this topic. Oracle Databaseリファレンスでの新機能. Answered by: Tom Kyte - Last updated: April 22, 2013 - 2:23 pm UTC, Reviewer: Saradha Bavanandam from NJ, USA, Reviewer: Pushparaj Arulappan from NJ,USA, Reviewer: H.S.Anand from New Delhi, India, Reviewer: Bernhard Schwarz from Munich, Germany, Reviewer: Alex Rusinov from Minneapolis, MN.