oracleOracle マテビュー作成DDLを取得 SQL*Plusを使いパラメータで指定するマテビューのDDLをファイル出力します。手順は簡単コピペだけの2ステップです。(同時にインデックス、コメントの出力も可能なので便利) 手順1 SQLファイル(get_mview_dd.sql)を作成...2022.11.21oracle
oracleOracle ファイングレイン監査 ファイングレイン監査の機能を使いあるテーブルへのアクセス状況を調べる事ができます。DMLに関する調査であればトリガーを使って調べている方けっこうあると思いますが、ファイングレイン監査ではDMLはもちろんSELECT文もキャッチできるので便利...2022.11.20oracle
oracleOracle 結合UPDATE テーブル結合を行ったUPDATE 業務アプリではあまり見かけませんが、テストデータを作成したりテーブルデータの手動メンテナンスなどに活躍します。2種類の更新方法を記載します。 まずは今回のテストデータは以下の通りです fruitテーブルのp...2022.11.18oracle
データ・ディクショナリOracle トリガー一覧 DBA_TRIGGERS DBA_TRIGGERSそ参照する事でトリガー一覧を確認できます。dba_usersと結合しているのはシステム提供トリガーを対象から外すためです。※dba_users.common='NO' としているのはシステム...2022.10.23データ・ディクショナリ
oracleOracle トリガー作成DDLを取得 Oracleのトリガーのソースを取得 以下手順にてトリガーのソース(DDL)をファイルに取得する事ができます。 手順1 SQLファイル(get_torigger_ddl.sql)を作成する。 まずは、適当なフォルダにget_torigger...2022.10.23oracle
oracleLISTAGG 複数行の値を1行でまとめて表示する LISTAGG集計関数 先日SELECTで複数行返却される値をJava側で1行にまとめる実装を見ました。まぁ、SQLの方言に依存する実装を強く勧める気は全くありませんが、SQLでの実装も可能です。以下例題では"/"で区切っていますが、当然カ...2022.10.15oracle
oracleORA-28002: パスワードは、XX日以内に期限切れになります。 ORA-28002が発生するもまだログインはできます。メッセージの通り数日以内に期限切れが発生しログインができなくなってしまうので対策が必要です。対策として2つあります。パスワードを更新する、もしくはパスワード権限を無期限にする方法です。今...2022.10.09oracle
データ・ディクショナリOracle ユーザ一覧 DBA_USERS DBA_USERSを参照する事でユーザ一覧を出力できます。COMMON='NO'と条件をつけているのは、システムデフォルトで作成されるユーザを外すためです。この項目は12c以降に追加されているのですが、個人的には結構重宝...2022.07.22データ・ディクショナリ
oracleSQL_IDでSQL_FULLTEXTを出力する 過去実行したSQLはV$SQLやV$SQLAREAのSQL_TEXTから取得する事できますが、1000バイトを超えるSQLはSQL_FULLTEXTを参照する必要があります。ただしSQL_TEXTと異なり改行コードが含まれている事や、SQL発行ツール自体が VARCHAR2(4000)を 超える文字列を表示できない制限があって期待通りの表示ができません。これら課題をクリアするため以下テーブルファンクションを作成しました。2022.05.09oracle
oracleOracle ログイン・ログアウトトリガー 先日DBへの接続状況をトリガーを使って調査したので以下サンプルとして掲載します。DDLトリガーはおまけです。 ログイントリガーログアウトトリガーDDLトリガー ADMINISTER DATABASE TRIGGER システム権限が必要です ...2022.01.23oracle