프로덕션 데이터베이스 inOracle 11g - 전체 스키마가 있습니다. 관계를 유지하면서 테스트 데이터 (모든 값이 왜곡 된)를 생성하려면 어떻게해야합니까? (예 : 문자열 값만 ids 또는 숫자가 깨지지 않습니다.) 데이터 생성기처럼이를 수행 할 수있는 도구가 있거나 수동으로 쉽게이 작업을 수행 할 수 있습니까?오라클의 실제 원본 데이터베이스에서 테스트 데이터를 생성하는 방법 11g
1
A
답변
0
보고 미리 감사 http://docs.oracle.com/cd/B10500_01/appdev.920/a96612/d_obtoo2.htm http://www.oracle.com/us/products/database/data-masking-best-practices-161213.pdf 다음을 사용하여이 작업을 수행 할 수 있습니다 http://test.techwell.com/sites/default/files/articles/XUS304776788file1_0.pdf
0
간단한 SQL 쿼리를 사용하여 데이터를 생성합니다. 예를 들어 아래의 쿼리를 고려하십시오.
SELECT 'ORACLE' || ROWNUM ID,
DEPT_CD,
ACCT_NO,
TITLE,
NO_OF_SUBORDN,
ANNUAL_SALARY,
CUBICLE_ID,
DATE_OF_JOINING,
V_CCY_CODE
FROM (SELECT TRUNC(DBMS_RANDOM.VALUE(100, 1000)) DEPT_CD,
TRUNC(DBMS_RANDOM.VALUE(0, 20)) NO_OF_SUBORDN,
TRUNC(DBMS_RANDOM.VALUE(20000, 200000), 2) ANNUAL_SALARY,
DBMS_RANDOM.STRING('U', 10) || '/' ||
TRUNC(DBMS_RANDOM.VALUE(100, 1000)) CUBICLE_ID,
SYSDATE + DBMS_RANDOM.VALUE(-365 * 15, -1) DATE_OF_JOINING
FROM DUAL
CONNECT BY LEVEL <= 100) TBL1
LEFT OUTER JOIN (SELECT DISTINCT V_CCY_CODE
FROM DIM_CURRENCY
ORDER BY DBMS_RANDOM.VALUE) TBL2 ON 1 = 1
LEFT OUTER JOIN (SELECT DISTINCT ACCT_NO, TITLE
FROM DIM_ACCOUNT
ORDER BY DBMS_RANDOM.VALUE) TBL3 ON 1 = 1
ORDER BY DBMS_RANDOM.VALUE;
이 쿼리에서 TBL1의 DBMS_RANDOM 패키지를 사용하여 임의의 데이터가 생성됩니다. TBL2 및 TBL3에서와 같이 디멘션 테이블 또는 룩업 테이블의 데이터를 데카르트 조인을 사용하여 가져올 수 있습니다.
참고 : 다른 테이블과 함께 데카르트 조인이 이루어 지므로 결과 데이터 세트가 커질 수 있으므로 TBL1의 LEVEL을 최소로 유지하십시오.