oracle

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が更新されるタイミングでリセットされる点気を付けましょう。
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 SETalter system set temp_undo_enabled = true scope = memory;No.スコープ解説1MEMORY現在立ち上がっているインスタンスでのみ有...
oracle

Oracle 忘れがちなSQL

しばらく使わないとつい忘れてしまうようなSQLをメモっています。not exists> select * from exp01C1 C2-- -------------------- 1 みかん 2 りんご 3 いちご 4 <null>> ...
oracle

Oracle 文字コードに関する調査

dump,NLS_DATABASE_PARAMETERS ,NLS_NCHAR_CHARACTERSET,NLS_CHARACTERSET