达梦数据库update提示转换失败

达梦数据库update提示转换失败,第1张

达梦数据库update提示转换失败因为启动数据库后数据库没有正常停止(mount下停止数据库时会dmsever对数据文件的修改 *** 作没有写入到数据文件导致数据文件写坏)。达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。

下面是在命令行客户端工具直接执行的脚本(执行后,会输出待调整参数):

备注:第一次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 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

/

安装达梦数据库linux版的。

进入达梦数据库所在的目录,输入命令 ./达梦数据库的名称。如 ./DMInstall.bin即可调出达梦数据库的图形安装界面(前提是LINUX服务器安装了图形界面)如下图

点击OK,进入版本信息,点击下一步

输入序列号,序列号在sn.txt文件里,可用以下命令中任决一种查看文本文件的内容。

less 、 more 、cat等等。如输入 less sn.txt,查看到了序列号。输入。再点击下一步。

选择安装方式,选典型安装,这样会装上所有的包(省事)

指定达梦数据库所安装的位置,opt DMDBMS是其默认位置,但要注意数据库是会不断增长的,所以事先装在一个容量大的分区,避免日后自己麻烦。改为 /usr/DMDBMS,因为安装LINUX时,我的/usr分区容量给的最大。

9.安装完成后会进入创建数据库界面,如下图,点击创建数据库.

安装完成后,图形界面“应用程序”下会多出达梦数据库的选项且桌面会多出一个达梦的文件夹的快捷方式(而红旗linux系统则只有在应用程序下多出达梦数据库的选项),控制界和管理界面都在里面。默认的SYSDBA用户的初始密码为SYSDBA。

备注:LINUX中的“应用程序”类似于WINDOWS的“开始”菜单。

至于在达梦数据库中建用户、数据库、表,备份还原工具等都是图形化界面几乎和ORACLE差不多(完全仿照ORACLE),所以 *** 作和ORACLE差不多,在此不再累叙。

最后补充一点最重要的,即JDK和TOMCAT等程序基本上都是网上下的。有些同事由于不会用LINUX,所以下载时就用的windows下载的。这就涉及到如何将这个widows中的文件(夹)拷到linux系统中去的问题。

有如下几种办法解决:

1. 通过网络,走SMB协议去拿,这要求LINUX系统装有SAMBAR客户软件包(默认都已经装了),步骤:

(1) 先在WINDOWS系统上把文件夹共享(最好用全英文文件名),用户必须要密码(WINDOWS时默认要有密码才能网络访问,除非改策略或注册表)

(2) 在linux服务器终端界面,即全字符界面(命令界面)上输入

smbmount //windows主机的IP/共享的目录名 /要挂载的linux目录 –o username=windows机器上有权限的用户名 ,回车,提示入密码时输密码

例 smbmount //192.168.13.153/hongqi /mnt –o username=administraotr

(意思是把IP为192.168.13.153这台机器的hongqi这个共享文件夹挂载到此LINUX机器上的/usr/mnt目录,访问本机的/mnt目录就是访问192.168.13.153机器的hongqi目录。

用cp命令把需要的JDK和TOMCAT程序复制到本机的/usr目录下来

命令如下,先进入/mnt目录,ls看一下文件的名字。

cp –R jakarta-tomcat-5.0.28.tar.gz”空一格" /usr

cp –R jdk-1_5_0_15-linux-i586-rpm.bin /usr


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9584256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存