Oracle을 실행하는 Amazon RDS DB 인스턴스에서 sys.aud$ 테이블을 자르려면 어떻게 해야 하나요?

2분 분량
0

Oracle을 실행하는 Amazon Relational Database Service(Amazon RDS) DB 인스턴스에서 sys.aud$ 테이블을 자르려면 어떻게 해야 하나요?

해결 방법

sys.aud$ 테이블을 자르려면 마스터 사용자로 다음 명령을 실행합니다.

SQL> exec rdsadmin.rdsadmin_master_util.truncate_sys_aud_table;

프로시저가 성공적으로 실행되면 다음과 비슷한 출력이 표시됩니다.

PL/SQL procedure successfully completed.
SQL> select count(*) from sys.aud$;
 COUNT(*)
----------
         0

참고: 테이블을 자르려면 RDS DB 인스턴스에서 마스터 사용자로 TRUNCATE_SYS_AUD_TABLE 프로시저를 실행할 수 있어야 합니다. Oracle 버전 12.1.0.2.v2 및 11.2.0.4.v6과 이후 버전에서 이 작업을 지원합니다.

이전 명령이 실패하는 경우 AWS Support에 문의하여 지원을 받으십시오. AWS Support로부터 받을 지원의 종류를 확인하려면 다음 명령을 실행하고 출력을 기록합니다.

1.    다음 명령을 실행하여 RDS DB 인스턴스에서 TRUNCATE_SYS_AUD_TABLE 프로시저를 사용할 수 있는지 확인합니다.

SQL> desc rdsadmin.rdsadmin_master_util

RDS DB 인스턴스에 TRUNCATE_SYS_AUD_TABLE 프로시저가 있으면 다음과 비슷한 출력이 표시됩니다.

FUNCTION IS_DML_ENABLED RETURNS BOOLEAN
PROCEDURE TRUNCATE_SYS_AUD_TABLE
PROCEDURE TRUNCATE_SYS_FGA_LOG_TABLE

2.    다음 명령을 실행하여 RDS DB 인스턴스에서 RDS_MASTER_ROLE 역할을 사용할 수 있는지 확인합니다.

SQL> select role from dba_roles where role='RDS_MASTER_ROLE';

RDS DB 인스턴스에서 RDS_MASTER_ROLE 역할을 사용할 수 있으면 다음과 비슷한 출력이 표시됩니다.

ROLE
--------------------------------------------
RDS_MASTER_ROLE

3.    다음 명령을 실행하여 마스터 사용자에게 TRUNCATE_SYS_AUD_TABLE 프로시저를 실행할 수 있는 권한이 있는지 확인합니다.

SQL> select granted_role, grantee, admin_option from dba_role_privs where granted_role='RDS_MASTER_ROLE';

마스터 사용자에게 TRUNCATE_SYS_AUD_TABLE 프로시저를 실행할 수 있는 권한이 있으면 다음과 비슷한 출력이 표시됩니다.

GRANTED_ROLE         GRANTEE              ADM
-------------------- -------------------- ---
RDS_MASTER_ROLE      SYS                  YES
RDS_MASTER_ROLE      MASTER_USER          NO

관련 정보

Amazon RDS에서 구동되는 Oracle

Oracle DB 인스턴스에 대한 일반 DBA 작업