sql >> データベース >  >> RDS >> Oracle

user_objectsのようなシステムビューの完全な定義(sql)を取得するにはどうすればよいですか?

    システムビューの定義を確認するための+1!

    最初の問題(DBMS_METADATAが空)は特権の問題です。 ドキュメント によると 、通常のユーザーには自分のオブジェクトのみが表示されます。役割SELECT_CATALOG_ROLEが必要です またはEXP_FULL_DATABASE 他のユーザーオブジェクトを表示します。

    2番目の問題(SQLが完全ではない)は、データ型長い 、これは-Oracleによれば-もう使用すべきではありません。ただし、Oracleは引き続き、ビュー定義、デフォルト、制約テキストなどに使用します。処理が非常に難しいため、ビューALL_VIEWS LONGに元のテキストがあります 列と、列text_vc内の切り捨てられたテキスト(ほとんどは最初の4000文字) 、おそらく「varcharのテキスト」用です。

    編集:

    text_vcの列について言及しているように、Oracle12を使用していると思います。 、Oracle 11では使用できません。おそらく、コンテナ化されたデータベースを使用しています。その場合は、CDBのデータディクショナリアーキテクチャ 。どうやら、ビューやパッケージなどのOracle提供のものの定義は、ルートコンテナにのみ表示されます。ため息!!



    1. mysql全文検索エラー

    2. SELECT GROUP BYを挿入:式エラーよりも多くのターゲット列

    3. MySQL GaleraCluster4.0の新機能

    4. SELECTでさえエラーを返すようにMySQL行を意図的にロックするにはどうすればよいですか?