TSV やったんで、CSV もついでに。
こんなかんじ
set lin 120
set pages 0
set head off
set feed off
set term off
set trims on
set echo off
spool test.csv
select dummy || ',' || dummy from dual;
spool off
続きを読む
CHR 関数でできる。CHR(9) がタブ。
こんな感じ
続きを読むset lin 120
set pages 0
set head off
set feed off
set term off
set trims on
set echo off
spool test.tsv
select dummy || CHR(9) || dummy from dual;
spool off
V$SQL の COMMAND_TYPE 列や、V$SESSION の COMMAND列は、NUMBER 型。
これは、V$SQLCOMMAND で定義されている。
SQL> select * from V$SQLCOMMAND order by 1;
COMMAND_TYPE COMMAND_NAME
------------ ------------------------------
0
1 CREATE TABLE
2 INSERT
3 SELECT
4 CREATE CLUSTER
5 ALTER CLUSTER
6 UPDATE
7 DELETE
...
220 DROP FLASHBACK ARCHIVE
222 CREATE SCHEMA SYNONYM
224 DROP SCHEMA SYNONYM
225 ALTER DATABASE LINK
225まであんの?(11.2.0.4) って思ったけど、結構番号がとんでる。
V$ビューの定義を確認してみると、、、
SQL> select VIEW_DEFINITION from V$FIXED_VIEW_DEFINITION
2 where VIEW_NAME ='GV$SQLCOMMAND';
VIEW_DEFINITION
----------------------------------------------------------------------
select inst_id, indx, oct_name from x$oct where indx=oct_type
で、除外されているやつをみてみた。
SQL> select * from x$oct where indx!=oct_type;
ADDR INDX INST_ID OCT_TYPE OCT_NAME
---------------- ---------- ---------- ---------- ------------------------------
000000000C14EDC0 69 1 0
000000000C14EFB0 100 1 0
000000000C14EFC0 101 1 0
000000000C14EFD0 102 1 0
000000000C14EFE0 103 1 0
000000000C14EFF0 104 1 0
000000000C14F000 105 1 0
...
何も面白くなかった。。。
パラメータは、DEFERRED_SEGMENT_CREATION でデフォルトが true 。
つまり、デフォルトだと表を作成してもセグメントは作成されない。テストするときとか、たまに不便。
segment creation immediate 句をつけてあげると即時にセグメントが作成される。
SQL> create table tab1 (id number) ;
表が作成されました。
SQL> create table tab2 (id number) segment creation immediate;
表が作成されました。
SQL> col table_name for a10
SQL> select table_name, segment_created from user_tables
2 where table_name like 'TAB%';
TABLE_NAME SEGMENT_C
---------- ---------
TAB1 NO
TAB2 YES
逆に、遅延セグメント作成したいときは segment creation deferred 。
これも、忘れがち。。。
パラメータのデフォルト値を調べる用事で、DB 作るの面倒だし、なんとか NOMOUNT で起動できないか考えた結果。。。
続きを読む使ったことない。
rpm を追加でインストールする用事があったので少しさわってみました。
isoイメージがあるのでこれをリポジトリに。
/media にマウントして
# mount /dev/cdrom /media
リポジトリの設定を超適当に書きます。
/etc/yum.repos.d/oel67.rep
[oel6.7]
name=oel6.7
baseurl=file:///media
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TEST
ファイル名も適当です。
多分、大丈夫。
# yum repolist
...
repo id repo name status
oel6.7 oel6.7 3800
...
試しに動かしてみますが、、、なんかエラー。
# yum search zsh
Loaded plugins: refresh-packagekit, security, ulninfo
http://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'public-yum.oracle.com'"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: public_ol6_UEKR3_latest. Please verify its path and try again
どうやら、デフォルトのリポジトリにアクセスできないのが原因のようです。なので、もともとあったリポジトリファイル(/etc/yum.repos.d/*.repo)を退避、退避・・・。
で動くようになりました!
[root@uno-spa yum.repos.d]# yum search zsh
Loaded plugins: refresh-packagekit, security, ulninfo
================================================================= N/S Matched: zsh ==================================================================
zsh.x86_64 : A powerful interactive shell
Name and summary matches only, use "search all" for everything.
インストールは簡単。
みたいな。
設定は面倒(そうでもないか?)ですが使ってみると便利かも。