oracle SELECT_CATALOG_ROLE データ・ディクショナリへの参照権限 SELECT_CATALOG_ROLEを付与すれば、v$sessionにもdba_tables,v$sqlにもアクセスできるようになります 2021.05.10 oracle
oracle Oracle レンジパーティションサンプル レンジパーティションテーブルの作成レンジパーティションテーブル作成DDLCREATE TABLE PTRENGEEX01 ( SID NUMBER(19,0), SNAME VARCHAR2(32 CHAR), BIRTHDAY DATE,... 2021.04.19 oracle
oracle Oracle ジョブ Oracle内部にもジョブ管理の仕組みがあります。事前に登録したプロシージャや、SQLを計画実行する事ができます。crontabや運用管理ソフトからわざわざ起動をかけなくてもOracle単体で完結します。個人的にはパフォーマンス調査のための... 2021.04.16 oracle
oracle Oracle セッションをkillする v$sessionの一覧からkillするSQLを作成する select sid, serial#, username, machine, osuser, program, status,'alter system kill session ... 2021.04.16 oracle
oracle Oracle 実行計画の取得(実際に実行した結果の取得) EXPLAIN PLANで実行計画(予定)を取得するのでははく、これは実際に動作したあと、「どのようなアクセスパスであったか」を出力します。その昔は、V$SQL_PLANを参照していましたが、こちらのほうが使い勝手よくなりました。 2021.04.15 oracle
データ・ディクショナリ PK(プライマリキー)を構成するカラム一覧 DBA_CONS_COLUMNSを参照する事で構成カラムが分かります以下はSOONIスキーマテーブルのプライマリキー制約を構成するカラム一覧を出力しています。DBA_RECYCLEBINと結合しているのは既に削除されているテーブルは表示対象... 2021.04.13 データ・ディクショナリ
oracle SQLPLUSでDDL取得 各種DDLを取得する際、metadata.get_ddlプロシージャを利用しますが、VARCHAR2の最大サイズを越える場合って出力できません。一般的なSQL実行ツール(A5:SQLやOsqlEditそして純正のSQL Developerなど)にもDDL出力機能を保持していますが、自分の好みのオプションを指定して出力するにはやはり自身で metadata.get_ddlプロシージャ を実行するしかありませんね。そんな時はSQL*PlusかSQLclが活躍します。 2021.04.05 oracle