본문 바로가기

db/oracle

oracle 계정 생성 및 링크연결

반응형

프로젝트를 시작 시

오라클 테스트 서버 구축을 위한 AS-IS DB 이관하기

 

쉽지만 매번하는일이 아니다. 가끔씩 진행하다 보니 기억이 나질 않아 글을 남긴다

 

아래 있는 쿼리를 먼저 실행하여 oracle 버전도 확인하고 table 갯수, db용량 등을 확인 해 본다.

 

1. 오라클 백을 받은 뒤 복구하는 방법

   이방법은 오라클 버전이 같아야 된거 같다 버전이 조금 틀리면 안될 경우도 많아 패스

   디비에 원격 접속이 안되는 경우가 대부분이라서 백업 파일을 복사해 오는 것도 쉽지 않음

 

2. Oracle SQL Developer 툴로 오라클 디비를 복사하면 좋겠지만 잘되지 않는 경우가 많다.

   이유는 릴레이션이 걸려있다거니 인덱스 키 값등이 제대로 되지 않는경우 때문에..

 

  그래도 시도 해볼만 하다 마우스 몇번 만 눌러 보면 되기 때문에. .하지만 용량이 클경우 시간이 오래 걸린다

 

3. 가장 확실한 방법이지만 노가다다

   귀찮지만 테이블 생성 스크립트를 복사하거나 엑셀에서 스크립트를 자동으로 만들어서 하는 방법이다

   스크립트로 전부 만들어서 한번에 생성 다음에도 사용할 수 있다.

   table 목록을 가지고 insert, select 문을 만들어서 실행한다.

 

 

oracle 생성하여 이관 시 아래 쿼리 들만 있어도 이관하는게 큰 문제는 없어 보인다

 

디비 버번이 몬지 확인을 해보자

-- 디비 버젼 조회

SELECT * FROM V@VERSION

 

새로 만들 오라클 DB를 생성하고

-- 오라클 DB 생성

CREATE USER [DB아이디] IN IDENTIFIED BY [DB PW]

 

새로 생성 된 오라클 계정에 권한을 줍니다.

-- 생성 된 오라클 계정 권한 주기

GRANT CONNECT, RESOURCE, DBA TO [DB아이디]

 

다른 서버 에서 복사를 하기 위해 디비 링크를 걸어 줍니다.

-- 디비링크

CREATE DATEBASE LINK [링크할DB]

CONNECT TO [복사될DB] IDENTIFIED BY [복사될DB PW]

USING '(DESCRIPTION = 

(ADDRESS = (PROTOCOL = TCP)(HOST=[아이피])(PORT=1521)

(CONNECT_DATA=(SERVICE_NAME=[링크DB서비스아이디]))

)'

 

테이블이 몇개나 있는지 확인 해보고

-- TABLE 조회

SELECT * FROM ALL_TABLES WHERE OWNER = ' [디비ID] '

 

생성 된 테이블이 용량이 어떤지 도 한번 확인해 보자

가끔 스크립트 떠올때 보면 용량이 큰경우가 있어 데이터 이관이 안될때가 있다

XE버전을 사용하기 때문에 11GB 이상 사용이 되지 않는다

-- DB 저장 경로 조회

SELECT * FROM DBA_DATA_FILES

 

혹시 잘 못 된거 같으면 생성 한 디비 계정 삭제 후 처음 부터 다시 하자

-- 디비 계정 삭제

-- DROP USER [디비ID] CASCADE

 

 

 

반응형

'db > oracle' 카테고리의 다른 글

windows oracle on/off 자동 실행  (0) 2024.06.06
oracle limit offset test query  (0) 2024.02.10
oracle random name  (2) 2024.02.09
egov 4.1 oracle 연결  (2) 2024.02.08
oracle xml parsing  (0) 2024.02.06