ORACLE Database / WAS (iAS) / SQL 자료실 - 포기하지 않으면 실패하지 않는다!
Vote Reply Modify Delete Forward Prev Next List

  Author   : 조성환 [ ladmin ] Vote: 1160, Hit: 3315, Lines: 62, Category: Etc.
사용자 이전하기

1. exp 를 사용해서 특정 사용자의 정보나 테이블, 뷰 등의 데이터를 백업하여
  바이너리 파일을 만든다.
2. 현재 사용중인 데이터베이스에서 그 사용자가 만든 테이블이나
  뷰 등을 삭제한다.
3. imp 를 사용해서 사용자 정보와 데이터들을 다시 저장한다.
4. 저장이 끝난 후에 이를 확인하기 위해서 SQL문들을 수행한다.




1. exp 로 사용자 정보를 백업 받는다.

exp scott/tiger owner=scott file=scott.dmp log=scott.log

2. 사용자별 테이블스페이스 정보를 확인한다.

SELECT USERNAME,
 DEFAULT_TABLESPACE,
 TEMPORARY_TABLESPACE
FROM DBA_USERS;


3-1. 사용자랑 테이블 스페이스가 같은 경우
 * imp 할 서버에서 사용자를 제거한다.
 * 같은 사용자를 추가한다.
 * imp 로 입력한다.

3-2. 사용자는 같고 테이블 스페이스가 다른경우
 * imp 할 서버에서 사용자를 제거한다.
   SVRMGR> drop user 사용자ID  [CASCADE];

 * 테이블스페이스가 없으면 새로 생성한다.
   CREATE TABLESPACE condo
   DATAFILE '/ora/oradata/ora0/condo.dbf' SIZE 100M
   AUTOEXTEND ON    
   
 * 사용자를 생성한다. (테이블스페이스가 다른 경우)
CREATE USER 아이디 IDENTIFIED BY 비번
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;

GRANT connect, resource TO 아이디;
   
 편법) 1 에서 받은 파일에서 tablespace 이름을 바꾼다.
   1,$s/TABLESPACE "DOTCOM"/TABLESPACE "CONDO"/g  
 
 * imp 로 입력한다.
 imp scott/tiger commit=y IGNORE=y file=scott.dmp log=scott.imp.log
   FROMUSER=scott TOUSER=scott
 
 IGNORE : 생성 오류 무시
 

3-3. 사용자가 다르고 테이블스페이스가 같은경우
3-4. 사용자랑 테이블스페이스가 다른경우

4. 결과가 바른지 확인한다.


Prev: import 할 때 tablespace를 변경하려면
Next: import / export 하기 [강추]
2006/05/29(20:55) from 203.234.120.78
CrazyWWWBoard 2000

Vote Reply Modify Delete Forward Prev Next List
(c) Nobreak Technologies, Inc.