[oracle] 까먹지 말아야 할것들!

1. DB를 사용하기위해 ORACLE로 LOGIN 방법
가. SQLPLUS [Enter]
User ID : xxxxxx
password : xxxxxxxx
나. SQLPLUS user_id [Enter]
password : xxxxxxxx
다. SQLPLUS user_id/password [Enter]
※ 다. 와 같은 방법으로 Login 하게 되면 사용자명과 암호가 노출된다
그러므로 가장좋은 방법은 가, 그리고 나. 이다

2. SQLPLUS 상에서는 Auto Commit이 안된다. 그러므로 중간 중간 " COMMIT "를
수행한다.

3. SQL 문장의 Terminate 는 ==> “ ; ”

4. 한 화면씩 보여주는 기능
==> set pause on; (설정)
set pause off; (해제)
※ 설정을 하고나서 SQL 명령을 수행하면 커서가 그 다음 LINE에서 대기하고
있으므로 [Enter] Key를 친다. 그 다음부터는 Enter키로 한화면씩 보면 됨

5. SQL 명령어를 모를 경우 ?
==> help [명령어]

6. Unix 명령어를 사용하기 위해서는 ?
==> “ ! ” 를 붙여 사용한다.

7. 바로전에 실행한 SQL문을 FILE로 저장하려면 ?
==> “ save ”

8. 파일의 내용을 메모리로 불러오려면 ?
==> “ get ” 를 붙여 사용한다.

9. 메모리로 불러온 SQL문이나 메모리에 있는 명령을 실행 하려면 ?
==> “ / ” 를 붙여 사용한다.

10. 바로 전에 수행한 명령어를 편집하려면 ?
==> “ ed ” 를 붙여 사용한다.

11. 바로 전에 수행한 명령어 보려면 ?
==> “ l ” 를 붙여 사용한다.

12. SQL문이 있는 FIle을 바로 실행하려면 ?
==> “ @ ” 또는 " Start " 를 붙여 사용한다.

13. set heading off / on
==> Columns 명을 나타내지 않는다.

14. set arraysize line_number(숫자);
==> 한번에 DATA를 가져오는 단위

15. set timing on / off
==> sql문을 수행하는데 소요되는 시간을 나타내어 준다.
=======================================================================================================================
=======================================================================================================================
-. DB에 접속                     : CONN
-. 파일 편집 및 실행          : EDIT, START
-. 환경 설정                      : SET
-. 표시 형식                      : COLUMN
-. 변수 사용                      : &, ACCEPT
-. 기타                              : DESC, HELP

*버퍼에 있는 명령어 편집
A : 라인끝에 텍스트를 추가함
C/old/new : old 를 new로 바꿈
I text : 다음 line 에 text를 추가함
L : 전체 문자을 보여줌
n text : n라인 전체를 text로 바꿈
R : buffer에 있는 문장 실행
edit : buffer에 있는 문장을 file로 부름

*SQL문장을 파일로 저장, 저장된 명령어를 실행할수 있는 sqlplus명령어
save a : 버퍼에있는 문장을 a.sql 파일에 저장
get a : a.sql 파일에 있는 문장을 버퍼로 불러옴
start a : a를 실행
host shell : 호스트 쉘로 나감
!vi a.sql : unix인경우에 a.sql.을 vi 로 편집

*set (환경설정)
colsep (text) : 칼럼이 표시될때 칼럼의 구별문자 기본값 공백
feedback (off | on) : 선택된 행이 몇 행인지 표시함 기본값은 6행이상일때 on
heading (off | on) : 컬럼에 대한 heading을 표시함 기본값은 on
linesize (n) : 한줄에 표시될 텍스트숫자 기본값80
pages (n) : 한페이지당 표시되는 라인수 기본값 24
paues (on | off | text) : 엔터키를 누를때마다 화면이 지나감 기본값은 off
timing (on | off) : sql문장이 처리되는 시간을 표시 기본값은 off
verify (on | off) : & 변수로 값을 받을 경우 화면에 확인하기 위해 old,new를 표시할 것인지 기본값은  on
show all : 환경이 어떻게 설정 되었는가 확인
* 항상 로그인시 같은 환경을 유지하고 싶을경우 glogin.sql파일에 set 으로 설정
desc 테이블 구조
help topic 도움말
라인의 가로사이즈는 linesize를 늘려서 조정하시면 되고

조회된 로우수가 20행정도인데... 10개정도씩 컬럼명이 반복된다면

pagesize를 늘려주시면 됩니다. Default값을 알고 계시다면

SQL> set linesize 180

SQL> set pagesize 30
sql > column 컬럼명 format a10
이렇게 하면 표시되는 컬럼에 대한 사이즈를 조절 할 수 있습니다.
현재 TITEMID의 내용은 짧은데 자리를 많이 차지하고 있죠?
이럴경우
sql> column TITEMID format a10
이렇게 하면 10자리만큼만 차지하게 됩니다.
varchar type이면 col 컬럼명 format a20 --> 20으로 열너비조정
number라면 col 컬럼명 format 999,999 --> 9하나가 한자리
set heading off -> 컬럼의 heading..그러니깐 name, value..이런게 계속 나오지 않게..하려면 이걸 쓰죠..
spool on 또는 spool path+파일명
->이렇게 하면 쿼리 결과를 파일로 저장할 수 있죠.
SQL> spool on
SQL> select * from product_component_version;
NLSRTL                         3.4.1.0.0       Production
Oracle8i Enterprise Edition    8.1.7.4.0       Production
PL/SQL                         8.1.7.4.0       Production
TNS for HPUX:                  8.1.7.4.0       Production
SQL> spool off
SQL> !ls
LOCK          TOOL          app           jre           nohup.out     oui           tempwork
STC           admin         doc           led.sh        on.lst        script        test.sql
Script        afiedt.buf    hiraScript    led_test.sql  oraInventory  temp.sql
SQL> !vi on.lst
"on.lst" 8 lines, 387 characters
SQL> select * from product_component_version;
NLSRTL                         3.4.1.0.0       Production
Oracle8i Enterprise Edition    8.1.7.4.0       Production
PL/SQL                         8.1.7.4.0       Production
TNS for HPUX:                  8.1.7.4.0       Production
SQL> spool off

set pause on 하면 한 페이지씩 볼 수 있죠.

SQL> help index
ACCEPT        DBA          PAUSE            /
APPEND        DEFINE       PRINT            SPOOL
@             DEL          PROMPT           SQLPLUS
@@            DESCRIBE     QUIT             START
ARCHIVE LOG   DISCONNECT   RECOVER          STARTUP
ATTRIBUTE     EDIT         REMARK           STORE
BREAK         EXECUTE      REPFOOTER        TIMING
BTITLE        EXIT         REPHEADER        TTITLE
CHANGE        GET          RESERVED WORDS   UNDEFINE
CLEAR         HELP         RUN              VARIABLE
COLUMN        HOST         SAVE             WHENEVER OSERROR
COMPUTE       INPUT        SET              WHENEVER SQLERROR
CONNECT       LIST         SHOW
COPY          PASSWORD     SHUTDOWN

SQL> help column
COLUMN
------
Specifies display attributes for a given column, such as:
     -   text for the column heading
     -   alignment of the column heading
     -   format for NUMBER data
     -   wrapping of column data
Also lists the current display attributes for a single column
or all columns.
COL[UMN] [{column | expr} [option...] ]
where option represents one of the following clauses:
     ALI[AS] alias
     CLE[AR]
     FOLD_A[FTER]
     FOLD_B[EFORE]
     FOR[MAT] format
     HEA[DING] text
     JUS[TIFY] {L[EFT] | C[ENTER] | C[ENTRE] | R[IGHT]}
     LIKE {expr | alias}
     NEWL[INE]
     NEW_V[ALUE] variable
     NOPRI[NT] | PRI[NT]
     NUL[L] text
     OLD_V[ALUE] variable
     ON|OFF
     WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]
For detailed information on this command, see the SQL*Plus User's
Guide and Reference.

SQL> show all
appinfo is ON and set to "SQL*Plus"
arraysize 15
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/12/23 22:29 2008/12/23 22:29
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/38

[mysql] 필드내 특정 문자열 치환하기

update 테이블명 set 필드명=REPLACE(필드명,'찾는문자열','수정할 문자열');

ex) update user set host=REPLACE(host,'127.0.0.1','localhost');

EOL
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/12/23 21:12 2008/12/23 21:12
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/37

[mysql] mysql db 사용자 추가 스크립트

#!/bin/sh
until [ "$yon" = y ]
do
        echo "추가할 db명 입력하고 엔터를 치세요."
        read db
        sleep 1
        echo " "
        echo "$db db의 user명을 입력하고 엔터를 치세요"
        read db_user
        sleep 1
        echo " "
        echo "$db_user의 password를 입력하고 엔터를 치세요"
        read passwd
        sleep 1
        echo " "
        echo "db 명 : $db"
        echo "user 명: $db_user"
        echo "password: $passwd "
        read -n1 -p "위의 사항이 확실합니까?(y/n) " yon
        echo " "
# read 옵션사항
# -s 는 입력을 에코하지 말라는 옵션입니다.
# -n N 은 딱 N 개의 문자만 받아 들이라는 옵션입니다.
# -p 는 입력을 읽기 전에 다음에 나오는 프롬프트를 에코하라는 옵션입니다.
# 이 옵션들은 순서가 바로 되어 있어야 하기 때문에 쓰기가 약간 까다롭습니다.
done

echo "create database $db;" > query
# query 파일에 로그 남기기 시작
echo "use mysql;" >> query
echo "insert into user (host,user,password) values('localhost','$db_user',password('$passwd'));" >> query
echo "insert into db values('localhost','$db','$db_user','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');" >> query
echo "flush privileges" >> query
echo "mysql root계정의 패스워드를 입력 하세요."
sleep 1
echo "mysql root계정의 패스워드가 설정되어 있지 않다면, 그냥 엔
터를 치세요"
if mysql -u root -p < query; then
echo " "
sleep 1
echo "mysql db 및 계정이 추가 완료되었습니다. 아래와 같이
접속을 하세요."
sleep 1
echo " "
echo "mysql -u $db_user -p $db"
echo " "
else
echo " "
echo "DB 생성에 실패 하였습니다. ERROR 라인을 확인 하시
고 다시 시도하세요."
echo " "
fi

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/11/18 10:52 2008/11/18 10:52
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/34

[pgsql] pgsql export to csv

To export PostgreSQL data to csv file using psql interactive terminal.

open terminal
su postgres
psql <db_name>
\f ','
\a
\t
\o outputfile.csv
select ..... (your sql select statement)
\o
\q


Additional notes: If you want a TAB delimited file instead of comma, use \f 'Ctrl-V TAB'. \f sets the field separator. \a echo all. \t tuples(rows) only. \q quit.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/10/31 18:38 2008/10/31 18:38
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/32

[mysql] 쿼리 결과를 파일로 저장하기

SELECT colname INTO OUTFILE "~/outfile.csv" FIELDS TERMINATED BY ',' FROM table;
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/07/11 16:41 2008/07/11 16:41
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/21

[오라클] 쿼리 결과를 csv로 저장하기

set echo off
set null @
set pages 0
set colsep ','
set trimspool on
set lines 30000
set termout off

spool 파일명.csv;

select * from tables;
spool off

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/06/18 13:58 2008/06/18 13:58
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/19

[mysql] mysql-bin.xxxx 보기?

mysqlbinlog mysql-bin.xxxx
출력을 txt로 할려면 > log.txt

끝!

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by ⓒ쟁이™

2008/05/06 17:51 2008/05/06 17:51
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://funix.net/rss/response/16