簡體   English   中英

什么相當於 OracleDB 中 Postgres 的 fsync 設置?

[英]What's the equivalent to Postgres's fsync setting in OracleDB?

我有一個在 CI 管道中運行的 OracleDB 數據庫。 它在每次測試運行時進行設置和拆除; 而且速度非常慢。

由於我不關心完整性,是否可以在不刷新磁盤的情況下運行 OracleDB? 很像 Postgres 的 fsync 設置?

我相信COMMIT_WAIT Oracle 參數類似於 PostgreSQL 的 fsync 設置。 運行以下命令后,Oracle 不會等待提交刷新到磁盤:

alter system set commit_wait = nowait;

但是根據我對該參數的有限經驗,除非您的系統執行大量可笑的提交,否則它不會顯着提高性能。 也許您還應該考慮使用 NOARCHIVELOG 模式。 Oracle 仍會將事務數據寫入磁盤,但它至少會停止制作額外的副本:

SQL> shutdown  immediate;
SQL> startup mount
SQL> alter database noarchivelog;
SQL> alter database open;

但即使是這些設置也可能不會顯着改善管理任務時間。 Oracle 實例永遠不會是小型輕量級進程。 最接近的是多租戶選項,它可以快速創建可插拔數據庫。 但是該選項需要設置一個中央容器數據庫,這可能是您首先要避免的。

您能否提供有關您的 CI 管道的更多信息? 可能有一些特定於您的環境的優化。 例如,我認為 Oracle 有一些代碼來支持 Docker (雖然我不熟悉這些選項)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM