Oracle資料庫配置

再见亦是泪20發表於2024-10-17

Oracle資料庫配置

一:修改Oracle資料庫記憶體

檢視當前記憶體配置 show parameter memory,萬一配置錯了起不來,只能透過pfile檔案重新啟動

修改memory_target

MEMORY_TARGET:oracle所能使用的最大記憶體,該引數可以動態調整

MEMORY_MAX_TARGET:MEMORY_TARGET引數所能動態設定的最大值,不能動態調整,需要重啟資料庫

SQL>alter system set memory_max_target=2048M scope=spfile;

SQL> alter system set memory_target =2048M scope=spfile;

重啟資料庫後生效

shutdown immediate;

startup

show parameter memory

二:連線數/會話

oracle限制某個使用者的連線數

1. 檢視resource_limit引數:

SQL> show parameter resource_limit

設定 RESOURCE_LIMIT引數為TRUE,開啟資源限制:

alter system set resource_limit =TRUE;

該改變對密碼資源無效,密碼資源總是可用的

2. 建立PROFILE :

SQL>create profile sessnum limit sessions_per_user 20; --最大連線數限制為20

3. 將PROFILE指定給使用者:

SQL>alter user test profile sessnum;

另外,SESSIONS_PER_USER不會像10g和11g那樣限制12C中的並行從程序。

drop profile sessnum cascade;

當某個profile被刪除時,如果這個profile已經被分配給某個使用者,那麼我們在刪除的時候要加上cascade,並且已經被分配的使用者的profile會被自己修改成default profile。

當前程序的連線數

select count(*) from v$process;

當前會話的連線數

select count(*) from v$session;

檢視資料庫的併發連線數

select count(*) from v$session where status='ACTIVE';

查詢資料庫允許的最大連線數

select value from v$parameter where name = 'processes';

修改資料庫允許的最大連線數:

alter system set processes = 300 scope = spfile;

(需要重啟資料庫才能實現連線數的修改)

檢視當前資料庫建立的會話情況

select count(1),username from v$session group by username

結束/殺掉會話

SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME = 'ETC';

ALTER SYSTEM KILL SESSION '13,772';

字符集

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

AMERICAN_AMERICA.ZHS16GBK

注意:以上兩種字符集是一樣的

select * fromnls_database_parameters(服務端字元)

select * fromnls_session_parameters(客戶端字元)

查詢語句:select userenv('language') from dual;(客戶端字元)

查詢結果:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

學習網址: https://zhuanlan.zhihu.com/p/532100964?utm_id=0

相關文章