OceanBase學習之路51|常用的系統配置引數及系統變數有哪些?
本節主要介紹 OceanBase 資料庫使用過程中常用的系統配置引數及系統變數。
叢集級引數
-
memory_limit:用於配置 OBServer 最大可使用的總記憶體大小。當前該值無上限,如果設定的記憶體的最大上限超過了實際的實體記憶體總和,則會導致系統中其他按總記憶體計算的值偏大。
-
預設值:0
-
取值範圍:[0M, +∞)
-
示例:
obclient> ALTER SYSTEM SET memory_limit='50G';
-
-
system_memory:用於設定系統預留給租戶 ID 為
500
的租戶的記憶體容量。-
預設值:0M
-
取值範圍:[0M, +∞)
-
示例:
obclient> ALTER SYSTEM SET system_memory='30G';
-
-
rootservice_memory_limit:用於設定 RootService 的最大記憶體容量限制。
-
預設值:2G
-
取值範圍:[2G, +∞)
-
示例:
obclient> ALTER SYSTEM SET rootservice_memory_limit='2G';
-
-
memstore_limit_percentage:用於設定租戶使用 MEMStore 的記憶體佔其總可用記憶體的百分比。
-
預設值:50
-
取值範圍:(0, 100)
-
示例:
obclient> ALTER SYSTEM memstore_limit_percentage=50;
-
-
trace_log_slow_query_watermark:用於設定查詢的執行時間閾值,如果查詢的執行時間超過該閾值,則被認為是慢查詢,慢查詢的追蹤日誌會被列印到系統日誌中。
-
預設值:1s
-
取值範圍:[1ms, +∞)
-
示例:
obclient> ALTER SYSTEM trace_log_slow_query_watermark='100ms';
-
-
enable_syslog_recycle:用於設定是否開啟回收系統日誌的功能。
-
預設值:False
-
取值範圍:True,False
-
示例:
obclient> ALTER SYSTEM enable_syslog_recycle=False;
-
-
max_syslog_file_count:用於設定在回收日誌檔案之前可以容納的日誌檔案數量。
-
預設值:0
-
取值範圍:[0, +∞)
-
示例:
obclient> ALTER SYSTEM max_syslog_file_count=0;
-
-
enable_sql_audit:用於設定是否開啟 SQL 審計功能。
-
預設值:True
-
取值範圍:True,False
-
示例:
obclient> ALTER SYSTEM enable_sql_audit=True;
-
-
datafile_disk_percentage:表示佔用
data_dir
所在磁碟(data_dir
所在的磁碟將被 OceanBase 資料庫系統初始化用於儲存資料)總空間的百分比。-
預設值:0
-
取值範圍:[0,99]
-
示例:
obclient> ALTER SYSTEM datafile_disk_percentage=90;
-
-
enable_rebalance:用於設定是否開啟自動負載均衡的功能。
-
預設值:True
-
取值範圍:True,False
-
示例:
obclient> ALTER SYSTEM enable_rebalance=True;
-
-
resource_hard_limit:用於分配 Unit。
-
預設值:100
-
取值範圍:(0, 10000]
-
示例:
obclient> ALTER SYSTEM resource_hard_limit=100;
-
-
stack_size:用於設定程式函式呼叫棧的大小。
-
預設值:512K
-
取值範圍:[512K, 20M]
-
示例:
obclient> ALTER SYSTEM stack_size='1M';
-
-
syslog_level:用於設定系統日誌的列印級別。
-
預設值:INFO
-
取值範圍:DEBUG,TRACE,INFO,WARN,USER_ERR,ERROR,PERF
-
示例:
obclient> ALTER SYSTEM syslog_level=INFO;
-
租戶級引數
-
freeze_trigger_percentage:用於設定觸發全域性凍結的租戶使用記憶體閾值。
-
預設值:20
-
取值範圍:(0, 100)
-
示例:
obclient> ALTER SYSTEM freeze_trigger_percentage=20;
-
-
major_compact_trigger:用於設定多少次小合併觸發一次全域性合併。
-
預設值:0
-
取值範圍:[0, 65535]
-
示例:
obclient> ALTER SYSTEM major_compact_trigger=5;
-
-
cpu_quota_concurrency:用於設定租戶的每個 CPU 配額所允許的最大併發數。
-
預設值:4
-
取值範圍:[1, 10]
-
示例:
obclient> ALTER SYSTEM cpu_quota_concurrency=4;
-
-
writing_throttling_trigger_percentage:用於設定寫入速度的閾值。當值為
100
時,表示關閉寫入限速機制。-
預設值:60
-
取值範圍:[0, 100]
-
示例:
obclient> ALTER SYSTEM SET writing_throttling_trigger_percentage=100;
-
-
audit_trail:用於設定是否啟用資料庫稽核。
-
預設值:NONE
-
取值範圍:
-
NONE
-
OS
-
DB
-
DB,EXTENDED
-
DB_EXTENDED
-
-
示例:
obclient> ALTER SYSTEM SET audit_trail=NONE;
-
-
undo_retention:表示系統應保留的多版本資料範圍,單位為秒,在轉儲時控制多版本資料的回收。
-
預設值:1800
-
取值範圍:[0, 4294967295]
-
示例:
obclient> ALTER SYSTEM SET undo_retention=1800;
-
系統變數
-
recyclebin:用於設定是否開啟回收站功能。
-
預設值:OFF
-
取值範圍:
-
1 或 ON
-
0 或 OFF
-
-
示例:
obclient> SET GLOBAL recyclebin=OFF;
或者
obclient> SET GLOBAL recyclebin=0;
-
-
ob_query_timeout:用於設定查詢超時時間,單位是微秒。
-
預設值:10000000
-
取值範圍:N/A
-
示例:
obclient> SET GLOBAL ob_query_timeout=10000000;
-
-
ob_trx_idle_timeout:用於設定事務空閒超時時間,即事務中兩條語句之間的執行間隔超過該值時超時,單位為微秒。
-
預設值:86400000000
-
取值範圍:[100000000,+∞)
-
示例:
obclient> SET GLOBAL ob_trx_idle_timeout=120000000;
-
-
ob_trx_timeout:用於設定事務超時時間,單位為微秒。
-
預設值:86400000000
-
取值範圍:N/A
-
示例:
obclient> SET GLOBAL ob_trx_timeout=100000000;
-
-
ob_read_consistency:用於設定讀一致性級別。
-
預設值:STRONG
-
取值範圍:
-
0:空字串
-
1:FROZEN
-
2:WEAK
-
3:STRONG
-
-
示例:
obclient> SET GLOBAL ob_read_consistency=STRONG;
或者
obclient> SET GLOBAL ob_read_consistency=3;
-
-
ob_sql_work_area_percentage:用於 SQL 執行的租戶記憶體百分比限制。
-
預設值:5
-
取值範圍:[0, 100]
-
示例:
obclient> SET GLOBAL ob_sql_work_area_percentage=5;
-
-
parallel_servers_target:用於設定每個 Server 上的大查詢排隊條件。當並行執行(Parallel eXecution,PX)消耗的執行緒數超過大查詢排隊條件後,後繼並行執行需要排隊等待。
-
預設值:0
-
取值範圍:[0, 9223372036854775807]
-
示例:
obclient> SET GLOBAL parallel_servers_target=0;
-
-
max_allowed_packet:用於設定最大網路包大小,單位是 Byte。
-
預設值:4194304
-
取值範圍:[1024,1073741824]
-
示例:
obclient> SET GLOBAL max_allowed_packet=4194304;
-
-
nls_date_format:用於控制 Date 型別轉 Str 的格式,以及 Str 隱式轉 Date 的格式。
說明
該引數僅適用於 Oracle 模式。
-
預設值:DD-MON-RR
-
取值範圍:N/A
-
示例:
obclient> SET GLOBAL nls_date_format='DD-MON-RR';
-
-
autocommit:用於設定是否自動提交事務。
-
預設值:ON
-
取值範圍:
-
1 或 ON
-
0 或 OFF
-
-
示例:
obclient> SET GLOBAL autocommit=ON;
或者
obclient> SET GLOBAL autocommit=1;
-
-
ob_enable_plan_cache:用於設定是否開啟 Plan Cache。
-
預設值:ON
-
取值範圍:
-
1 或 ON
-
0 或 OFF
-
-
示例:示例:
obclient> SET GLOBAL ob_enable_plan_cache=ON;
或者
obclient> SET GLOBAL ob_enable_plan_cache=1;
-
-
ob_plan_cache_percentage:用於設定計劃快取可以使用的租戶記憶體資源的百分比。
-
預設值:5
-
取值範圍:[0, 100]
-
示例:
obclient> SET GLOBAL ob_plan_cache_percentage=5;
-
-
ob_sql_audit_percentage:用於設定 SQL Audit 記憶體上限佔當前租戶記憶體的百分比。
-
預設值:3
-
取值範圍:[0, 100]
-
示例:
obclient> SET GLOBAL ob_sql_audit_percentage=3;
-
-
ob_enable_sql_audit:用於控制當前租戶是否開啟 SQL Audit 功能。當取值為
False
時,全部租戶均不會開啟 SQL Audit 功能。-
預設值:True
-
取值範圍:True,False
-
示例:
obclient> SET GLOBAL ob_enable_sql_audit=True;
-
-
transaction_isolation:用於設定事務的隔離級別。
-
預設值:READ-COMMITTED
-
取值範圍:READ-UNCOMMITTED ,READ-COMMITTED ,REPEATABLE-READ,SERIALIZABLE
-
示例:
obclient> SET GLOBAL transaction_isolation='READ-COMMITTED';
-
-
validate_password_check_user_name:用於設定使用者密碼是否可以和使用者名稱相同。取值為
ON
時,表示使用者密碼不可以和使用者名稱相同;取值為OFF
時,表示使用者密碼可以和使用者名稱相同。-
預設值:OFF
-
取值範圍:ON,OFF
-
示例:
obclient> SET GLOBAL validate_password_check_user_name=ON;
-
-
validate_password_length:用於設定使用者密碼最小長度。
-
預設值:0
-
取值範圍:[0,2147483647]
-
示例:
obclient> SET GLOBAL validate_password_length=0;
-
-
validate_password_mixed_case_count:用於設定使用者密碼至少包含的大寫字母個數以及至少包含的小寫字母個數。
-
預設值:0
-
取值範圍:[0,2147483647]
-
示例:
obclient> SET GLOBAL validate_password_mixed_case_count=0;
-
-
validate_password_number_count:用於設定使用者密碼至少包含的數字個數。
-
預設值:0
-
取值範圍:[0,2147483647]
-
示例:
obclient> SET GLOBAL validate_password_number_count=0;
-
-
validate_password_policy:用於設定密碼檢查策略。取值為
LOW
時,表示僅包含密碼常見的檢測;取值為MEDIUM
時,表示包括密碼長度檢測、大寫字母個數檢測、小寫字母個數檢測、數字個數檢測、特殊字元個數檢測、使用者名稱密碼相同檢測。-
預設值:LOW
-
取值範圍:LOW,MEDIUM
-
示例:
obclient> SET GLOBAL validate_password_policy=LOW;
-
-
validate_password_special_char_count:用於設定使用者密碼至少包含的特殊字元個數。
-
預設值:0
-
取值範圍:[0,2147483647]
-
示例:
obclient> SET GLOBAL validate_password_special_char_count=0;
-
-
resource_manager_plan:用於啟用資源管理計劃。指定不同計劃,會使用不同 CPU 的額度來限定資源組下的使用者活動。
租戶內的普通執行緒和並行執行執行緒會相互搶佔 CPU 資源,透過為租戶指定資源隔離計劃,可以控制資源搶佔策略,限制資源的使用量。
-
預設值:""
-
取值範圍:N/A
-
示例:
每個租戶可以建立多套資源管理計劃(Resource Plan),例如:DAYTIME、NIGHT 等,您可以在不同時間段或不同的應用場景下啟用相應的計劃,以最大化系統效能。
delimiter // # 定義 DAYTIME 資源管理計劃 begin DBMS_RESOURCE_MANAGER.CREATE_PLAN( PLAN => 'DAYTIME'); end; // begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE( PLAN => 'DAYTIME', GROUP_OR_SUBPLAN => 'interactive_group' , COMMENT => 'TP 優先', MGMT_P1 => 30); end; // begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE( PLAN => 'DAYTIME', GROUP_OR_SUBPLAN => 'batch_group' , COMMENT => '即使TP空負載,AP最多佔用 40% CPU 資源', MGMT_P1 => 20, UTILIZATION_LIMIT => 40); end; // # 定義 NIGHT 資源管理計劃 begin DBMS_RESOURCE_MANAGER.CREATE_PLAN( PLAN => 'NIGHT'); end; // begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE( PLAN => 'NIGHT', GROUP_OR_SUBPLAN => 'interactive_group' , COMMENT => 'TP 資源最小化', MGMT_P1 => 10); end; // begin DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE( PLAN => 'NIGHT', GROUP_OR_SUBPLAN => 'batch_group' , COMMENT => 'TP空負載,AP最多佔用 90% CPU 資源', MGMT_P1 => 90, UTILIZATION_LIMIT => 90); end; // # 使用者名稱部分,test001 會被自動轉成大寫。如果希望保持小寫,則需要寫成 '"test001"' BEGIN DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (DBMS_RESOURCE_MANAGER.ORACLE_USER, 'test001', 'batch_group'); END;// select * from DBA_RSRC_GROUP_MAPPINGS;// # 白天時,執行該語句,啟用 DAYTIME 計劃,TP 優先 SET GLOBAL resource_manager_plan='DAYTIME'; # 夜晚時,執行該語句,啟用 NIGHT 計劃,批處理/AP 優先 SET GLOBAL resource_manager_plan='NIGHT'; # 禁用所有資源計劃,不作任何限制 SET GLOBAL resource_manager_plan='';
-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026075/viewspace-2932558/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OceanBase學習之路52|如何透過系統變數進行設定?變數
- OceanBase學習之路48|最佳效能引數的配置參考
- vim命令列模式有哪些引數選項?如何學習linux系統命令列模式Linux
- Windows系統常用系統引數設定文件Windows
- OceanBase學習之路49|最小資源引數配置是什麼?
- 系統學習 TypeScript(四)——變數宣告的初步學習TypeScript變數
- wget命令優勢及引數選項有什麼?如何學習Linux系統wgetLinux
- OceanBase學習之路50|預設生產引數的建議配置是什麼?
- Linux系統有哪些常用版本?Linux
- 數字藏品商城系統有哪些功能
- Linux常用內建命令有哪些?Linux系統怎麼學習Linux
- linux修改系統引數Linux
- OceanBase學習之路53|多租戶管理引數如何設定?
- golang學習之路之函式可變引數Golang函式
- 集團數字化管理系統有哪些
- 對於Linux系統統計的命令有哪些?怎樣系統的學習LinuxLinux
- 萬里GreatDB資料庫的學習之路--GreatDB引數調整與系統檢視(3)資料庫
- 常用的jvm配置引數 :永久區引數配置JVM
- win10系統adb環境變數配置怎麼設定_win10系統adb環境變數配置的方法Win10變數
- (一)Flutter學習之Dart變數和型別系統FlutterDart變數型別
- 探究國內常用的crm系統有哪些?
- Linux命令top引數選項有什麼?linux系統伺服器學習Linux伺服器
- linux系統安裝jdk,配置環境變數LinuxJDK變數
- 系統學習機器學習之半引數方法(二)--基於密度機器學習
- 我的推薦系統學習之路
- 分散式系統中處理引數配置的4種方案分散式
- 分散式系統中處理引數配置的 4 種方案分散式
- MySQL 持久化系統變數MySql持久化變數
- linux系統環境變數Linux變數
- window系統jdk安裝與環境變數配置JDK變數
- Linux系統常用的版本有哪些?有何區別呢?Linux
- 變數的分類(臨時(本地)變數、環境變數、全域性變數和系統變數)變數
- nslookup命令模式及引數選項有哪些?Linux學習規劃如何模式Linux
- SpringBoot系統學習 - 配置篇Spring Boot
- Nginx有哪些重要特性?學習linux系統知識NginxLinux
- Linux系統下常用的文字編輯器有哪些?Linux
- Linux系統下常用的目錄操作命令有哪些?Linux
- mac電腦安裝python配置系統環境變數MacPython變數