golang達夢資料庫,golang 資料庫

本文目錄一覽:

關於達夢資料庫的操作

首先,必須強調的一點是達夢資料庫確實是具有自主知識產權的國產資料庫。

To 那些連達夢資料庫安裝軟體都沒見到過而亂噴的朋友們:

達夢資料庫與國外Oracle比起來確實沒有什麼優勢,達夢資料庫確實存在很多問題,但是,達夢在發展,努力改進產品,努力縮小與國外產品的優勢,至少達夢是國產基礎軟體中敢站出來在市場上競爭的。

朋友們,你們一邊用著國內外的盜版軟體,一邊噴國產軟體爛,難道你們就沒有一丟丟的內疚?軟體的成長不是靠軟體廠商的努力,也需要用戶的配合,為什麼提到國產基礎軟體,你們就想噴?有多少人真正實打實的用過,評估過?

國產基礎軟體承載了國家的期望,國家給予了一定的支持,你們就說成騙錢了,這麼好騙,你倒是騙出一個達夢資料庫來看看。

批評可以,如果給達夢資料庫指出了具體的問題,達夢一定會認證聽取,努力改進,但是請在噴之前問問自己是不是有理有據…

還有一點,達夢資料庫現在已經走出國門了….

達夢資料庫怎麼樣

達夢是一家國產資料庫,根據它的介紹,感覺還不錯。不過實際使用暫時未知,它號稱是國產第一,但是又有其他資料庫說是中國老大,這個沒法評估,還需要實際測測才知道。不過看過論壇的評論,貌似它兼容oracle比較好

達夢資料庫解鎖方法

看不到問題詳細描述。是用戶被鎖,還是表被鎖?

登錄失敗(密碼輸入錯誤)次數過多是,就會出現用戶被鎖的情況,這時應該使用 sysdba 賬戶登陸,在左側的導航欄目錄,找到【用戶】節點,點開 對應用戶,通過右鍵(打開功能菜單),選擇【解鎖】該用戶即可。如此操作後,即可繼續使用原用戶 和它正確的密碼登錄了。

表被鎖,執行語句的時候,會提示鎖超時之類的。通過 V$LOCK 定位到阻塞(就是阻塞之後,報錯之前 —— 才可以查到)。需要預先打開兩個窗口,在一個窗口中,寫好 select * from v$lock where blocked=1; 這個語句,等待執行。在另一個窗口中,執行報錯的語句,執行之後(還沒有報錯),立即去窗口1中執行那個語句。就一定能夠查詢到記錄(被阻塞的事務相關的信息),然後通過這個信息(有 trx_id)就可以去 v$trx 以及 v$session 中,獲取到 我們要執行的這個sql 是被誰阻塞的了。可以通過 sp_close_session 殺掉阻塞源頭的會話,也可以找到執行阻塞源頭事務的人(沒有提交)讓他們提交,就不會造成阻塞了。或者乾等著,看阻塞源頭的事務什麼時候提交。

達夢資料庫常見參數調整

下面是在命令行客戶端工具直接執行的腳本(執行後,會輸出待調整參數):

備註:第一次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_CPU8 then 8 3 when N_CPU32 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 dual

;

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;

/

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189105.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-29 08:00
下一篇 2024-11-29 08:00

相關推薦

  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • 使用Golang調用Python

    在現代軟體開發中,多種編程語言的協作是相當普遍的。其中一種使用場景是Golang調用Python,這使得在使用Python庫的同時,可以利用Golang的高性能和強大並發能力。這篇…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • 使用Golang創建黑色背景圖片的方法

    本文將從多個方面介紹使用Golang創建黑色背景圖片的方法。 一、安裝必要的代碼庫和工具 在開始創建黑色背景圖片之前,我們需要先安裝必要的代碼庫和工具: go get -u git…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • Think-ORM數據模型及資料庫核心操作

    本文主要介紹Think-ORM數據模型建立和資料庫核心操作。 一、模型定義 Think-ORM是一個開源的ORM框架,用於簡化在PHP應用中(特別是ThinkPHP)與關係資料庫之…

    編程 2025-04-27
  • 如何使用Python將CSV文件導入到資料庫

    CSV(Comma Separated Values)是一種可讀性高、易於編輯與導入導出的文件格式,常用於存儲表格數據。在數據處理過程中,我們有時需要將CSV文件導入到資料庫中進行…

    編程 2025-04-27
  • Python批量導入資料庫

    本文將介紹Python中如何批量導入資料庫。首先,對於數據分析和挖掘領域,資料庫中批量導入數據是一個必不可少的過程。這種高效的導入方式可以極大地提高數據挖掘、機器學習等任務的效率。…

    編程 2025-04-27

發表回復

登錄後才能評論