Oracle을 실행하는 Amazon RDS DB 인스턴스에서 sys.aud$ 테이블을 자르려면 어떻게 해야 하나요?
최종 업데이트 날짜: 2020년 9월 25일
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