oracle db

SQL*LoaderでCSVを読み込みたいんです 追記

SQL*LoaderでCSVを読み込みたいんです - なんでや。。 この愚かな記事に愚かな追記を。。 PRESERVE BLANKSで空白保持しても、DECIMAL EXTERNALやDATEのカラム(たぶんZONEDも)は勝手に空白トリムしてからうまくキャストしてロードしてくれる。CHARのカラム…

SQL*LoaderでCSVを読み込みたいんです

余計なことを考えずに書く。 LOAD DATA -- DATA files , BAD , DISC file INFILE 'ldrSample.dat' BADFILE 'ldrSample.bad' DISCARDFILE 'ldrSample.dis' -- APPEND ROWS APPEND INTO TABLE JOB_HISTORY FIELDS TERMINATED BY "," ( --EMPLOYEE_ID DECIMAL E…

対象レコードを絞ってOUTER JOINしたいんです

職種一覧と、各職種で最も最近雇用した人を表示するSQLを書こうとします。同時雇用した人がいたらしょうがないってことで。。 職種はjobsにあり、従業員リストと雇用日の情報はemployeesが持っています。 リレーションはこちらを参照してください。。 SELECT…

Oracleのパフォーマンスを気にしなきゃいけないけど何も知識ないんです

わたしのことなんですけどね。。今まで関係なかった(というかDBチームにおまかせ)のでほとんど気にしませんでしたが、そろそろ化けの皮が。。 1~2時間で最低限の中の最低限の基礎知識がほしいならこれでしょうか。 Oracle SQLチューニング講座(1):パフ…

ヒント句で表結合アルゴリズムを固定したいんです

ヒント句で表結合の仕方を固定したいんです このSQLに対して実験。 select * from employees e, jobs j where e.job_id = j.job_id; ヒント句なし ------------------------------------------------------------------------------------------ | Id | Oper…

sqlplusでスキーマの持つインデックスの一覧を見たいんです

USER_INDEXESとUSER_IND_COLUMNSから引っ張ってくる。 SQL> conn hr/hr@xe SQL> col table_name format a16 trunc SQL> col index_name format a24 SQL> col uniqueness format a4 trunc SQL> col column_name format a24 SQL> select i.table_name, i.index…

Oracle 統計情報取得の基礎メモ

参考 Oracle SQLチューニング講座(5):SQLチューニングの基盤となる統計情報 (1/3) - @IT Oralce9iの記事なので古い情報なはず。 まあでも基礎としてはちょうどいいのでは。。 V$表は「第4回」の記事のほうが詳しい。 最後のまとめ表を引用。。 メリット …

SELECT文に ORDERED USE_NLって書いてあったんです

あまり実行計画を気にしてこなかった私。。 これからパフォーマンス問題も出てくるだろうし、SQLのチューニングも勉強しないといけないです。。 ORDEREDヒント句、USE_NLヒント句そのものの説明は USE_NLヒントの使い方まとめ|OracleDBAの技術メモ ORDERED…

Oracle 11g HRスキーマを再作成したいんです

ORACLE_HOME\demo\schema\human_resources\hr_main.sql これをSQL*Plusで実行すればOKです。 SYSかSYSTEMで実行してねって書いてあります。 SQL> @hr_main.sql specify password for HR as parameter 1: 1に値を入力してください: hr specify default tables…

SYSTIMESTAMP/CURRENT_TIMESTAMP/LOCALTIMESTAMPのメモ

Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production に接続されました。 SQL> select systimestamp, current_timestamp, localtimestamp from dual; SYSTIMESTAMP CURRENT_TIMESTAMP LOCALTIMESTAMP -----------------------------------…

伝票のヘッダと明細を一度にロックしたいけどヘッダ単位でforループしたいんです

いま直面している問題においては、別に一度にロックできる必要なんてなくねって感じではあるんだけど。 ヘッダと明細を普通に内部結合して、ヘッダのカラムだけselectしてdistinctすればよくね?と思ったけど、distinctとfor updateは共存できないんです。 s…

for update句でオープンしたカーソルのforループ内でcommitしたらどうなるのっと

for update付きカーソルのforループ内でcommitしてみた。 for rec in ( select h.employee_id as employee_id, h.job_id as job_id, h.start_date as start_date from jobs j, job_history h where j.job_id = h.job_id and j.job_id = 'ST_CLERK' for updat…

OracleDBのselect for updateってどのへんのレコードまでロックしよる?

結合したテーブルの該当行までロックしよる? select j.*, h.* from jobs j, job_history h where j.job_id = h.job_id and j.job_id = 'ST_CLERK' for update; JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY EMPLOYEE_ID START_DA END_DATE JOB_ID DEPARTMENT_ID…

トリガーやストアドプロシージャのソースが見たい。SQL*Plusで。

SQL> conn hr/hr@xe 接続されました。 SQL> select name from user_source group by name; NAME ------------------------------------------------------------ SECURE_EMPLOYEES UPDATE_JOB_HISTORY SECURE_DML ADD_JOB_HISTORY これでソースがしまってあ…

普通のRubyスクリプトからOracle 11g XEにActiveRecordで繋ぎに行く

必要なgemをインストール PS:Desktop> gem install activerecord-oracle_enhanced-adapter Fetching: activerecord-oracle_enhanced-adapter-1.4.2.gem (100%) Successfully installed activerecord-oracle_enhanced-adapter-1.4.2 1 gem installed Installi…

oracle 11g xeにいつものように用意してあるHRスキーマを初期化

PS:yoshi-13> sqlplus hr/hr@xe SQL*Plus: Release 11.2.0.2.0 Production on 土 6月 15 02:14:48 2013 Copyright (c) 1982, 2010, Oracle. All rights reserved. ERROR: ORA-28000: the account is locked そうなんですね。。 SQL> alter user hr account u…

VirtualBox + Ubuntu 12.04 + Oracle 11g XE → 早速あきらめた

VirtualBoxへUbuntuをインストール Ubuntu Japanese Teamが既に.vhdを用意してくれているので拍子抜けするほど簡単だった。 仮想ハードディスクイメージのダウンロード | Ubuntu Japanese Team 画面の解像度が低い。。 VirtualBoxのメニューのデバイス > Gue…