sooni

oracle

Oracle テーブルとカラムへコメントを追加する

テーブル、Viewへのコメント追加 viewに対してもなぜかcomment on tableで作成できます。comment on viewにするとエラーです。(ORA-32594: COMMENTコマンドのオブジェクト・カテゴリが無効です)...
oracle

Oracle ROWIDとは

ROWID疑似列 ROWID疑似列というくらいなので、「カラム」ではありません。オブジェクト(テーブル)のアドレスとなります。ROWIDは以下項目で構成されます。 オブジェクト番号 行が存在するデータファイル番号 行が存在するデータファイル...
oracle

Oracle HWMを下げる

HWMが高い位置にあるってどうゆう状況? 例えば「住所マスタテーブル」を新規にCREATEし、1レコード1024バイトのデータを10万レコードINSERTしたとします。こと時1024×10万≒98Mバイト分のデータを格納するだけのブロックが...
oracle

Oracle セグメント縮小とHWMを下げる(ALTER TABLE SHRINK SPACE)

実行手順 alter table xxxxx shrink space cascade とすると表とインデックスのセグメント縮小を行いかつHWMを下げてくれます。注意点としては直前に「行移動の有効化」をする必要があります。DBA_TABLE...
oracle

Oracle ORA-01653 が発生した時の対応方法

ORA-01653 発生原因 -- 以下エラーがでた時の状況です。 行1でエラーが発生しました。: ORA-01653: 表SOONI.TBL27を拡張できません(128分、表領域TBS01)。 これは表領域がいっぱいになった時に発生するエ...
oracle

Oracle 行ロックで待たされているSQLと対象レコードを特定する

DBMS_ROWID.ROWID_CREATE()でROWIDを作成する V$SESSIONのBLOCKING_SESSION_STATUSを見れば行ロックが原因で待たされているSQLと対象レコードの特定ができます。レコードの特定はDBMS...
PostgreSQL

PostgreSQL permission denied to create role 発生時の対応方法

以下は一般ユーザ'sooni’から新しくユーザ(dabada)の作成を試みてエラーが発生した状況です。 myposdb=> create user dabada password 'dadabada' myposdb-> ; ERROR: ...
PostgreSQL

PostgreSQL psqlコマンド

接続 windows環境、Linux環境共に以下のようにパスワードを問われてきます。セキュリティの問題はありますが、Oracleのsqlplusのようにパスワードをパラメータで指定できない事少し面倒です、、 psql -h vm022 -p...
oracle

Oracle アラートログとトレースファイルをSQLで確認する

アラートログをSQLにて確認する 本来アラートログは2種類のファイルに出力されますが、V$DIAG_ALERT_EXTを参照すれば両方まとめて確認できますし、キーワード検索などもでき大変便利です。ただ一点不満なのはGV$ DIAG_ALER...
oracle

SQL_IDでSQL_FULLTEXTを出力する

過去実行したSQLはV$SQLやV$SQLAREAのSQL_TEXTから取得する事できますが、1000バイトを超えるSQLはSQL_FULLTEXTを参照する必要があります。ただしSQL_TEXTと異なり改行コードが含まれている事や、SQL発行ツール自体が VARCHAR2(4000)を 超える文字列を表示できない制限があって期待通りの表示ができません。これら課題をクリアするため以下テーブルファンクションを作成しました。