這是一次本地壓力測試,由於默認Oracle 10g的數據庫最大連接數是150。但是要程序的壓力測試要用到300。
於是我參考網上資料,執行下面兩行命令,修改最大連接數后,重啟oracle服務器,就發生了錯誤提示oracle無法登陸。
step 1: 修改最大連接數
# 查詢 當前最大連接數
select value from v$parameter where name = 'processes'
# 修改 最大連接數 alter system set processes = 1000 scope = spfile
重啟完電腦之后,原來oracle正常登陸的管理頁面,提示錯誤恢復頁面如下
step 2: 重新檢查和修復問題
通過oracle服務器上的安裝目錄的ora配置文件,修改相關參數
D:\oracle\product\10.1.0\admin\ORA10DBS01\pfile\init.ora.08201701227
主要修改的參數,主要如下
備注:
參數 processes = 最大連接數,和你的硬件性能有關。
參數 sessions = processes *1.1 +5 , 和上面參數processes一起設置,對數據庫的並發處理能力有關。
參數 pga_aggregate_target = 發數量*4M,這里我們根據 參數sessions * 4M 計算得到1600M。
# Part 1 # processes=150 processes=300 sessions=335
# pga_aggregate_target=25165824
pga_aggregate_target=1600M
step 3: 重新啟動數據庫
當我們設置完Part 1的三個參數后,保存ora配置文件,並且用sqlplus命令行啟動,如下命令
# 單擊cmd窗口,輸入 CMD >> sqlplus /nolog # 用sydba身份連接 SQL > connect /as sysdba # 啟動oracle實例 SQL > startup # 檢查提示錯誤信息 SQL > ORA-00371: not enough shared pool memory, should be atleast 132663296 bytes
根據上面啟動報錯的提示,我們可知,還需要設置pool memery參數,如下
# Part 2 # large_pool_size=8388608 # shared_pool_size=83886080 large_pool_size=132663296 shared_pool_size=1326632960
step 4: 最后,成功啟動數據
修改完上面ora文件中的part 1和part 2參數之后,第一次必須用sqlplus命令行重新啟動數據庫,操作如下
# 單擊cmd窗口,輸入 CMD >> sqlplus /nolog # 用sydba身份連接 SQL > connect /as sysdba # 下面init.ora文件來自你實際安裝oracle實例的配置文件目錄 SQL > startup pfile='D:\oracle\product\10.1.0\admin\ORA10DBS01\pfile\init.ora.08201701227' # 檢查數據庫信息 SQL > show parameter process
step 5, 問題修復,成功登陸界面如下
http://ora10dbs01:5500/em