㈠ 达梦数据库常见参数调整
下面是在命令行客户端工具直接执行的脚本(执行后,会输出待调整参数):
备注:第一次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比起来确实没有什么优势,达梦数据库确实存在很多问题,但是,达梦在发展,努力改进产品,努力缩小与国外产品的优势,至少达梦是国产基础软件中敢站出来在市场上竞争的。
朋友们,你们一边用着国内外的盗版软件,一边喷国产软件烂,难道你们就没有一丢丢的内疚?软件的成长不是靠软件厂商的努力,也需要用户的配合,为什么提到国产基础软件,你们就想喷?有多少人真正实打实的用过,评估过?
国产基础软件承载了国家的期望,国家给予了一定的支持,你们就说成骗钱了,这么好骗,你倒是骗出一个达梦数据库来看看。
批评可以,如果给达梦数据库指出了具体的问题,达梦一定会认证听取,努力改进,但是请在喷之前问问自己是不是有理有据...
还有一点,达梦数据库现在已经走出国门了....