19c

oracle

Oracle 接続先確認

SYS_CONTEXT()ファンクションを使うと各種接続先の情報、接続元の情報を確認できます。複数接続先にて作業する可能性がある際は念のために接続先を確認してから作業にとりかかりましょう。作業を始める前にエビデンスとしてこちらの結果出力を保...
oracle

ストアドパッケージをファイル出力する(仕様部、本体部を別々に出力できるので便利!)

以下の手順に従うと、ストアドパッケージをヘッダー用ファイルと、ボディー用ファイルを一気に出力する事ができます。個人的にも基本こちらの方法で出力したソースファイルをgitで管理するようにしています。今回はSQLファイルを利用していますが、SQ...
oracle

Oracle テーブル作成DDLを取得(ファイル出力まで行います)

SQL*Plusを使いパラメータで指定するテーブルのDDLをファイル出力します。手順は簡単コピペだけの2ステップです。(同時にインデックス、コメントの出力も可能なので便利) 手順1 SQLファイル(get_table_ddl.sql)を作成...
oracle

Oracle 表領域の使用率と空き領域サイズを確認する

GUIで調べるのもいいのですが、やはりSQLでサクッと調べたいものです。個人的にもこのSQLのコピペ使用率は高いです。Oracleは表領域(TABLE SPASE)という論理的な記憶領域にテーブルやインデックスを格納しています。このためテーブルデータが大きくなると表領域内の空きスペースがなくなりORA-01653エラーが出てしまいます。このエラーが出るって事は「本来格納すべきデータが欠落する」って事なのでDBの最も重要な仕事ができていない事になります。普段から表領域の使用状況には気配りしておいて、使用率が高くなってきたら早めに表領域の拡張をお勧めします。
oracle

緯度、経度による距離計算ファンクション(PL/SQLで2点の距離計算できます)

緯度、経度で直線距離を計算する。
oracle

データベース・バッファ・キャッシュのクリア

パフォーマンス計測する際に活躍します。SQLを1度目実行した時より、2度目実行した時のほうがほぼ早くなると思いますが、その理由の一つがSQLで利用するテーブルや、インデックスがバッファー・キャッシュ(メモリ)にキャッシュオンしている事です。...
oracle

Oracle 表領域の新規作成および拡張

表領域の作成方法と拡張の方法
oracle

Oracle 長時間動作し続けているSQLを見つける

長時間稼働SQLを調べる
oracle

PL/SQLでSLEEPさせたい

PL/SQLを使っているとたまにスリープさせたいシーンがあります。そんな時はDBMS_LOCK.SLEEPもしくはDBMS_SESSION.SLEEPプロシージャを使います。 18c以降はDBMS_SESSION.SLEEPを利用する 12...
データ・ディクショナリ

DBA_TAB_PRIVS ユーザに与えられているオブジェクト権限一覧

あるユーザおよびロールに付与されているオブジェクト権限一覧を確認する