Oracle 12c 릴리스 2 버전에서 Oracle은 외부 테이블에 파티션을 생성할 수 있는 기능을 제공했습니다. Oracle 19c 버전에서 Oracle은 데이터베이스 외부의 일부 파티션(예:플랫 파일)과 테이블 공간(예:데이터베이스 내부)의 일부 파티션을 생성할 수 있는 Hybrid Partitioning이라는 새로운 기능을 도입했습니다.
이 기능의 도움으로 덜 사용된 이전 파티션을 외부 소스(예:Linux 파일 시스템 및 데이터베이스에서 가장 활성화된 파티션)로 이동할 수 있습니다. 이 데모에서는 4개의 파티션 DATA_2019, DATA_2020, DATA_2021이 있는 DATA라는 하이브리드 분할 테이블을 생성합니다. &데이터_2022. 2019년, 2020년 및 2021년 데이터는 OS 디렉토리 /home/oracle/data_dir.
이 3개의 플랫 파일에는 공백으로 구분된 2019년, 2020년 및 2022년 데이터가 포함되어 있습니다.
1단계:데이터베이스에 로그인하고 대상 설정 테이블을 생성해야 하는 PDB입니다.
2단계:OS 디렉토리 data_dir을 가리키는 데이터베이스에 DATA_FILES_DIR 디렉토리를 만듭니다. 사용자 APP_USER를 만들고 디렉토리에 대한 읽기, 쓰기 권한을 부여합니다.
3단계:APP_USER에 하이브리드 분할 테이블 DATA를 만듭니다. 파티션 DATA_2019, DATA_2020 및 DATA_2021은 데이터베이스 외부에 있으며 플랫 파일의 데이터를 포함합니다. 그러나 DATA_2022 파티션은 데이터베이스 내부에 있습니다.
4단계:각 파티션에서 쿼리 데이터를 실행할 수 있습니다.
데이터_2019 -
데이터_2020 -
DATA_2021 -
DATA_2022 -
5단계:생성된 테이블 DATA가 하이브리드 파티션 테이블인지 확인?
6단계:DATA_2022 파티션에 데이터를 삽입하려고 하면 ORA-01950 오류와 함께 실패합니다. 'USERS' 테이블스페이스에 대한 권한이 없습니다. 이것은 파티션 DATA_2022의 데이터가 USERS 테이블스페이스, 즉 데이터베이스 내부에 저장될 것임을 확인합니다. 테이블스페이스 USERS에 할당량을 줄 때 파티션 DATA_2022에 데이터를 삽입할 수 있습니다.
7단계 :아래 쿼리는 데이터베이스에 DATA_2022 파티션만 저장되어 있음을 보여줍니다. 다른 파티션 데이터는 데이터베이스 외부에 있습니다.
결론
이 새로운 기능을 사용하여 활성화되지 않은 테이블의 오래된 파티션을 데이터베이스 외부의 다른 저렴한 스토리지로 이동할 수 있습니다. 반면 활성 테이블 데이터는 Oracle 데이터베이스 내부에 남아 있습니다.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.