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