보고 있 는 ORACLE 튜 토리 얼 은 Oracle 의 서로 다른 데이터베이스 간 비교 분석 스 크 립 트 입 니 다.Oracle 데이터베이스 개발 응용 에서 데이터베이스 관리자 에 게 이러한 수 요 를 가진다.두 개의 서로 다른 사례 간 의 특정한 모델 에서 대상 의 차 이 를 비교 하거나 두 개의 서로 다른 사례 의 특정한 모델 에서 표 정의 의 차이 점 을 비교 하 는 것 은 데이터 베이스 소프트웨어 와 관련 된 개발 응용 에서 자주 볼 수 있다.일반 데이터 베이스 소프트웨어 의 개발 은 모두 먼저 데이터 베 이 스 를 개발 하 는 데 진행 되 고 어느 정도 개발 한 후에 시스템 이 운영 에 투입 되 는데 이때 소프트웨어 는 유지 단계 에 있다.시스템 운영 중 에 발생 하 는 오류,bug 등 과 응용 시스템 의 업그레이드 에 대해 백 엔 드 프로그램 을 조정 해 야 합 니 다.데이터 베이스 개발 자 들 은 이런 어색 한 일 을 자주 만 났 습 니 다.일정 시기 까지 유지 하면 개발 창고 와 운영 창고 사이 에 차이 가 생 겼 습 니 다.이런 차 이 는 무엇 입 니까?또 다른 상황 은 만약 에 여러 곳 에서 동시에 사용 하고 매번 의 배경 업 그 레이 드 를 하면 데이터 베 이 스 는 업 그 레이 드 를 했 고 업 그 레이 드 를 하지 않 았 으 며 상세 한 기록 이 없 으 면 우리 의 난처 한 일 을 초래 할 수 있다 는 것 이다. 또한 Oracle 의 고급 테이블 복제 환경 을 구축 하려 면 복 제 된 구조 와 복 제 된 테이블 을 계획 한 후에 복 제 된 테이블 을 복제 그룹 에 정식으로 가입 하기 전에 복 제 된 테이블 이 주 노드 와 주 정의 노드 간 의 차이성 을 검사 하 는 것 이 중요 하 다.만약 에 이 표 정의 사이 에 작은 차이 가 존재 한다 면 특정한 필드 가 한 노드 에 서 는 Null 을 허용 하고 다른 노드 에 서 는 Not 입 니 다. Null,복사 그룹 에 시 계 를 추가 할 때 이러한 오류 가 발생 합 니 다."ORA-23309 object string.string of type string "exists"는 사실 이 오 류 를 일 으 킨 원인 은 바로 주 정의 노드 와 주 노드 간 표 의 정 의 를 복제 하 는 데 일부 차이 가 존재 하기 때문이다.시스템 은 두 개의 서로 다른 표 라 고 생각 하지만 두 개의 데이터 베이스 에서 똑 같은 이름 을 가진다.복사 해 야 할 시계 가 많 으 면 두 노드 의 복사 표 간 의 차 이 를 손 으로 비교 하 는 것 은 많은 작업량 이 필요 하고 정확 하지 않다. 업계 에서 유명한 데이터베이스 소프트웨어 보조 제품 공급 업 체 인 미국 엠 바 카 데 로(www.embarcadero.com)는 전체 데이터베이스 솔 루 션 에서 이에 상응하는 Change 라 는 것 을 제공 했다. Manager 의 제품,이 제품 의 큰 용 도 는 서로 다른 사례 간 의 차 이 를 비교 분석 하 는 것 이다.Oracle OEM(oracle) enterprise manager)가방 에 도 DB-Diff 라 는 도 구 를 제공 하고 두 데이터베이스 간 의 차 이 를 비교 하 는 데 도 사용 된다. 사실은 일반적인 데이터 베이스 개발 에 대해 어느 정도 에 위 에서 언급 한 이런 도구 소프트웨어 가 필요 하지 않다.게다가 이런 제품 들 은 쉽게 얻 고 사용 할 수 있 는 것 이 아니다.위 에서 언급 한 이러한 문제 에 대해 두 개의 SQL 스 크 립 트 를 제공 하여 서로 다른 데이터베이스 인 스 턴 스 간 대상 의 차이 와 표 정의 의 차 이 를 비교 분석 할 수 있 습 니 다. 1.두 개의 서로 다른 사례 에서 특정한 모델 의 대상 차 이 를 비교 합 니 다. 아래 스 크 립 트 를 실행 하기 전에 먼저 데이터베이스 사용자 와 대비 해 야 할 두 개의 인 스 턴 스 간 데이터 베 이 스 를 연결 해 야 합 니 다.다음은 이 스 크 립 트 를 실행 하 는 예 입 니 다.SQL/PLUS 에서 이 스 크 립 트 를 실행 하면 시스템 에 다음 과 같은 알림 이 나타 납 니 다. 대상 소유자(모드): repadmin 첫 번 째 인 스 턴 스 데이터베이스 연결 이름 (포괄 하 다 @):@ora_zs 첫 번 째 인 스 턴 스 데이터베이스 연결 이름 (포괄 하 다 @):@ora_sjjk
[Next Page]그 중에서 프로그램 은 입력 대상 의 소유자,즉 그 사용 자 를 비교 해 야 합 니 다.여 기 는 repadmin 사용자 입 니 다.그리고 대비 가 필요 한 인 스 턴 스 연결 이름 입 니 다.여 기 는 ora 입 니 다.zs 와 orasjjk,마지막 으로 비교 보고 서 를 드 립 니 다. 첨부:PL/SQL 프로그램 스 크 립 트 목록: 2.서로 다른 모델 에서 표 정의 의 차 이 를 비교 합 니 다. 실행 방법 은 앞의 첫 번 째 스 크 립 트 와 마찬가지 로 더 이상 설명 하지 않 습 니 다.다음은 실행 실례 결과 입 니 다. 대상 소유자(모드): db_zgxt 첫 번 째 인 스 턴 스 데이터베이스 연결 이름 (포괄 하 다 @):@ora_cx 첫 번 째 인 스 턴 스 데이터베이스 연결 이름 (포괄 하 다 @):@ora_zs 이전 페이지