Oracle

PL/SQLでHello World

ちょっと使う機会があったので、初めて触りました。とりあえず最初はお約束ということでHello Worldを書きました。 SET SERVEROUTPUT ON CREATE OR REPLACE PROCEDURE say_hello (name IN VARCHAR2) AS greeting VARCHAR2(100) := 'Hello '; BEGIN DBMS_OUTP…

一時領域不足のエラー

デバッグ環境でOracle DBのインデクス設定漏れがあったのでcreate index文を発行したところ、以下のエラー。 ORA-01652: unable to extend temp segment by 128 in tablespace tbsXXXXとりあえずググってみたものの根本原因が今ひとつわからず、「DBA権限対…

UNDOセグメント

Oracle DBは9iと10gしか使ったことないくせに「ロールバックセグメント」は9iからは「UNDOセグメント」になっているのを知らなかった。。周りがみんなロールバックセグメントって呼んでるせいもあるけど。不勉強。不勉強・・・

インデクスを調査するシェルスクリプト

ググればすぐ出てくる内容ですが、メモとして。 #!/bin/sh USR=oracle_usr PWD=oracle_pwd SID=oracle_sid SQL_FILE=check_index.sql SPOOL_FILE=result.txt cat /dev/null > ${SQL_FILE} echo "SET HEAD OFF" >> ${SQL_FILE} echo "SET LINESIZE 1000" >> $…

ターンアラウンドタイムを算出するSQL文

たとえば、Oracleで、以下のような処理開始時刻と処理終了時刻を格納しているテーブルがあったとして、 SQL> desc table Name Null? Type ------------ --------- ------------- ORDER_ID NOT NULL VARCHAR2(30) ・・・・・ START_DATE DATE END_DATE DATE S…