AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

Amazon RDS for Oracle DB 인스턴스에서 ORA-04088 오류 메시지를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Relational Database Service(Amazon RDS) for Oracle DB에서 작업을 수행하려고 하면 ORA-04088 오류가 발생합니다.

해결 방법

Amazon RDS for Oracle은 관리형 서비스입니다. 즉, 수행할 수 없는 특정 작업이 있습니다. 예를 들어 SYS, SYSTEM 및 Oracle에서 제공하는 기타 관리 계정은 액세스할 수 없습니다. 또한 관련 객체에 대해 DDL 또는 GRANT 작업을 수행할 수 없습니다.

Amazon RDS for Oracle에는 RDSADMIN 스키마 아래에 DDLGRANT 트리거가 내장되어 있습니다. 이러한 트리거는 RDS for Oracle DB 인스턴스에서 제한된 DDL, GRANT 문 또는 보호된 작업이 발생할 때 간접 호출됩니다. SYS, SYSTEM, RDSADMIN, RDS_DATAGUARD, RDSSEC, DBSFWUSER는 Amazon RDS for Oracle 보호 스키마입니다.

ORA-04088은 특정 트리거가 실행될 때 Oracle 데이터베이스에서 발생하는 런타임 오류입니다. 다음 작업을 시도하면 ORA-04088 오류가 표시될 수 있습니다.

  • 사용자 지정 트리거를 실행합니다.
  • Amazon RDS for Oracle에서 지원되지 않는 작업을 실행합니다. 예를 들어 identifier라는 데이터 파일을 사용하여 테이블스페이스를 생성할 수 없습니다. Amazon RDS는 Oracle 관리형 파일만 지원합니다. 또한 사용자 지정 경로로 디렉터리를 만들 수 없습니다. 자세한 내용은 Oracle DB 인스턴스에 대한 일반적인 데이터베이스 작업 수행을 참조하십시오.
  • Oracle로 보호된 스키마 객체에 대해 Amazon RDS에서 DDL을 실행합니다. 여기에는 테이블 삭제 및 보호된 스키마의 객체에 대한 공개 동의어 수정이 포함됩니다.
  • Amazon RDS for Oracle로 보호된 스키마로 데이터베이스 객체를 생성하거나 수정하는 덤프에서 가져오기 작업을 수행합니다.
  • FULL=Y를 사용하여 데이터 펌프 가져오기를 실행합니다.
  • 데이터 펌프 덤프를 사용하여 가져오기 작업을 수행합니다.
  • Amazon RDS for Oracle에서 GRANT 명령을 실행합니다. 이 명령은 특정 권한 및 역할로 제한됩니다. 예를 들어 ALTER DATABASE, ALTER SYSTEM, GRANT ANY PRIVILEGE, DROP ANY DIRECTORY, GRANT ANY ROLE 또는 CREATE ANY DIRECTORY와 같은 권한을 부여할 수 없습니다. 또한 Amazon RDS for Oracle 사용자 또는 역할에 RDS_MASTER_ROLE을 부여할 수 없습니다.
  • DAS(Database Activity Streams, 데이터베이스 활동 스트림)가 활성화되어 있는 경우 감사 정책을 수정하거나 AUDIT_TBS 감사 테이블스페이스를 DROP/ALTER합니다.

ORA-04088 오류 조사 및 해결

다음 문제 해결 단계를 사용하여 이 오류를 조사하고 해결하십시오.

사용자 지정 트리거로 인한 오류 해결

오류가 사용자가 생성한 사용자 지정 트리거로 인해 발생한 경우 관련 줄 번호와 ORA-06512 오류 메시지를 확인하십시오. 이 정보는 트리거 작동 실패 여부를 나타냅니다. 원인을 확인하려면 사용자 지정 트리거의 코드를 검토한 다음 그에 따라 문제를 해결하십시오.

데이터 펌프를 가져오는 동안 발생하는 오류 해결

데이터 펌프 덤프 가져오기 작업 중에 ORA-04088 오류가 발생하는 경우 다음 모범 사례를 검토하십시오.

  • 전체 모드(FULL=Y)에서 가져오지 마십시오. 스키마 또는 테이블 모드를 사용하여 특정 스키마와 객체를 가져옵니다. AWS는 객체를 Amazon RDS for Oracle 보호 스키마로 가져오는 것을 지원하지 않습니다. 대신 remap을 사용하여 객체를 다른 스키마로 가져옵니다.
  • Oracle Data Pump 내보내기 파라미터 TRANSPORT_TABLESPACES, TRANSPORTABLE 또는 TRANSPORT_FULL_CHECK로 생성된 덤프 파일을 가져오지 마십시오. RDS for Oracle DB 인스턴스는 이러한 덤프 파일의 가져오기를 지원하지 않습니다. 대신 Oracle의 전송 가능 테이블스페이스 특성을 사용하여 자체 관리형 Oracle 데이터베이스에서 RDS for Oracle DB 인스턴스로 테이블스페이스 세트를 복사합니다.
  • SYS, SYSTEM, RDSADMIN, RDSSECRDS_DATAGUARD에 Oracle Scheduler 객체가 포함된 덤프 파일을 가져오지 마십시오. Oracle Data Pump를 사용하여 객체를 가져오는 방법에 대한 지침은 Oracle Data Pump 모범 사례를 참조하십시오.

자세한 내용은 Oracle DBA 권한에 대한 제한 사항을 참조하십시오.