⊙ 사용자가 데이터베이스에 접속해 있을 때 사용자의 세션을 강제 종료실킬 필요가 있다면
ALTER SYSTEM문을 KILL SESSION 연산자와 함께 사용하면 됩니다.

⊙ 사용자의 SESSION KILL은 ALTER SYSTEM 권한이 있어야 합니다.


⊙ ALTER SYSTEM KILL SESSION 명령어가 수행하는 작업

- 사용자의 현재 트랜잭션을 롤백 합니다.
- 현재 사용중인 모든 테이블 또는 행의 LOCK을 풀어 줍니다.
- 사용자에 의해 예약 되었던 시스템 자원을 풀어 줍니다.







세션ID와 시리얼번호를 확인하기 위해서는 V$SESSION 뷰를 조회 해야 합니다.

SQLPLUS system/manager


SQL> SELECT sid, serial#, username
FROM V$SESSION;

SID SERIAL# USERNAME
------- ---------- ------------
8 8589 HBC
17 7243 CMS
18 25707 CMS
...

세션 정보가 화면에 출력 됩니다.



HBC유저의 세션을 KILL하기 위해서는

SQL>ALTER SYSTEM KILL SESSION ’8,8589’;

위의 명령어 수행으로 HBC사용자를 강제 종료 시킵니다.

'먹고살기 > Oracle' 카테고리의 다른 글

ORACLE DATE (날짜 다루기)  (0) 2011.04.05
Database Link사용법  (0) 2011.04.05
oracle JOIN  (0) 2011.04.05
oracle exp/imp  (0) 2011.04.05
Tablespace  (0) 2011.03.30
oracle JOIN 먹고살기/Oracle 2011. 4. 5. 08:44

 JOIN

JOIN 이란?

하나 이상의 테이블로부터 Data를 질의하기 위해서 사용됩니다.
Join조건은 WHERE절에서 기술합니다

사용 형식 :

SQL> SELECT table1.column, table2.column ….
2>
FROM table1, table2,….
3>
WHERE join조건문;

종류

Equijoin Join하고자 하는 두개의 테이블에 같은 컬럼이 있을 때 사용 P.K.와 F.K.와의 관계에서 얻어짐
Non-Equijoin Join하고자 하는 테이블이 직접적 관계가 없는 경우 WHERE절에서 ‘=’가 아닌 다른 연산자를 통해서 얻어짐
Outer join 관계가 있는 테이블을 질의할 경우 결과에 나타나지 않는 행들까지 얻고자 할 때
Self join 테이블 자체내에서 조인할 경우

  • Equijoin

보통 P.K.와 F.K. 관계가 있는 테이블에서 ‘=’ 연산자를 통해서 서로 다른 두개의 테이블을 조인합니다.
SQL> SELECT table1.column, table2.column ….
2> FROM table1, table2,….
3> WHERE table1.column= table2.column ;


SQL> select dept.deptno, emp.empno
2> from dept, emp
3> where dept.deptno=emp.deptno
4> order by 1;

    • Column과 Table에서의 Alias

SQL> select d.deptno, e.empno
2> from dept d, emp e
3> where d.deptno=e.deptno;

    • WHERE절에서의 추가조건

WHERE절에서의 조건문은 하나 이상 기술할 수 있습니다.

SQL> SELECT table1.column, table2.column , tacle3.column….
2> FROM table1, table2, table3….
3> WHERE table1.column= table2.column
4> AND table2.column=table3.column
5> OR …………………………………..;

  • Non-Equijoin

조인하고자 하는 테이블에 직접적인 관계가 없는 상황일 때 WHERE절에서 ‘=’가 아닌 다른 연산자를 통해서 검색을 하는 경우.

SQL> SELECT e.empno, e.ename, e.sal, g.grade
2> FROM emp e, salgrade g
3> WHERE e.sal BETWEEN g.losal AND g.hisal;

  • Outer Join

Equijoin과 비슷하나 결과는 만족하는 행뿐만 아니라 만족하지 않은 행까지도 보기 위해서 사용하는

조인방법을 말합니다.



SQL> select e.deptno, e.ename, d.dname
2> from emp e, dept d
3> where e.deptno(+)=d.deptno;

  • Self Join

Equijoin과 비슷하나 F.K.가 참조하는 P.K.가 같은 테이블에 있을 때 사용하는 방법입니다


SQL> select DISTINCT m.mgr, e.ename
2> fro emp e, emp m
3> where e.empno=m.mgr;


[출처] oracle JOIN|작성자 빠드루가

'먹고살기 > Oracle' 카테고리의 다른 글

Database Link사용법  (0) 2011.04.05
사용자 세션의 강제 종료  (0) 2011.04.05
oracle exp/imp  (0) 2011.04.05
Tablespace  (0) 2011.03.30
OCP  (0) 2011.03.18
Export와 Import는 가장 유용하게 그리고 자주 사용되는 백업관련 DBA ToolKit 입니다.


SQL*Loader는 외부 데이터를 오라클 서버로 업로드 하는 역할을 수행 하지만 Export/Import는 오라클 서버의 데이터를 다른 오라클 서버(이때 플랫폼과는 무관하다. 예를 들어 윈도우용 오라클에서 Export 받은 파일을 Unix/Linux 서버 기반의 오라클로 Import 하는것이 가능하다) 또는 같은 서버의 다른 사용자로 Import 하는 것이 가능 하다.
먼저 Export부터 그 사용법에 대해 알아 보기로 하자.

1. Export
- EXport는 데이터베이스의 논리적인 백업을 제공 한다. 즉 테이블, 데이블스페이스, 데이터를 포함한 사용자, 그리고 사용자가 만든 스키마 오브젝트(Index, View, Synonym, Trigger, DataBase Link, sequence, stored code 등등)등을 백업 받을 수 있는 것이다.

- Export 유틸리티의 Output은 export dump 파일 이다. 이 파일은 import Utility를 통해 읽혀져 다른 데이터베이스등으로 복구 되는 것이다.

- Export 파라미터
많은 파라미터중 UserID라는 파라미터는 꼭 가져야 한다는 것을 기억 하자. Exp 명령 입력하고 아무 파라미터도 주지 않는 경우 기본(Default) 값을 제공하면서 입력을 위한 프롬프트를 보여준다.(이때 사용자 ID와 ORD)는 반드시 입력해야 한다.

USERID : username/password를 값으로 입력 한다. 반드시 입력해야 한다. 만약 전체 데이터베이스를 백업 받기 위해 서는 기술된 User는 명시적으로 exportfull database 롤(Role)을 부여 받아야 한다.




FILE : 출력 파일의 이름(Export후 생기는 dump 파일 이름)




ROWS : Export Dump 파일에 테이블 행(데이터) 포함 여부 표시: (Y)es/(N)o 만약 여러분이 테이블 구조만 export하고 실제 row data는 백업을 원하지 않는 경우에는 rows=n 이라고 명시 해야 한다.(default값은 y)




Query : 테이블의 특정 부분만을 Export 하기 위해서 사용 한다.
(exp userid=scott/tiger tables=emp query=\"where sal \> 2000 \
-----------------------------------------
Export Mode와 관련된 파라미터

FULL : DataBase 레벨의 Export를 수행할지 여부를 표시, 전체 데이터베이스 익스포트 여부를 표시: (Y)es/(N)o
(exp userid=system/manager full=y)




OWNER : Schema Level의 EXport를 수행 할지의 여부를 표시 Export를 원하는 사용자이름을 기술 한다.
(exp userid=system/manager owner=(scott)
TABLES : export할 테이블 테이블 리스트 또는 (Y)es/(N)o
(exp userid=system/manager tables=(emp, dept, salgrade)
(exp userid=system/manager tables=(scott.emp%)
TABLESPACE : export를 원하는 테이블스페이스(TableSpace)를 기술
(exp yserid=system/manager tablespaces = (users) )
-----------------------------------------------------------------------------
INDEXES, CONSTRAINTS, GRANTS, TRIGGERS : Index, Constraints, grant,
triggers등을 export할지의 여부를 지정 (Y)es/(N)o, 기본적으로 앞 4개의 스
키마 오브젝트는 Export 됨
(exp userid=scott/tiger indexes=n constraints=n grants=n triggers=n)

DIRECT : Direct 모드 익스포트 유무 (Y)es/(N)o
INCTYPE : 익스포트 레벨 유형
PARFILE : 파라미터가 명시된 파일의 이름, Export인자들이 많을 경우 별도의 파일로
서 관리 가능
HELP : 대화식 모드에서 익스포트 파라미터 디스플레이 (Y)
LOG : 로깅 메시지를 위한 파일이름을 기술 한다.
CONSISTENT : 익스포트 동안 데이터 갱신시 데이터베이스의 읽기 일관성 뷰 제공
유무: (Y)es/(N)o
BUFFER : 바이트로된 데이터 버퍼 크기: (정수)
COMPRESS : 하나의 익스텐트(Extent)에 모든 데이터를 포함시킬지 명시, (Y)es/(N)o

* Direct Path 익스포트 개념
Direct Path 기능을 사용함으로써 데이터를 훨씬 더 빨리 export할 수 있다.

* Direct-Path 익스포트의 구조
export시 direct 모드의 사용은 파라미터 DIRECT=Y라고 기술함으로써 설정될 수 있다
Direct Path 익스포트는 인스턴스의 다른 자원들과 경쟁하지 않으며 세션에 의해 사용
되는 private area로 데이터베이스 블록을 읽어 들인다.
행들은 전송을 위해 Two-Task Command(TTC) 버퍼로 직접 이동되며 이 TTC 버퍼
내의 데 이터는 Export의 형식으로 되어 있다.

[출처] oracle exp/imp|작성자 빠드루가

'먹고살기 > Oracle' 카테고리의 다른 글

사용자 세션의 강제 종료  (0) 2011.04.05
oracle JOIN  (0) 2011.04.05
Tablespace  (0) 2011.03.30
OCP  (0) 2011.03.18
Oracle Instance  (0) 2011.03.17
1. 테이블 삭제?
데이터 삭제?
등을 미리 검토해 두자.

2. 되도록 동일한 버전에서 exp/imp 하도록 계획하자.
그렇지 않다고 한다면 높은 버전에서 exp하여 낮은 버전으로 imp 되는 지
그 반대의 경우도 조사해 두도록 하자.

3. sequence의 채번번호가 제대로 설정되어 있는 지 확인하자.
그렇지 않으면 시스템 가동후 에 "ORA-00001" 에러가 발생하게 될 것이다.

4. rows=no
테이블 정의만 import하고 싶다면 위의 option을 지정하자.
imp xxx/pass file=file.dmp log=imp.log fromuser=yyy touser=xxx rows=no

5. ignore=y
데이터만 import하고 싶다면 위의 option을 지정하자.
imp xxx/pass file=file.dmp log=imp.log fromuser=yyy touser=xxx ignore=y

6. full=y
데이터베이스 전체를 import할 때 사용한다.
full : 데이터베이스 전체를 imp/exp
owner : 특정 유저를 exp
tables: 특정 테이블을 exp/imp
imp system/manager fully=y owner=test01 file=c:\temp\exp_all.dmp

7. parfile 에 의한 exp/imp
exp system/***** parfile=params1.dat log=20040601.log
-- params.dat --
file=expdat.dmp
tables=(scott.emp,blake.dept)
grants=y
direct=y

---------------
imp system/***** parfile=params2.dat
--- params2.dat ---
file=expdat.dmp
fromuser=scott <-- blake.dept는 import 되지 않는다.
touser=blake
tables=(*)
---------------
FTP 명령어 정리 FTP 2011. 4. 1. 08:58
  • Taget 서버에서 ftp로 올릴자료의 위치 / 내려받을 위치 로 이동
    • /data1/aaa/ 에 작업 위치를 지정한다면
    • 예) cd /data1/aaa/
  • ftp 접속
    • 예 ) ftp 192.168.12.2
    • id 입력
    • pass 입력
    • 성공로그 : 230 User root logged in.
    • Tip) root로 로그인시 해당 remote서버의 /etc/ftpusers 에 해당 계정(root) 이 등록 되어있으면 로그인 할 수 없다. 이 경우 해당 파일에서 해당계정(root)을 삭제 후 ftp 작업을 진행 하며 ftp 작업이 완료되면 다시 추가해 준다.
  • Remote 서버에서 ftp로 올릴자료의 위치 / 내려받을 위치 로 이동
    • /data2/logs/ 에 작업 위치를 지정한다면
    • 예) cd /data2/logs/
  • 전송모드를 지정
    • 대부분 binary 모드에서 작업 한다.
    • 예) type binary
    • 성공로그 : 200 Type set to I.
  • 1개파일 내려받기
    • 자료의 흐름 : Remote서버 -> Target서버
    • get 대상파일
    • 예) get abcd.txt
  • 1개파일 올리기
    • 자료의 흐름 : Target서버 -> Remote서버
    • put 대상파일
    • 예) put abcd.txt
  • 여러개의 파일 내려받기
    • 자료의 흐름 : Remote서버 -> Target서버
    • mget 대상파일*.txt
    • 예) mget *.txt
  • 여러개의 파일 올리기
    • 자료의 흐름 : Target서버 -> Remote서버
    • mput 대상파일*.txt
    • 예) mput *.txt
  • 그외 명령어
    • ascii : 전송모드를 ASCII모드로 설정한다.(ascii또는 as)
    • binary : 전송모드를 BINARY모드로 설정한다.( binary또는 bi)
    • bell : 명령어 완료시에 벨소리를 나게한다.(bell)
    • bye : ftp접속을 종료하고 빠져나간다.(bye)
    • cd : remote시스템의 디렉토리를 변경한다.(cd 디렉토리명)
    • cdup : remote시스템에서 한단계 상위디렉토리로 이동한다.(cdup)
    • chmod : remote시스템의 파일퍼미션을 변경한다.(chmod 755 index.html)
    • close : ftp접속을 종료한다. (close)
    • delete : remote시스템의 파일을 삭제한다.(delete index.old)
    • dir : remote시스템의 디렉토리 내용을 디스플레이한다.(dir)
    • disconnect : ftp접속을 종료한다.(disconnect)
    • exit : ftp접속을 종료하고 빠져나간다.(exit)
    • get : 지정된 파일하나를 가져온다.(get index.html)
    • hash : 파일전송 도중에 "#"표시를 하여 전송중임을 나타낸다.(hash)
    • help : ftp명령어 도움말을 볼 수 있다.(help또는 help 명령어)
    • lcd : local시스템의 디렉토리를 변경한다.(lcd 디렉토리명)
    • ls : remote시스템의 디렉토리 내용을 디스플레이한다. (ls 또는 ls -l)
    • mdelete : 여러개의 파일을 한꺼번에 지울 때 사용한다.( mdelete *.old)
    • mget : 여러개의 파일을 한꺼번에 가져오려할 때 사용한다. ( mget *.gz)
    • mput : 한꺼번에 여러개의 파일을 remote시스템에 올린다.(mput *.html)
    • open : ftp접속을 시도한다.(open 168.126.72.51또는 open ftp.kornet.net)
    • prompt : 파일전송시에 확인과정을 거친다. on/off 토글 (prompt)
    • put : 하나의 파일을 remote시스템에 올린다.(put index.html)
    • pwd : remote시스템의 현재 작업디렉토리를 표시한다.(pwd)
    • quit : ftp접속을 종료하고 빠져나간다.(quit)
    • rstatus : remote시스템의 상황(version, 어디서, 접속ID등)을 표시한다.(rstatus)
    • rename : remote시스템의 파일명을 바꾼다.(remote 현재파일명 바꿀파일명)
    • rmdir : remote시스템의 디렉토리을 삭제한다.(rmdir 디렉토리명)
    • size :remote시스템에 있는 파일의 크기를 byte단위로 표시한다.(size index.html)
    • status : 현재 연결된 ftp세션모드에 대한 설정을 보여준다.(status)
    • type : 전송모드를 설정한다.(type 또는 type ascii 또는 type binary)
    출처 You raise me up to more than I can be! | 어린칼
    원문 http://blog.naver.com/spike21c/50070876150