oracle

oracle

Oracle 接続先確認

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

ORACLE 権限付与DDLの取得

あるユーザではアクセスできるのに、こちらのユーザでは権限エラーが出てしまう。権限の付与をしてあげればいいのだろうけど、いちいちDBA_ROLE_PRIVSや、DBA_TAB_PRIVS、DBA_SYS_PRIVSを調べるのめんどいよ、、、って時にお手軽な方法があります。
データ・ディクショナリ

DBA_TAB_MODIFICATIONS テーブルの更新状況を調べる

DBA_TAB_MODIFICATIONSで前回統計情報取得からの更新状況が分かりますDBA_TAB_MODIFICATIONS/USER_TAB_MODIFICATIONSは前回統計情報取得後からテーブルへの変更がどのように行われたのか知...
oracle

Oracle 表領域を削除する

表領域内が空である時にのみ削除できる表領域が空でない場合は「ORA-01549: 表領域が空ではありません。」エラーが発生する。空の場合表領域は削除されるが、データファイルは残る。Diskの容量を気にするのであればOSコマンドにて削除する必...
oracle

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

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

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

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

SQL_ID指定で共有プールからクリア

共有プール(ライブラリ・キャッシュ)にキャッシュしているSQLをクリアしたい時があります。統計が再収集されても、共有SQL領域(共有カーソル)に文の解析ツリーやび実行計画が残っている状況においては、新しい統計情報を採用したプランが作成されま...
oracle

データベース内全てのオブジェクトに関する統計情報を取得

データベース内全ての統計情報取得(システム統計を除くオプティマイザ統計の取得)を行います。GATHER_DATABASE_STATS データベース単位で統計情報を取得こちらは時間がかかるので実行する際にはご注意ください。beginDBMS_...
oracle

SQLプロファイルの承認と確認

SQL Developerが作成したSQLプロファイルを承認するexecute dbms_sqltune.accept_sql_profile(task_name => 'staName35498', task_owner => 'SCOT...
oracle

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

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