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/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

发表回复

登录后才能评论