本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行 Oracle 資料庫執行個體的一般日誌相關任務
接下來,您可以了解如何在執行 Oracle RDS 的 Amazon 資料庫執行個體上執行與記錄相關的特定常見DBA任務。為了提供受管服務體驗,Amazon RDS不提供資料庫執行個體的 Shell 存取權,並限制對需要進階權限的特定系統程序和資料表的存取權。
如需詳細資訊,請參閱Amazon RDS for Oracle 資料庫日誌檔案。
設定強制記錄
在強制記錄模式中,Oracle 會將所有變更記錄至資料庫,暫存資料表空間和暫存區段中的變更除外 (會忽略 NOLOGGING
子句)。如需詳細資訊,請參閱 Oracle 文件中的指定FORCELOGGING模式
若要設定強制記錄,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_util.force_logging
。force_logging
程序具有下列參數。
參數名稱 | 資料類型 | 預設 | 是 | 描述 |
---|---|---|---|---|
|
布林值 |
true |
否 |
設定為 |
下列範例會將資料庫設為強制記錄模式。
EXEC rdsadmin.rdsadmin_util.force_logging(p_enable =>
true
);
設定補充記錄
如果您啟用補充記錄, LogMiner 具有支援鏈結列和叢集資料表的必要資訊。如需詳細資訊,請參閱 Oracle 文件中的補充記錄
Oracle 資料庫預設不會啟用補充記錄。若要啟用和停用補充日誌記錄,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_util.alter_supplemental_logging
。如需 Amazon 如何RDS管理 Oracle 資料庫執行個體的封存重做日誌保留的詳細資訊,請參閱 保留封存的重做日誌。
alter_supplemental_logging
程序具有下列參數。
參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
---|---|---|---|---|
|
varchar2 |
— |
是 |
|
|
varchar2 |
null |
否 |
補充記錄的類型。有效值為 |
下列範例會啟用補充記錄。
begin rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => '
ADD
'); end; /
下列範例會為所有長度固定的最大資料欄啟用補充記錄。
begin rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => '
ADD
', p_type => 'ALL
'); end; /
下列範例會為主索引鍵資料欄啟用補充記錄。
begin rdsadmin.rdsadmin_util.alter_supplemental_logging( p_action => '
ADD
', p_type => 'PRIMARY KEY
'); end; /
切換線上日誌檔案
若要切換日誌檔案,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_util.switch_logfile
。switch_logfile
程序沒有參數。
下列範例會切換日誌檔案。
EXEC rdsadmin.rdsadmin_util.switch_logfile;
新增線上重做日誌
執行 Oracle RDS 的 Amazon 資料庫執行個體從四個線上重做日誌開始,每個日誌 128 MB。若要新增其他重做日誌,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_util.add_logfile
。
add_logfile
程序具有下列參數。
注意
參數是互斥的。
參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
---|---|---|---|---|
|
正數 |
null |
否 |
日誌檔案的大小 (以位元組為單位)。 |
|
varchar2 |
— |
是 |
日誌檔案的大小。您可以用 KB (K)、MB (M) 或 GB (G) 來指定大小。 |
下列命令會新增 100 MB 的日誌檔案。
EXEC rdsadmin.rdsadmin_util.add_logfile(p_size => '
100M
');
捨棄線上重做日誌
若要捨棄重做日誌,請使用 Amazon RDS 程序 rdsadmin.rdsadmin_util.drop_logfile
。drop_logfile
程序具有下列參數。
參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
---|---|---|---|---|
|
正數 |
— |
是 |
日誌的群組編號。 |
下列範例會捨棄群組編號 3 的日誌。
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp =>
3
);
您只可以捨棄狀態為「未使用」或「非作用中」的日誌。下列範例會取得日誌的狀態。
SELECT GROUP#, STATUS FROM V$LOG; GROUP# STATUS ---------- ---------------- 1 CURRENT 2 INACTIVE 3 INACTIVE 4 UNUSED