코딩/Oracle
Oracle 시퀀스 export 쿼리
오맹이
2021. 1. 22. 16:03
상위버전 19c 에서 11g로 DB를 복사해야 하는 일이 생겼는데
SQL Developer로 테이블, 뷰, 트리거, 프로스져는 전부 옮겼다.
문제는 시퀀스인데 19c에서 시퀀스를 생성하는 쿼리와 11g에서 시퀀스를 생성하는 쿼리가 달라 시퀀스를 익스포스 -> 임포트를 할 수 없었다.
SELECT
'CREATE SEQUENCE ' || sequence_owner || '.' || sequence_name ||
' INCREMENT BY ' || increment_by ||
' START WITH ' || last_number ||
' MAXVALUE ' || max_value ||
' MINVALUE ' || min_value ||
CASE WHEN cycle_flag = 'N' THEN ' NO' ELSE ' ' END || 'CYCLE ' ||
CASE WHEN cache_size = 0 THEN 'NOCACHE' ELSE 'CACHE ' || cache_size END ||
CASE WHEN order_flag = 'N' THEN ' NO' ELSE ' ' END || 'ORDER;' ddl_sql
FROM
dba_sequences
WHERE
sequence_owner IN
(
'YOUR DB'
)
ORDER BY
sequence_owner,
sequence_name
;
이 쿼리를 돌리면 시퀀스 생성 쿼리가 나온다