㈠ 達夢資料庫常見參數調整
下面是在命令行客戶端工具直接執行的腳本(執行後,會輸出待調整參數):
備註:第一次dminit後就要調整,獲取的是當前系統可用內存。
set serveroutput on
declare
v_maxsess bigint;
v_cpus bigint;
v_mem_mb bigint;
v_bufs bigint;
v_refs bigint;
v_maxdisk_mb bigint;
begin
-- manual set
v_maxsess=5000;
-- reload messages
v_cpus=64;
v_mem_mb=500000;
v_bufs=101;
v_refs=67;
v_maxdisk_mb=100000;
SELECT cast(67434610688*0.8/1024/1024 as int) into v_maxdisk_mb FROM V$SYSTEMINFO ORDER BY DRIVER_TOTAL_SIZE DESC ;
-- SELECT * FROM V$SYSTEMINFO ORDER BY DRIVER_TOTAL_SIZE DESC LIMIT 1 OFFSET 1;
SELECT case when N_CPU<8 then 8 3 when N_CPU<32 then N_CPU 2 else 64 end n_CPU,FREE_PHY_SIZE/1024/1024 MEM
into v_cpus,v_mem_mb FROM V$SYSTEMINFO LIMIT 1;
with a(val) as(select 5 union all
select 7 union all
select 11 union all
select 13 union all
select 17 union all
select 19 union all
select 23 union all
select 29 union all
select 31 union all
select 37 union all
select 41 union all
select 43 union all
select 47 union all
select 53 union all
select 59 union all
select 61 union all
select 67 union all
select 71 union all
select 73 union all
select 79 union all
select 83 union all
select 89 union all
select 97 union all
select 101),b as(
select rownum rn,val val from a)
select (
select VAL bufs from b where rn=( 3 + CAST( v_mem_mb/1024.0 1.0/2048 100 AS INT))) v_bufs,,(
select VAL refs from b where rn=( 3 + CAST( v_mem_mb/1024.0 1.0/2048 100 AS INT)) )v_refs into v_bufs,v_refs from al
;
print '
begin
SP_SET_PARA_VALUE(2,''MAX_OS_MEMORY'',100);
SP_SET_PARA_VALUE(2,''MEMORY_POOL'',cast( '||v_mem_mb||' 0.1 as int) );
SP_SET_PARA_VALUE(2,''MEMORY_TARGET'',cast ( '||v_mem_mb||' 0.2 as int) );
SP_SET_PARA_VALUE(2,''MEMORY_MAGIC_CHECK'',1);
SP_SET_PARA_VALUE(2,''VM_POOL_TARGET'',cast( (0.37) '||v_mem_mb||' 1024 0.6/'||v_maxsess||' as int));
SP_SET_PARA_VALUE(2,''SESS_POOL_TARGET'',cast( (0.37) '||v_mem_mb||' 1024 0.3/'||v_maxsess||' as int ) );
SP_SET_PARA_VALUE(2,''CACHE_POOL_SIZE'',cast( (0.37) '||v_mem_mb||' ('||v_maxsess||'/2000.0)*0.55 as int) );
SP_SET_PARA_VALUE(2,''BUFFER'',cast('||v_mem_mb||' * 0.5 as int));
SP_SET_PARA_VALUE(2,''MAX_BUFFER'',cast('||v_mem_mb||' * 0.5 as int));
SP_SET_PARA_VALUE(2,''RECYCLE'',10000*'||v_cpus||'/100);
SP_SET_PARA_VALUE(2,''BUFFER_POOLS'','||v_bufs||');
SP_SET_PARA_VALUE(2,''RECYCLE_POOLS'','||v_refs||');
SP_SET_PARA_VALUE(2,''WORKER_THREADS'','||v_cpus||');
SP_SET_PARA_VALUE(2,''TASK_THREADS'','||v_cpus||');
SP_SET_PARA_VALUE(2,''HJ_BUF_GLOBAL_SIZE'', cast('||v_mem_mb||' * 0.18 as int));
SP_SET_PARA_VALUE(2,''HJ_BUF_SIZE'', cast('||v_mem_mb||' * 0.0018 as int));
SP_SET_PARA_VALUE(2,''HAGR_BUF_GLOBAL_SIZE'',cast('||v_mem_mb||' * 0.12 as int));
SP_SET_PARA_VALUE(2,''HAGR_BUF_SIZE'', cast('||v_mem_mb||' * 0.0024 as int));
SP_SET_PARA_VALUE(2,''DICT_BUF_SIZE'','||v_refs||' 5);
SP_SET_PARA_VALUE(2,''TEMP_SIZE'',5000 '||v_mem_mb||'/1024.0/256);
SP_SET_PARA_VALUE(2,''VM_POOL_SIZE'','||v_refs||' 5);
SP_SET_PARA_VALUE(2,''SESS_POOL_SIZE'','||v_refs||' 5);
SP_SET_PARA_VALUE(2,''MAX_SESSIONS'','||v_maxsess||');
SP_SET_PARA_VALUE(2,''MAX_SESSION_STATEMENT'','||v_maxsess||'*8);
SP_SET_PARA_VALUE(2,''ENABLE_ENCRYPT'',0);
SP_SET_PARA_VALUE(2,''USE_PLN_POOL'',1);
SP_SET_PARA_VALUE(2,''OLAP_FLAG'',2);
SP_SET_PARA_VALUE(2,''OPTIMIZER_MODE'',1);
SP_SET_PARA_VALUE(2,''VIEW_PULLUP_FLAG'',1);
SP_SET_PARA_VALUE(2,''COMPATIBLE_MODE'',2);
SP_SET_PARA_VALUE(2,''MONITOR_TIME'',0);
SP_SET_PARA_VALUE(2,''ENABLE_MONITOR'',1);
SP_SET_PARA_VALUE(2,''SVR_LOG'',0);
end;
'
print '
create tablespace "USER" datafile ''USER01.dbf'' size 200;'
--print '
--alter user SYSDBA default tablespace "USER";'
print '
sp_set_para_value(1,''PWD_POLICY'',0);'
print '
create user DMDBA identified by DMDBA default tablespace "USER";'
print '
GRANT DBA TO dmdba;'
print '
sp_set_para_value(1,''PWD_POLICY'',2);'
print '
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ''DEST=/home/dmdba/dmdbms/arch,TYPE=LOCAL,FILE_SIZE=1024,SPACE_LIMIT='||cast(v_maxdisk_mb*0.1 as int)||'''
ALTER DATABASE OPEN;'
print '
sp_set_para_value(1,''BAK_USE_AP'',2);
BACKUP DATABASE FULL TO DMBAK_FULL_00 BACKUPSET ''DMBAK_FULL_00'' COMPRESSED;
'
exception
when others then
raise_application_error (-20001,substr( ' 執行失敗, '||sqlCODE||' '||SQLERRM||' '||dbms_utility.format_error_backtrace , 1, 400));
end;
/
㈡ 安裝達夢資料庫無法啟動啟動項
到計算機的服務管理中 強制設置這幾條對應的服務啟動就行了
㈢ 達夢資料庫 如何啟動命令行工具 disql
ISQL 用法1:disql -h 顯示disql版本信息和幫助信息
DISQL 用法2:disql [ [<option>] [{logon | /nolog}] [<start>] ]
<option>:-S 隱藏模式,隱藏<SQL>標識符
<logon> : {<username>[/<password>][@<connect_identifier>] }
<connect_identifier>為{[<SERVER>][:<PORT>][#<sslpath>]}
<start> : `<filename>[<parameter> ...] 運行disql腳本
/NOLOG 選項能在未登錄DM伺服器的情況下啟動disql
㈣ 達夢資料庫的兼容性
為保障用戶現有應用系統上的投資,降低系統遷移到DM7的難度,DM7提供了許多與其他資料庫系統兼容的特性,尤其針對Oracle,DM7提供了全方位的兼容,以降低用戶學習成本,遷移成本。
體系結構方面,DM7兼容oracle的單庫單實例式結構、表空間-數據文件機制、回滾機制、多版本並發控制、閃回。
應用開發介面兼容,兼容PL/SQL常用語法90%、OCI、OOCI、OO4O介面兼容、系統包機制。
維護管理方式兼容,兼容大量V$動態視圖、AWR性能分析報告、10053等事件。
㈤ 達夢資料庫解鎖方法
看不到問題詳細描述。是用戶被鎖,還是表被鎖?
登錄失敗(密碼輸入錯誤)次數過多是,就會出現用戶被鎖的情況,這時應該使用 sysdba 賬戶登陸,在左側的導航欄目錄,找到【用戶】節點,點開 對應用戶,通過右鍵(打開功能菜單),選擇【解鎖】該用戶即可。如此操作後,即可繼續使用原用戶 和它正確的密碼登錄了。
表被鎖,執行語句的時候,會提示鎖超時之類的。通過 V$LOCK 定位到阻塞(就是阻塞之後,報錯之前 —— 才可以查到)。需要預先打開兩個窗口,在一個窗口中,寫好 select * from v$lock where blocked=1; 這個語句,等待執行。在另一個窗口中,執行報錯的語句,執行之後(還沒有報錯),立即去窗口1中執行那個語句。就一定能夠查詢到記錄(被阻塞的事務相關的信息),然後通過這個信息(有 trx_id)就可以去 v$trx 以及 v$session 中,獲取到 我們要執行的這個sql 是被誰阻塞的了。可以通過 sp_close_session 殺掉阻塞源頭的會話,也可以找到執行阻塞源頭事務的人(沒有提交)讓他們提交,就不會造成阻塞了。或者乾等著,看阻塞源頭的事務什麼時候提交。
㈥ 生成oracle資料庫awr報告所需要的許可權
1.生成單實例
awr
報告:
@$oracle_home/rdbms/admin/awrrpt.sql
2.生成
oracle
rac
awr
報告:
@$oracle_home/rdbms/admin/awrgrpt.sql
3.生成
rac
環境中特定資料庫實例的
awr
報告:
@$oracle_home/rdbms/admin/awrrpti.sql
4.生成
oracle
rac
環境中多個資料庫實例的
awr
報告的方法:
@$oracle_home/rdbms/admin/awrgrpti.sql
5.生成
sql
語句的
awr
報告:
@$oracle_home/rdbms/admin/awrsqrpt.sql
6.生成特定資料庫實例上某個
sql
語句的
awr
報告:
@$oracle_home/rdbms/admin/awrsqrpi.sql
--生成
awr
時段對比報告
7.生成單實例
awr
時段對比報告
@$oracle_home/rdbms/admin/awrddrpt.sql
9.生成
oracle
rac
awr
時段對比報告
@$oracle_home/rdbms/admin/awrgdrpt.sql
10.生成特定資料庫實例的
awr
時段對比報告
11.生成
oracle
rac
環境下特定(多個)資料庫實例的
awr
時段對比報告
㈦ 達夢資料庫不啟用定時器任務
達夢資料庫不啟用定時器任務可以自行操作設置啟用。根據查詢相關公開信息,得知達夢資料庫可以通過定時任務,可以自行啟動設備,執行代碼籌,是一項必不可少的功能。
㈧ 關於達夢資料庫的操作
首先,必須強調的一點是達夢資料庫確實是具有自主知識產權的國產資料庫。
To 那些連達夢資料庫安裝軟體都沒見到過而亂噴的朋友們:
達夢資料庫與國外Oracle比起來確實沒有什麼優勢,達夢資料庫確實存在很多問題,但是,達夢在發展,努力改進產品,努力縮小與國外產品的優勢,至少達夢是國產基礎軟體中敢站出來在市場上競爭的。
朋友們,你們一邊用著國內外的盜版軟體,一邊噴國產軟體爛,難道你們就沒有一丟丟的內疚?軟體的成長不是靠軟體廠商的努力,也需要用戶的配合,為什麼提到國產基礎軟體,你們就想噴?有多少人真正實打實的用過,評估過?
國產基礎軟體承載了國家的期望,國家給予了一定的支持,你們就說成騙錢了,這么好騙,你倒是騙出一個達夢資料庫來看看。
批評可以,如果給達夢資料庫指出了具體的問題,達夢一定會認證聽取,努力改進,但是請在噴之前問問自己是不是有理有據...
還有一點,達夢資料庫現在已經走出國門了....