최근에 DR없는 서비스 장애가 터졌다...Fuxxxxxx!
서비스 중의 중간다리 역할을 해주는 놈(ex. A업무)의 스토리지 작업 중 장애가 터져버렸다.
DR구축 전까지 이 놈의 비상전환용을 찾아서 매주 1회라도 데이터를 옮겨둬야한다.
지령 : 주 1회, 이 놈의 데이터를 B업무 DB(운영중인 다른놈)에다가 임시로라도 옮겨둬라~
옮길 용량은 크지않으니 일단 어떻게 옮길 지 고민을 해봤다.
흠냠... A와 B의 물리적인 위치는 다르기 때문에 방화벽을 열수 있나?
확인 결과 : 전용선이 뚫려있으니 Ok
B에다가 부어둬야 하니 DBLINK는 어디에? tnsnames.ora는 어디꺼를 바꿔야하나...
엔지니어에 문의 후 알게됨.
어디에다 만들어야하냐!
A의 데이터를 B에다가 부어야한다.
A->B라고 생각하면 오산.
B에서 A를 긁어와야함.
고로, B(비상전환용)꺼 tnsnames.ora DBLINK를 생성 및 수정
tnsnames.ora
A업무 alias = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = A DB IP)(PORT = A DB PORT))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = A DB ServiceName)
)
)
tnsping A업무alias 를 했을때 정상? -> DBLINK 만들러!
안된다? -> 방화벽체크 및 tns정상수정 확인
DBLINK를 만들어보자
B(비상용)
SQL> CREATE [PUBLIC] DATABASE LINK <link_name>
CONNECT TO <user> IDENTIFIED BY <password>
USING '<service_name>';
정상 생성 확인
SQL> select * from all_db_links;
간단히 접속 확인
SQL> select * from table@link_name;
정상 확인 되면 3단계로
$ impdp user/passwd network_link=link_name schemas=schema logfile=imp.log
-- 이외 옵션은 각자 환경에 맞게 추가
-- 나는 remap_tablespace, exclude, parallel, content 옵션 추가
로그 확인하면서 에러나는거 확인
나는 impdp할때 에러가 계속 나길래 확인해보니
as-is쪽에 있는 profile이 없어서 나는 에러였음.
profile도 꼭 확인 후 진행.