カワゴエ・ラボ技術者指南書

サイタマの住宅街に存在するあるラボの研究資料

ORACLE

SQL Plusの使い方

C:\Windows\System32>sqlplus ログインID/パスワード@DB名 SQL*Plus: Release 12.1.0.1.0 Production on 金 7月 19 09:19:46 2019 Copyright (c) 1982, 2013, Oracle. All rights reserved. 最終正常ログイン時間: 金 7月 19 2019 08:40:10 +09:00 Oracle Da…

sqlplusでファンクションのコンパイルを行う方法

sqlplus ユーザID/パスワード@SID@ファンクションファイル名.fnc

DBスペースの使用量を確認する

set lines 120 set pages 100 set term off tti off clear col col TABLESPACE_NAME format a15 col "SIZE(KB)" format a19 col "USED(KB)" format a19 col "FREE(KB)" format a19 col "USED(%)" format 990.99 select tablespace_name, to_char(nvl(total_b…

minusでSQL結果が一致するか確認する

SELECT 1, 2 FROM DUAL UNION SELECT 2, 3 FROM DUAL MINUS SELECT 1, 2 FROM DUAL; ※参考 http://www.shift-the-oracle.com/sql/minus-operator.html

sqlldrコマンド

oracleで使用するsqlldrコマンドの基本 sqlldr hoge/hoge@HOGEHOGE control='hoge.ctl' data='hoge.csv' errors=-1 rows=1000000 readsize=10000000 bindsize=10000000 引数の説明 1.ユーザ/パスワード@DB名 2.control:controlファイルを指定 3.data:読み込…

TRUNCATE

DELETEを用いるよりTRUNCATE文を使ったほうが早くテーブルデータを削除できる。 ロールバックできないので注意。

結果を10行だけ返す

select * from hogehoge_tbl where rownum

COUNTにカラムを指定する

select count(*) よりselect count(カラム名) のほうがパフォーマンスが向上する ORACLE/オラクルSQLリファレンス(チューニング) http://oracle.se-free.com/tuning/B1_wild.html

SQLの実行結果をいい感じにする

set linesize 100 set pages 10000 lines 10000 trims on col username for a30 col osuser for a30 col program for a30 col machine for a30 col terminal for a30 説明は省略…

不要なセッションを殺す

まず、対象となるセッションを特定する (例はユーザーを特定したい場合) select SID,SERIAL# from v$session where username = '黒猫'; SID、SERIALを調べる SID SERIAL# ---------- ---------- 888 11111 999 22222 セッションを殺す alter system kill s…

各コンピュータがいくつ接続しているかを確認するSQL

SELECT terminal,count(*) FROM V$SESSION GROUP BY TERMINAL ※結果 terminal count(*) 桐乃 1 黒猫 10 田村 20

DISTINCTとGROP BY句の違い

どちらも重複行を排除する命令文である。 SELECT DISTINCT カラム名 FROM テーブル名 SELECT カラム名 FROM テーブル名 GROUP BY カラム名 GROUP BY句は集計する場合に使えます(MAXとかSUM)とか。 なので単純に重複行を無くしたい場合にはdistinctでもいい…