sooni

データ・ディクショナリ

Oracle カラム一覧(テーブルのカラム情報)

DBA_TAB_COLS DBA_TAB_COLSはDBA_TAB_COLUMNSと異なり、非表示列(HIDDEN_COLUMN=YES)も保持しています。普段から何かとテーブルのカラム情報を確認する事がありまして、毎回必要な項目を探して打...
oracle

Oracle LONG型をVARCHAR型へ変換する

SQLだけでLONG型をVARCHAR2型へ変換する事はできないようです。LONGデータをTO_LOBファンクションで変換してCLOBカラムへINSERTします。そのCLOBをTO_CHARファンクションでVARCHAR型へ変換する。といったイレギュラーな方法をとらないと実現できません。
oracle

Oracle V$SQLに関する少しマニアックな情報

実行したSQLを分析する際に何かと確認するのがV$SQLですが、他では書かれていないような少しマニアックな事を記載してみました。個人的にはパフォーマンスチューニングを行う際、意識している項目です。EXECUTIONS、CPU_TIME、ELAPSED_TIME等累積値で持つ項目がいくつかありますが、これらはLAST_LOAD_TIMEが更新されるタイミングでリセットされる点気を付けましょう。
Excel/VBA

Excel VBA シート一覧を元にシートを削除する

複数のシートをまとめて削除するような場合、対象のシートをひとつづつ選択していくのは間違いを起こしてしまいそうなので、あらかじめ削除対象のシート一覧を作成して確認をしてから削除すれば安心ですね。以下は「削除シート一覧」という名前のシートを用意...
oracle

Oracle カラム値の自動採番

内部キーを自動生成すべくOracleの自動採番機能を試します。11gまでのバージョンでは事前にシーケンスを作成しておいて、insertのタイミングでnextvalしていく方法がオーソドックスでしたが、先日あるトランザクションテーブルを新設す...
oracle

SQL*Plusから外部ファイルを実行する際のTips(Windows/Linux)

先日SQL*Plusに外部SQLファイルを食わせる形でDDLを実行しているスクリプトに遭遇したのですが、ここでは1SQLファイル毎にSQL*Plusで接続&切断を繰り返す形で記載されていました。たしかにこれでもいいんですが、やはり無駄な接続...
oracle

SET_MODULE でセッションに目印を付ける

DBMS_APPLICATION_INFO.SET_MODULE
oracle

Oracle 表圧縮

表圧縮は2種類あります 圧縮といっても正確には「重複値排除」のようです。1ブロック内に格納されるレコードに同一列値があると省略されるイメージです。当然圧縮,非圧縮にはCPUコストがかかるわけですが、サイズが小さくなる分DiskI/Oのコスト...
oracle

Oracle 使われていないINDEXを調べる

インデックスが利用されているのか調べるには、事前に監視対象として登録しておかないと分からなかったですが、12.2からDBA_INDEX_USAGEを見れば簡単に調べる事ができるようになっています。
oracle

Oracle 初期化パラメータの変更

初期化パラメータ変更 ALTER SYSTEM SET alter system set temp_undo_enabled = true scope = memory ; No.スコープ解説1MEMORY現在立ち上がっているインスタンスで...