DM8-工具合集

DM8-工具合集

1. dexp和dimp

1.1 功能介绍

	DM数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原;
	RMAN工具是物理备份还原,是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原;
	dexp和dimp是逻辑备份还原,是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。
	逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原。

1.2 dexp和dimp介绍

区别作用介绍
dexp逻辑导出备份数据dexp可以对本地或远程数据库进行数据库级、用户级、模式级和表级的阔基备份;备份的内容灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),在备份前还可以先择生成日志文件,记录备份的过程等。
dexp和dexpdp语法和作用相同,唯一的区别是:dexp导出的文件必须放在客户端,dexpdb导出的文件必须放在服务器端。
dimp逻辑导入还原数据dimp可以对dexp生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp导入时dexp导出的相反过程。还原的方式可以灵活选择,如是否忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等。
dimp和dimpdb语法和作用相同,唯一的区别是:dimp导入的文件必须存放在客户端,dexpdb导入的文件必须存放在服务器端。

1.3 逻辑备份的级别

	逻辑导出和逻辑带入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。
级别
数据库级(FULL)导出或导入整个数据库中的所有对象
用户级(OWNER)导出或导入一个或多个用户所拥有的所有对象
模式级(SCHEMAS)导出或导入一个或多个模式下的所有对象
表级(TABLES)导出或导入一个或多个指定的表或表分区

1.4 dexp

1.4.1 dexp参数介绍

参数含义备注
USERID数据库的连接信息必选
FILE明确指定导出文件名称可选,缺省则导出文件名为dexp.dmp
DIRECTORY导出文件所在目录可选
FULL导出整个数据库(N)可选,四选一,缺省为SCHEMAS
OWNER用户名列表,导出一个或多个用户所拥有的所有对象可选,四选一,缺省为SCHEMAS
SCHEMAS模式列表,导出一个或多个模式下的所有对象可选,四选一,缺省为SCHEMAS
TABLES表名列表,导出一个或多个指定的表或表分区可选,四选一,缺省为SCHEMAS
FUZZY_MATCHTABLES选项是否支持模糊匹配(N)可选
QUERY用于指定对导出表的数据进行过滤的条件可选
PARALLEL用于指定导出的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导出每张表所使用的线程数,在MPP模式下会转换成单线程可选
TABLE_POOL用于设置导出过程中存储表的缓冲区个数可选
EXCLUDE1.导出内容中忽略指定的对象。对象有CONSTRAINTS、INDEXES、ROWS、TRIGGERS和GRANTS。比如EXCLUDE= (CONSTRAINTS,INDEXES)
2.忽略指定的表,使用TABLES:INFO格式,如果使用表级导出方式导出,则使用TABLES:INFO格式的EXCLUDE无效。例如:EXCLUDE= TABLES:table1,table2
3.忽略指定的模式,使用SCHEMAS:INFO格式,如果使用表级,模式级带出方式导出,则使用SCHEMAS:INFO格式的EXCLUDE无效。例如:EXCLUDE=SCHEMAS:SCH1,SCH2
可选
INCLUDE导出内容中包含指定的对象,例如:INCLUDE=(CONSTRAINTS,INDEXES)或者INCLUDE=TABLES:table1,table2可选
CONSTRAINTS导出约束(Y)可选,设置一个即可
TABLESPACE导出的对象定义是否包含表空间(N)可选,设置一个即可
GRANTS导出权限(Y)可选,设置一个即可
INDEXES导出索引(Y)可选,设置一个即可
TRIGGERS导出触发器(Y)可选,设置一个即可
ROWS导出数据行(Y)可选,设置一个即可
LOG明确指定日志文件名称可选,缺省则导出文件名为dexp.log
NOLOGFILE不使用日志文件(N)可选
NOLOG屏幕上不显示日志信息(N)可选
LOG_WRITE日志信息实时写入文件(N)可选
OUMMY交互信息处理:打印§,默认NO,不打印交互信息可选
PARFILE参数文件名,如果dexp的参数很多,可以存成村塾文件可选
FEEDBACK每x行显示进度(O)可选
COMPRESS是否压缩导出数据文件(N)可选
ENCRYPT导出数据是否加密(N)可选
ENCRYPT_PASSWORD导出数据的加密密钥可选
ENCRYPT_NAME导出数据的加密算法可选
FILESIZE用于指定单个导出文件大小上限,可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小可选
FILENUM多文件导出时,一个模板可以生成文件数,范围为1-99,默认99可选
DROP导出后删除原表,但不联级删除(N)可选
DESCRIBE导出数据文件的描述信息,记录在数据文件中可选
HELP显示帮助信息可选

1.4.2 dexp使用

​ 将用户名和密码为SYSDBA,IP为10.0.0.21,端口号是5236的数据库采用FULL方式完全导出,导出文件名为db_str.dmp。导出的日志文件名为db_str.log,导出文件的路径为/dm8/data/DAMENG

1.导出
[dmdba@dm01 /dm8/bin]$ ./dexp USERID=SYSDBA/SYSDBA@10.0.0.21:5236 FILE=db.str.dmp DIRECTORY=/dm8/data/DAMENG LOG=db.str.log FULL=Y
dexp V8

导出第 1 个SYSPACKAGE_DEF: SYSTEM_PACKAGES
导出第 2 个SYSPACKAGE_DEF: SYS_VIEW
----- [2022-10-08 15:50:34]导出表:BAK_DMINI_220926 -----
导出模式下的对象权限...
表BAK_DMINI_220926导出结束,共导出 760 行数据
模式[SYSDBA]导出结束.....
成功导出 第4 个SCHEMA :SYSDBA
共导出 4 个SCHEMA
整个导出过程共花费    0.674 s
成功终止导出, 没有出现警告

2.检查
[dmdba@dm01 /dm8/bin]$ ll /dm8/data/DAMENG/db.str.*
-rw-r--r-- 1 dmdba dinstall 187690 10月  8 15:50 /dm8/data/DAMENG/db.str.dmp
-rw-r--r-- 1 dmdba dinstall   5919 10月  8 15:50 /dm8/data/DAMENG/db.str.log

1.5 dimp

1.5.1 dimp参数

参数含义备注
USERID数据库的连接信息必选
FILE输入文件,即dexp导出的文件必选
DIRECTORY导入文件所在目录可选
FULL导入整个数据库(N)可选,四选一,缺省为SCHEMAS
OWNER导入指定的用户名下的模式可选,四选一,缺省为SCHEMAS
SCHEMAS导入的模式列表可选,四选一,缺省为SCHEMAS
TABLES表名列表,指定导入的tables名称,不支持对外部表进行导入可选,四选一,缺省为SCHEMAS
PARALLEL用于指定导入的过程中所使用的线程数目可选
TABLE_PARALLEL用于指定导入的过程中每个表所使用的子线程数目可选,在FAST_LOAD为Y时有效
IGNORE忽略创建错误(N)。如果表已经存在则向表中插入数据,否则报错表已存在。可选
TABLE_EXISTS_ACTION需要的导入表在目标库中存在时采取的操作[SKIP|APPEND|TRUNCATE|REPLACE]可选
FAST_LOAD是否使用dmfldr进行数据导入(N)可选
FLDR_ORDER使用 dmfldr 是否需要严格按顺序来导数据(Y)可选
COMMIT_ROWS批量提交的行数(5000)可选
EXCLUDE忽略指定对象(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)。
格式:EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)
可选,例如:EXCLUDE=( CONSTRAIN)
GRANTS导入权限 (Y)可选
CONSTRAINTS导入约束 (Y)可选
INDEXES导入索引 (Y)可选
TRIGGERS导入触发器(Y)可选
ROWS导入数据行 (Y)可选
LOG日志文件可选
NOLOGFILE不使用日志文件(N)可选
NOLOG屏幕上不显示日志信息(N)可选
DUMMY交互信息处理: 打印§。取值 Y/N。
Y:打印所有交互信息。
N:不打印交互信息。
可选
LOG_WRITE日志信息实时写入文件(N)可选
PARFILE参数文件名,如果 dimp 的参数很多,可以存成参数文件。可选
FEEDBACK显示每 x 行 (0) 的进度可选
COMPILE编译过程,程序包和函数 (Y)可选
INDEXFILE将表的索引/约束信息写入指定的文件可选
INDEXFIRST导入时先建索引(N)可选
ENCRYPT_PASSWORD数据的加密密钥可选。和dexp中的ENCRYPT_PASSWORD设置的密钥一样
ENCRYPT_NAME数据的加密算法的名称可选。和dexp中的ENCRYPT_NAME设置的加密算法一样
SHOW/ DESCRIBE只列出文件内容 (N)可选
TASK_THREAD_NUMBER设置 dmfldr 处理用户数据的线程数目可选
BUFFER_NODE_SIZE设置 dmfldr 读入文件缓冲区大小可选
TASK_SEND_NODE_NUMBER用于设置 dmfldr 发送节点个数[16,65535]可选
LOB_NOT_FAST_LOAD如果一个表含有大字段,那么不使用 dmfldr,因为 dmfldr 是一行一行提交的可选
PRIMARY_CONFLICT主键冲突的处理方式[IGNORE|OVERWRITE|OVERWRITE2],默认报错。可选
TABLE_FIRST是否强制先导入表 (默认 N),Y 表示先导入表,N 正常导入可选
SHOW_SERVER_INFO是否显示服务器信息(默认 N),Y 表示显示导出文件对应服务器信息,实际不导入,N 表示不显示导出文件对应服务器信息,正常导入可选
HELP显示帮助信息可选

1.5.2 dimp使用

​ 将逻辑备份采用FULL方式完全导入到用户名和密码为SYSDBA,IP地址为10.0.0.21,端口号为5236的数据库,导入文件名为db_str.dmp,导入的日志文件名为db_str.log。路径为/dm8/data/DAMENG/

[dmdba@dm01 /dm8/bin]$ ./dimp USERID=SYSDBA/SYSDBA@10.0.0.21:5236 FILE=db.str.dmp DIRECTORY=/dm8/data/DAMENG LOG=db_str.log FULL=y

2. dmdbchk

2.1 简介

	dmdbchk是DM提供的用于检查数据库完整性、正确性的命令行工具。在服务器正常关机后的脱机情况下,用户可以使用dmdbchk对数据库进行校验,包括校验DM数据库内部的物理存储结构是否正常,对象信息是否合法灯,对象信息是否合法等。除此之外,dmdbchk工具还可以检测并和删除操作系统中残留的信号量和共享内存,避免达到操作系统上限后数据库服务无法启动。
检验的内容说明
数据文件合法性检验数据文件检验只校验数据文件大小。如果数据库文件大小>=或=文件头中记录的大小,则合法。
索引正确性校验索引校验包括:普通表B树索引校验、LIST表扁平B树索引校验、列存储索引校验。
校验内容具体包括:B树的层次、层次关系,每层的内部页、叶子页以及页之间的前后链接关系,每个页的页头信息(如页类型等)。
对象ID合法性校验对象ID校验包括数据库内的所有对象的ID校验。对象包括:索引、表、约束、存储过程、模式、同义词、用户等。如果从系统表中查出的对象ID小于库的ID预留页中记录的该类型对象的下一分配ID,则合法。因为库的ID预留页中记录的是各类型对象下一个新分配对象将使用的ID,因此容系统表中的对象ID大于或等于该ID,说明库已损坏。
残留信号量和共享内存的检测及删除一般Linux下默认可创建的信号量个数为128个,共享内存为4096个。DM数据库服务器正常退出的情况下,会将创建的信号量或共享内存删除,但如果服务器异常退出,这些信号量及共享内存会一直留在操作系统中直到通过手工方式删除。如果残留的信号量或共享内存个数达到操作系统上线,服务器再次启动时,会因为创建信号量或共享内存失败而无法启动成功,因此在本工具中提供对Linux残留信号量和共享内存的检测及删除命令。

2.2 使用dmdbchk

⚠️dmdbchk工具不同的参数用法不同,如果时校验数据库的参数,则要求必须时经过初始化,且正常关闭的数据库,才能被dmdbchk工具校验,否则dmdbchk会报错退出。

正常关闭数据库后,使用dmdbchk对数据库进项校验
[dmdba@dm01 /dm8/bin]$ ./dmdbchk path=/dm8/data/DAMENG/dm.ini
[2022-10-09 11:13:40] dmdbchk V8

[2022-10-09 11:13:40] file dm.key not found, use default license!
Can not open ini file dmdcr.ini!
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
ndct db load finished
[2022-10-09 11:13:40] DM DB CHECK START......

[2022-10-09 11:13:40] --------check dbf file size start---------

[2022-10-09 11:13:40] FILE=(ts_id=0, fil_id=0, path=/dm8/data/DAMENG/SYSTEM.DBF)
[2022-10-09 11:13:40] FILE=(ts_id=1, fil_id=0, path=/dm8/data/DAMENG/ROLL.DBF)
[2022-10-09 11:13:40] FILE=(ts_id=4, fil_id=0, path=/dm8/data/DAMENG/MAIN.DBF)
[2022-10-09 11:13:40] --------check dbf file size end-----------

[2022-10-09 11:13:40] --------check indexes start---------------

[2022-10-09 11:13:40] INDEX=(id=33554433, name=SYSINDEXCOLUMNS, table_name=SYSCOLUMNS)
[2022-10-09 11:13:40] INDEX=(id=33554434, name=SYSINDEXINDEXES, table_name=SYSINDEXES)
[2022-10-09 11:13:40] INDEX=(id=33554440, name=SYSINDEXTUSERS, table_name=SYSUSER$)
[2022-10-09 11:13:40] INDEX=(id=33554442, name=SYSINDEXSYSGRANTS, table_name=SYSGRANTS)
[2022-10-09 11:13:40] INDEX=(id=33554452, name=SYSINDEXCONSTRAINTS, table_name=SYSCONS)
[2022-10-09 11:13:40] INDEX=(id=33554458, name=SYSINDEXSYSAUDIT, table_name=SYSAUDIT)
[2022-10-09 11:13:40] INDEX=(id=33554459, name=SYSINDEXSYSAUDITSQLSEQ, table_name=SYSAUDITSQLSEQ)
[2022-10-09 11:13:40] INDEX=(id=33554464, name=SYSINDEXCONTEXTINDEXES, table_name=SYSCONTEXTINDEXES)
[2022-10-09 11:13:40] INDEX=(id=33554468, name=SYSINDEXSTATS, table_name=SYSSTATS)
[2022-10-09 11:13:40] INDEX=(id=33554489, name=SYSINDEXSPWDCHGS, table_name=SYSPWDCHGS)
[2022-10-09 11:13:40] INDEX=(id=33554498, name=SYSINDEXSYSAUDITRULES, table_name=SYSAUDITRULES)
[2022-10-09 11:13:40] INDEX=(id=33554510, name=SYSINDEXCONTEXTLIBS, table_name=SYSCONTEXTLIBS)
[2022-10-09 11:13:40] INDEX=(id=33554539, name=SYSINDEXCLASSES, table_name=SYSCLASSES)
[2022-10-09 11:13:40] INDEX=(id=33554540, name=SYSINDEXSYSOBJECTS, table_name=SYSOBJECTS)
[2022-10-09 11:13:40] INDEX=(id=33554541, name=SYSINDEXSYSDUAL, table_name=SYSDUAL)
[2022-10-09 11:13:40] INDEX=(id=33554543, name=SYSINDEXSYSTEXTS, table_name=SYSTEXTS)
[2022-10-09 11:13:40] INDEX=(id=33554544, name=SYSINDEXSYSTYPEINFOS, table_name=SYSTYPEINFOS)
[2022-10-09 11:13:40] INDEX=(id=33554546, name=SYSINDEXSYSACCHISTORIES, table_name=SYSACCHISTORIES)
[2022-10-09 11:13:40] INDEX=(id=33554548, name=SYSINDEXSYSHPARTTABLEINFO, table_name=SYSHPARTTABLEINFO)
[2022-10-09 11:13:40] INDEX=(id=33554549, name=SYSINDEXMACPLYS, table_name=SYSMACPLYS)
[2022-10-09 11:13:40] INDEX=(id=33554550, name=SYSINDEXMACLVLS, table_name=SYSMACLVLS)
[2022-10-09 11:13:40] INDEX=(id=33554551, name=SYSINDEXMACCOMPS, table_name=SYSMACCOMPS)
[2022-10-09 11:13:40] INDEX=(id=33554552, name=SYSINDEXMACGRPS, table_name=SYSMACGRPS)
[2022-10-09 11:13:40] INDEX=(id=33554553, name=SYSINDEXMACLABELS, table_name=SYSMACLABELS)
[2022-10-09 11:13:40] INDEX=(id=33554554, name=SYSINDEXMACTABPLY, table_name=SYSMACTABPLY)
[2022-10-09 11:13:40] INDEX=(id=33554555, name=SYSINDEXMACUSRPLY, table_name=SYSMACUSRPLY)
[2022-10-09 11:13:40] INDEX=(id=33554556, name=SYSINDEXSYSOBJINFOS, table_name=SYSOBJINFOS)
[2022-10-09 11:13:40] INDEX=(id=33554559, name=SYSINDEXCOLCYT, table_name=SYSCOLCYT)
[2022-10-09 11:13:40] INDEX=(id=33554560, name=SYSINDEXMACOBJ, table_name=SYSMACOBJ)
[2022-10-09 11:13:40] INDEX=(id=33554561, name=SYSINDEXSYSRESOURCES, table_name=SYSRESOURCES)
[2022-10-09 11:13:40] INDEX=(id=33554562, name=SYSINDEXTABLECOMMENTS, table_name=SYSTABLECOMMENTS)
[2022-10-09 11:13:40] INDEX=(id=33554563, name=SYSINDEXCOLUMNCOMMENTS, table_name=SYSCOLUMNCOMMENTS)
[2022-10-09 11:13:40] INDEX=(id=33554564, name=SYSINDEXSYSREWRITE, table_name=SYS_REWRITE_EQUIVALENCES)
[2022-10-09 11:13:40] INDEX=(id=33554565, name=SYSINDEXSYSDISTABLEINFO, table_name=SYSDISTABLEINFO)
[2022-10-09 11:13:40] INDEX=(id=33554566, name=RINDEXSYSCONS, table_name=SYSCONS)
[2022-10-09 11:13:40] INDEX=(id=33554567, name=FINDEXSYSCONS, table_name=SYSCONS)
[2022-10-09 11:13:40] INDEX=(id=33554568, name=SYSINDEXCOLINFOS, table_name=SYSCOLINFOS)
[2022-10-09 11:13:40] INDEX=(id=33554569, name=SYSINDEXSYSDEPENDENCIES, table_name=SYSDEPENDENCIES)
[2022-10-09 11:13:40] INDEX=(id=33554570, name=RINDSYSDEPENDENCIES, table_name=SYSDEPENDENCIES)
[2022-10-09 11:13:40] INDEX=(id=33554571, name=SYSINDEXFREQROOTS, table_name=SYSFREQROOTS)
[2022-10-09 11:13:40] INDEX=(id=33554572, name=SYSINDEXTABLECOMMENTSKEYS, table_name=SYSTABLECOMMENTS)
[2022-10-09 11:13:40] INDEX=(id=33554573, name=SYSINDEXCOLUMNCOMMENTSKEYS, table_name=SYSCOLUMNCOMMENTS)
[2022-10-09 11:13:40] INDEX=(id=33554574, name=SYSINDEXSYSUSERINI$, table_name=SYSUSERINI$)
[2022-10-09 11:13:40] INDEX=(id=33554575, name=SYSINDEXSYSINJECTHINT, table_name=SYSINJECTHINT)
[2022-10-09 11:13:40] INDEX=(id=33554576, name=SYSINDEXIDSYSOBJECTS, table_name=SYSOBJECTS)
[2022-10-09 11:13:40] INDEX=(id=33554577, name=SYSINDEXSYSDUAL2, table_name=SYSDUAL2)
[2022-10-09 11:13:40] INDEX=(id=33554578, name=SYSINDEXMSTATS, table_name=SYSMSTATS)
[2022-10-09 11:13:40] INDEX=(id=33554579, name=SYSINDEXOPENHISTORY, table_name=SYSOPENHISTORY)
[2022-10-09 11:13:40] INDEX=(id=33554580, name=SYSINDEXSYSSTATPREFS, table_name=SYSSTATPREFS)
[2022-10-09 11:13:40] INDEX=(id=33554581, name=SYSINDEXSYSSTATTABLEIDU, table_name=SYSSTATTABLEIDU)
[2022-10-09 11:13:40] INDEX=(id=33554582, name=SYSINDEXFCOLDEFAULT, table_name=SYSFCOLDEFAULT)
[2022-10-09 11:13:40] INDEX=(id=33554583, name=SYSINDEXPROXYINFOS, table_name=PROXY_INFO$)
[2022-10-09 11:13:40] INDEX=(id=33554584, name=SYSPROFILES, table_name=SYSPROFILES)
[2022-10-09 11:13:40] INDEX=(id=33554585, name=SYSUSERPROFILES, table_name=SYSUSERPROFILES)
[2022-10-09 11:13:40] INDEX=(id=33554586, name=SYSINDEXSYSTUNINGTASK, table_name=SYSTUNINGTASK)
[2022-10-09 11:13:40] INDEX=(id=33554587, name=SYSINDEXSYSTUNINGEXECUTION, table_name=SYSTUNINGEXECUTION)
[2022-10-09 11:13:40] INDEX=(id=33554588, name=SYSINDEXSYSTUNINGREPORT, table_name=SYSTUNINGREPORT)
[2022-10-09 11:13:40] INDEX=(id=33554589, name=SYSINDEXSYSMODIFICATIONS, table_name=SYSMODIFICATIONS)
[2022-10-09 11:13:40] INDEX=(id=33554590, name=SYSINDEXNAMESYSOBJECTS, table_name=SYSOBJECTS)
[2022-10-09 11:13:40] INDEX=(id=33554591, name=SYSINDEXSYSPKGPROCINFOS, table_name=SYSPKGPROCINFOS)
[2022-10-09 11:13:40] INDEX=(id=33554592, name=SYSINDEXSYSPKGPROCPARAMS, table_name=SYSPKGPROCPARAMS)
[2022-10-09 11:13:40] INDEX=(id=33554606, name=SYSINDEX_DPC_TABLESPACE, table_name=DPC_TABLESPACE)
[2022-10-09 11:13:40] INDEX=(id=33554608, name=SYSINDEX_SYSTSGROUPS, table_name=SYSTSGROUPS)
[2022-10-09 11:13:40] INDEX=(id=33554609, name=SYSINDEXREDEFSTATUS, table_name=SYSREDEFSTATUS)
[2022-10-09 11:13:40] INDEX=(id=33554610, name=SYSINDEXREDEFOBJECT, table_name=SYSREDEFOBJECT)
[2022-10-09 11:13:40] INDEX=(id=33554611, name=SYSINDEXREDEFDERROR, table_name=SYSREDEFDERROR)
[2022-10-09 11:13:40] INDEX=(id=33555432, name=INDEX33555432, table_name=SYSMACPLYS)
[2022-10-09 11:13:40] INDEX=(id=33555433, name=SYSINDEXPIDIDSYSOBJECTS, table_name=SYSOBJECTS)
[2022-10-09 11:13:40] INDEX=(id=33555434, name=SECOND_INDXE_SYS_REWRITE_EQUIVALENCES_X7Q1, table_name=SYS_REWRITE_EQUIVALENCES)
[2022-10-09 11:13:40] INDEX=(id=33555435, name=INDEX33555435, table_name=SYSAUDITSQLSEQ)
[2022-10-09 11:13:40] INDEX=(id=33555438, name=INDEX33555438, table_name=DPC_TABLESPACE)
[2022-10-09 11:13:40] INDEX=(id=33555441, name=SYSINDEXPARTTIDSYSHPARTTABLEINFO, table_name=SYSHPARTTABLEINFO)
[2022-10-09 11:13:40] INDEX=(id=33555442, name=INDEX33555442, table_name=SYSTUNINGTASK)
[2022-10-09 11:13:40] INDEX=(id=33555444, name=INDEX33555444, table_name=SYSTUNINGEXECUTION)
[2022-10-09 11:13:40] INDEX=(id=33555449, name=INDEX33555449, table_name=POLICY_GROUPS)
[2022-10-09 11:13:40] INDEX=(id=33555450, name=INDEX33555450, table_name=POLICIES)
[2022-10-09 11:13:40] INDEX=(id=33555451, name=INDEX33555451, table_name=POLICY_CONTEXTS)
[2022-10-09 11:13:40] INDEX=(id=33555452, name=INDEX33555452, table_name=POLICY_COLS)
[2022-10-09 11:13:40] INDEX=(id=33555453, name=INDEX33555453, table_name=DBMS_LOCK_ALLOCATED)
[2022-10-09 11:13:40] INDEX=(id=33555454, name=INDEX33555454, table_name=DBMS_ALERT_INFO)
[2022-10-09 11:13:40] INDEX=(id=33555455, name=INDEX33555455, table_name=AQ$_QUEUE_TABLES)
[2022-10-09 11:13:40] INDEX=(id=33555456, name=INDEX33555456, table_name=AQ$_QUEUE_TABLES)
[2022-10-09 11:13:40] INDEX=(id=33555457, name=INDEX33555457, table_name=AQ$_QUEUES)
[2022-10-09 11:13:40] INDEX=(id=33555458, name=INDEX33555458, table_name=AQ$_QUEUES)
[2022-10-09 11:13:40] INDEX=(id=33555459, name=INDEX33555459, table_name=AQ$_QUEUES)
[2022-10-09 11:13:40] INDEX=(id=33555461, name=INDEX33555461, table_name=REG$)
[2022-10-09 11:13:40] INDEX=(id=33555462, name=INDEX33555462, table_name=SYSTSGROUPS)
[2022-10-09 11:13:40] INDEX=(id=33555463, name=INDEX33555463, table_name=TABLE_1)
[2022-10-09 11:13:40] INDEX=(id=33555464, name=INDEX33555464, table_name=BOOK_1)
[2022-10-09 11:13:40] INDEX=(id=33555465, name=INDEX33555465, table_name=TABLE_2)
[2022-10-09 11:13:40] INDEX=(id=33555467, name=INDEX33555467, table_name=BOOK_1)
[2022-10-09 11:13:40] INDEX=(id=33555468, name=INDEX33555468, table_name=PERSON)
[2022-10-09 11:13:40] INDEX=(id=33555469, name=INDEX33555469, table_name=EMPINFO)
[2022-10-09 11:13:40] INDEX=(id=33555470, name=INDEX33555470, table_name=TEST1)
[2022-10-09 11:13:40] INDEX=(id=33555471, name=INDEX33555471, table_name=BAK_DMINI_220923)
[2022-10-09 11:13:40] INDEX=(id=33555474, name=INDEX33555474, table_name=T01)
[2022-10-09 11:13:40] INDEX=(id=33555475, name=INDEX33555475, table_name=BAK_DMINI_220926)
[2022-10-09 11:13:40] --------check indexes end-----------------

[2022-10-09 11:13:40] --------check iid start-------------------

[2022-10-09 11:13:40] check cons id ...
[2022-10-09 11:13:40] check index id ...
[2022-10-09 11:13:40] check table id ...
[2022-10-09 11:13:40] check proc id ...
[2022-10-09 11:13:40] check schema id ...
[2022-10-09 11:13:40] check synonym id ...
[2022-10-09 11:13:40] check user id ...
[2022-10-09 11:13:40] --------check iid end---------------------

[2022-10-09 11:13:40] DM DB CHECK END......
[2022-10-09 11:13:40] error count is 0

2.3 参数

[dmdba@dm01 /dm8/bin]$ ./dmdbchk help
[2022-10-09 11:15:49] dmdbchk V8

version: 03134283904-20220630-163817-20005
格式: ./dmdbchk KEYWORD=value

例程: ./dmdbchk path=/opt/dmdbms/bin/dm.ini

关键字         说明
--------------------------------------------------------------------------------
PATH           dm.ini绝对路径或者当前目录的dm.ini
DCR_INI        dmdcr.ini的路径
HELP           打印帮助信息
START_INDEXID  最小检查索引号
END_INDEXID    最大检查索引号
CHECK_SEMA     检查当前系统信号量使用情况(只适用于LINUX,1:只做检查 2:检查并删除残留信号量)
CHECK_SHM      检查当前系统共享内存使用情况(只适用于LINUX,1:只做检查 2:检查并删除残留共享内存)

2.4 dmdbchk报告解读

检验完毕后,dmdbchk会在当前目录下(dmdbchk所在目录)生成一个名为dbchk_err.txt的检查报告。

/**一 dmdbchk 版本信息**/
[2015-12-31 16:57:29] dmdbchk V7.1.5.42-Build(2015.12.30-64335trunc)
/**二开始标志**/
[2015-12-31 16:57:30] DM DB CHECK START......
/**三数据文件校验结果**/
[2015-12-31 16:57:30] --------check dbf file size start---------
[2015-12-31 16:57:30] FILE=(ts_id=0, fil_id=0, path=D:\xx\DAMENG\SYSTEM.DBF)
[2015-12-31 16:57:30] FILE=(ts_id=1, fil_id=0, path=D:\xx\DAMENG\ROLL.DBF)
[2015-12-31 16:57:30] FILE=(ts_id=4, fil_id=0, path=D:\xx\DAMENG\MAIN.DBF)
[2015-12-31 16:57:30] FILE=(ts_id=5, fil_id=0, path=D:\xx\DAMENG\BOOKSHOP.DBF)
[2015-12-31 16:57:30] --------check dbf file size end-----------
/**四索引校验结果**/
[2015-12-31 16:57:30] --------check indexes start---------------
[2015-12-31 16:57:30] INDEX=(id=33554433, name=SYSINDEXCOLUMNS, 
table_name=SYSCOLUMNS)
[2015-12-31 16:57:30] INDEX=(id=33554434, name=SYSINDEXINDEXES, 
table_name=SYSINDEXES)
[2015-12-31 16:57:30] INDEX=(id=33554440, name=SYSINDEXTUSERS, 
table_name=SYSUSER$)
[2015-12-31 16:57:30] INDEX=(id=33554442, name=SYSINDEXSYSGRANTS, 
table_name=SYSGRANTS)
[2015-12-31 16:57:30] INDEX=(id=33554452, name=SYSINDEXCONSTRAINTS, 
table_name=SYSCONS)
[2015-12-31 16:57:30] INDEX=(id=33554458, name=SYSINDEXSYSAUDIT, 
table_name=SYSAUDIT)
[2015-12-31 16:57:30] INDEX=(id=33554459, name=SYSINDEXSYSAUDITSQLSEQ, 
table_name=SYSAUDITSQLSEQ)
[2015-12-31 16:57:30] INDEX=(id=33554464, name=SYSINDEXCONTEXTINDEXES, 
table_name=SYSCONTEXTINDEXES)
......
省略一部分索引校验结果......
......
[2015-12-31 16:57:30] INDEX=(id=33555528, name=INDEX33555528, table_name=EMPTAB)
[2015-12-31 16:57:30] INDEX=(id=33555529, name=INDEX33555529, table_name=EMPTAB)
[2015-12-31 16:57:30] INDEX=(id=33555530, name=INDEX33555530, 
table_name=SALGRADE)
[2015-12-31 16:57:30] INDEX=(id=33555531, name=INDEX33555531,
table_name=COMPANYHOLIDAYS)
[2015-12-31 16:57:30] --------check indexes end-----------------
/**五对象 ID 校验结果**/
[2015-12-31 16:57:30] --------check iid start-------------------
[2015-12-31 16:57:30] check cons id ...
[2015-12-31 16:57:30] check index id ...
[2015-12-31 16:57:30] check table id ...
[2015-12-31 16:57:30] check proc id ...
[2015-12-31 16:57:30] check schema id ...
[2015-12-31 16:57:30] check synonym id ...
[2015-12-31 16:57:30] check user id ...
[2015-12-31 16:57:30] --------check iid end---------------------
/**六结束标志**/
[2015-12-31 16:57:30] DM DB CHECK END......
/**七错误总数**/
[2015-12-31 16:57:30] error count is 0

2.4.1 检测某台Linux机器上信号量的使用情况

[dmdba@dm01 /dm8/bin]$ ./dmdbchk CHECK_SEMA=1
/**一 dmdbchk 版本信息**/
[2018-11-05 14:54:44] dmdbchk V8.0.0.105-Build(2018.10.31-98635-debug)ENT
/**二所有信号量检测结果**/
[2018-11-05 14:54:44] get semid 40992768(key:0xcc020ab4) current value:0, 
cur_time:1541400884, last op time:1540894468, need delete it!
[2018-11-05 14:54:44] get semid 41025537(key:0xcd020ab4) current value:0, 
cur_time:1541400884, last op time:1540894468, need delete it!
[2018-11-05 14:54:44] get semid 53116930(key:0xcd02111d) current value:0, 
cur_time:1541400884, last op time:1541318198, need delete it!
/**三总数归类**/
[2018-11-05 14:54:44] check os semaphore finished:
[2018-11-05 14:54:44] total_cnt:3, active_cnt:0, check_err_cnt:0, need_del:3, real_del:0, del_err_cnt:0!

2.4.2 删除某台Linux机器上的残留信号量

[dmdba@dm01 /dm8/bin]$ ./dmdbchk CHECK_SEMA=2
/**一 dmdbchk 版本信息**/
[2018-11-05 14:54:47] dmdbchk V8.0.0.105-Build(2018.10.31-98635-debug)ENT
/**二所有信号量检测结果**/
[2018-11-05 14:54:47] get semid 40992768(key:0xcc020ab4) current value:0, cur_time:1541400887, otime:1540894468, delete it success!
[2018-11-05 14:54:47] get semid 41025537(key:0xcd020ab4) current value:0, cur_time:1541400887, otime:1540894468, delete it success!
[2018-11-05 14:54:47] get semid 53116930(key:0xcd02111d) current value:0, cur_time:1541400887, otime:1541318198, delete it success!
/**三总数归类**/
[2018-11-05 14:54:47] check os semaphore finished:
[2018-11-05 14:54:47] total_cnt:3, active_cnt:0, check_err_cnt:0,need_del:3, real_del:3, del_err_cnt:0!

3. dmfldr

3.1 概述

3.1.1 功能介绍

	dmfldr(DM Fast Loader)是DM提供的快速数据装载命令行工具,用户通过使用dmfldr工具能够把按照一定格式排序的文本数据一简单、快速、高效的方式载入到DM数据库中,或把DM数据库中的数据按照一定格式写入文本文件。

3.1.2 系统结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YDgxkUMX-1665712527121)(D:\typora图片\image-20221009135911900.png)]

	dmfldr实际上出了客户端工具,还包含一个在数据库服务器中的dmfldr功能模块,他们共同完成dmfldr的各项功能。
	当进行数据载入时,dmfldr客户端接收用户提交的命令与参数,分析控制文件与数据文件,将数据打包发送给服务器端的dmfldr模块,由服务器完成数据的真正装载工作。并分析服务器返回的消息,必要时根据用户参数指定生成日志文件与错误数据文件。
		当进行数据导出时,dmfldr客户端接收用户提交的命令和参数,分析控制文件,将用户要求转换成相应消息发给服务器端的dmfldr模块。服务器解析并打包需要导出的数据,发送给dmfldr客户端,客户端将数据写入指定的数据文件,必要时根据用户参数指定生成日志文件。

3.2 参数介绍

[dmdba@dm01 /dm8/bin]$ ./dmfldr help
version: 03134283904-20220630-163817-20005
格式: ./dmfldr   KEYWORD=value

例程: ./dmfldr   SYSDBA/SYSDBA CONTROL='/opt/data/fldr.ctl'

USERID 必须是命令行中的第一个参数
CONTROL 必须是命令行中的第二个参数

字符串类型参数必须以引号封闭

关键字              说明(默认值)
--------------------------------------------------------------------------------
USERID              用户名/口令, 格式:{<username>[/<password>] | /}[@<connect_identifier>][<opt                                                                                    ion>] [<os_auth>]
                    <connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
                    <option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
                               --此行外层{}是为了封装参数之用,书写时需要保留
                    <os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
CONTROL             控制文件,字符串类型
LOG                 日志文件,字符串类型 (fldr.log)
BADFILE             错误数据记录文件,字符串类型 (fldr.bad)
SKIP                初始忽略逻辑行数 (0)
LOAD                需要装载的行数 (ALL)
ROWS                提交频次 (50000), DIRECT为FALSE有效
DIRECT              是否使用快速方式装载 (TRUE)
SET_IDENTITY        是否插入自增列 (FALSE)
SORTED              数据是否已按照聚集索引排序 (FALSE)
INDEX_OPTION        索引选项 (1)
                    1 不刷新二级索引,数据按照索引先排序,装载完后再
                    将排序的数据插入索引
                    2 不刷新二级索引,数据装载完成后重建所有二级索引
                    3 刷新二级索引, 数据装载的同时将数据插入二级索引
ERRORS              允许的最大数据错误数 (100)
CHARACTER_CODE      字符编码,字符串类型 (GBK, UTF-8, SINGLE_BYTE, EUC-KR)
MODE                装载方式,字符串类型 IN表示载入,OUT表示载出,
                    OUTORA表示载出ORACLE (IN)
CLIENT_LOB          大字段目录是否在本地 (FALSE)
LOB_DIRECTORY       大字段数据文件存放目录
LOB_FILE_NAME       大字段数据文件名称,仅导出有效 (dmfldr.lob)
BUFFER_NODE_SIZE    读入文件缓冲区的大小 (10),有效值范围1~2048
LOG_SIZE            日志信息缓冲区的大小 (1),有效值范围1~100
READ_ROWS           工作线程一次最大处理的行数 (100000),最大支持2^26-10000
NULL_MODE           载入时NULL字符串是否处理为NULL
                    载出时空值是否处理为NULL字符串 (FALSE)
NULL_STR            载入时视为NULL值处理的字符串
SEND_NODE_NUMBER    运行时发送节点的个数 (20),有效值范围16~65535
TASK_THREAD_NUMBER  处理用户数据的线程数目,默认与处理器核数量相同,有效值范围1~128
BLDR_NUM            服务器BLDR数目 (64),有效值范围1~1024
BDTA_SIZE           bdta的大小 (5000),有效值范围100~10000
COMPRESS_FLAG       是否压缩bdta (FALSE)
MPP_CLIENT          MPP环境,是否本地分发 (TRUE)
SINGLE_FILE         MPP/DPC环境,是否只生成单个数据文件(FALSE)
LAN_MODE            MPP/DPC环境,是否以内网模式装载数据(FALSE)
UNREP_CHAR_MODE     非法字符处理选项(0),为0时表示跳过该数据行,为1时表示使用(*)替换错误字节
SILENT              是否静默方式装载数据(FALSE)
BLOB_TYPE           BLOB类型字段数据值的实际类型,字符串类型 (HEX_CHAR)
                    HEX表示值为十六进制,HEX_CHAR表示值为十六进制字符类型
                    仅在direct=FALSE有效
OCI_DIRECTORY       OCI动态库所在的目录
DATA                指定数据文件路径
ENABLE_CLASS_TYPE   允许用户导入CLASS类型数据 (FALSE)
FLUSH_FLAG          提交时是否立即刷盘 (FALSE)
IGNORE_BATCH_ERRORS 是否忽略错误数据继续导入 (FALSE)
SINGLE_HLDR_HP      是否使用单个HLDR装载HUGE水平分区表 (TRUE)
EP                  指定需要发送数据的站点序号列表,仅向MPP/DPC环境导入数据时有效
PARALLEL            是否开启并行装载(FALSE)
SQL                 使用自定义查询语句,仅导出模式有效
TABLE               导入/出表
ROW_SEPERATOR       行分隔符
FIELD_SEPERATOR     列分隔符
COMMIT_OPTION       提交选项(0), 0:每发送一批数据后提交, 1:发送完所有数据后提交
APPEND_OPTION       追加选项(0), 0: 追加方式, 1: 替代方式, 2: 插入方式
COLNAME_HEADING     是否在导出文件头中打印列名(FALSE)
IGNORE_AIMLESS_DATA 是否忽略无目标数据(FALSE)
LOB_AS_VARCHAR      是否将CLOB作为VARCHAR进行导入导出(FALSE)
LOB_AS_VARCHAR_SIZE 将CLOB作为VARCHAR进行导入导出时, lob数据最大大小(10)MB
LOG_LEVEL           记录错误数据信息级别(3), 0: 不记录 1: 只记录到log文件 2: 只记录到bad文件 3:                                                                                     记录到log和bad文件
FLDR_INI            配置文件路径,字符串类型
HELP                打印帮助信息

3.3 dmfldr实战

3.3.1 指定数据文件

1.建表

DROP TABLE TEST;
CREATE TABLE TEST(C1 INT,C2 INT,C3 DATE);

2.编辑数据文件test.txt,存放路径为/dm8/data/DAMENG/test.txt,内容如下:

1 1|2015-11-06
2 2|2015-11-05
3 3|2015-11_04

3.编辑控制文件test.ctl,存放路径为/dm8/data/DAMENG/test.ctl。内容如下:

LOAD DATA
INFILE '/dm8/data/DAMENG/test.txt'
INTO TABLE test
FIELDS '|'
(
C1 TERMINATED BY ' ',
C2,
C3 DATE FORMAT 'yyyy-mm-dd'
)

4.使用dmfldr进行数据载入

[dmdba@dm01 /dm8/bin]$ ./dmfldr userid=SYSDBA/SYSDBA@localhost:5236 control=\'/dm8/data/DAMENG/test.ctl\'
dmfldr V8
控制文件:

加载行数:全部

每次提交服务器行数:50000

跳过行数:0

允许错误数:100

是否直接加载:Yes

是否插入自增列:No

数据是否已按照聚集索引排序:No

字符集:GBK



数据文件共1个:
/dm8/data/DAMENG/test.txt

错误文件:fldr.bad

目标表:TEST

列名                                                                                                                           包装数据类型   终止
C1                                                                                                                               CHARACTER            WHT
C2                                                                                                                               CHARACTER            |
C3                                                                                                                               yyyy-mm-dd           |

行缓冲区数量: 2
任务线程数量: 1

3行记录已提交

目标表:TEST
load success.
3 行加载成功。
0 行由于数据格式错误被丢弃。
0 行由于数据错误没有加载。

跳过的逻辑记录总数:0
读取的逻辑记录总数:3
拒绝的逻辑记录总数:0

2.605(ms)已使用

3.3.2 使用DATA参数指定数据文件

1.建表

DROP TABLE TEST;
CREATE TABLE TEST(C1 INT,C2 INT,C3 DATE);

2.编辑数据文件test.txt,存放路径为/dm8/data/DAMENG/test.txt,文件内容如下:

1 1|2015-11-06
2 2|2015-11-05
3 3|2015-11_04

3.编辑控制文件test.ctl,存放路径为/dm8/data/DAMENG/test.ctl,内容如下:

LOAD DATA
INFILE *
INTO TABLE test
FIELDS '|'
(
C1 TERMINATED BY ' ',
C2,
C3 DATE FORMAT 'yyyy-mm-dd'
)

4.使用dmfldr进行数据装载

[dmdba@dm01 /dm8/bin]$ ./dmfldr userid=SYSDBA/SYSDBA@localhost:5236 control=\'/dm8/data/DAMENG/test.ctl\' badfile=\'/dm8/data/DAMENG/test.bad\'
dmfldr V8
控制文件:

加载行数:全部

每次提交服务器行数:50000

跳过行数:0

允许错误数:100

是否直接加载:Yes

是否插入自增列:No

数据是否已按照聚集索引排序:No

字符集:GBK



数据文件共1个:
/opt/data/test.txt

错误文件:/dm8/data/DAMENG/test.bad

目标表:TEST

列名                                                                                                                           包装数据类型   终止
C1                                                                                                                               CHARACTER            WHT
C2                                                                                                                               CHARACTER            |
C3                                                                                                                               yyyy-mm-dd           |

行缓冲区数量: 2
任务线程数量: 1

打开文件失败

目标表:TEST
load success.
0 行加载成功。
0 行由于数据格式错误被丢弃。
0 行由于数据错误没有加载。

跳过的逻辑记录总数:0
读取的逻辑记录总数:0
拒绝的逻辑记录总数:0

1.007(ms)已使用

3.4 提升dmfldr性能

参数
BUFFER_NODE_SIZE设置读取文件缓冲区页大小,值越大,缓冲区的页越大,每次读取的数据就越多,每次发送到服务器的数据也就越多,效率越高。但其大小受dmfldr客户端内存大小限制。
READ_ROWS在某些情况下,BUFFER_NODE_SIZE读入的数据行数很大,而后续操作处理不了这么大的行数,此时可以用READ_ROWS来限制处理的行数。dmfldr取READ_ROWS和BUFFER_NODE_SIZE中较小的值作为一次处理的行数。
SEND_NODE_NUMBER指定dmfldr在数据载入时发送节点的个数,默认由系统计算一个初始值。若在数据载入时发现节点不够用,系统会动态增加分配。在系统内存足够的情况下,可以适当设大SEND_NODE_NUMBER值,提升dmfldr载入性能。
TASK_THREAD_NUMBER指定dmfldr在数据载入时处理用户数据的线程数目。默认情况下,dmfldr将该参数值设为系统CPU个数,但当CPU个数大于8时,默认值都被置为8.在dmfldr客户端所有机器CPU大于8环境中,提高TASK_THREAD_NUMBER值可以提升dmfldr装载性能。
BLDR_NUM水平分区表装载时,指定服务器BLDR的最大个数,默认为64.
服务器的BLDR保存水平分区子表相关信息,BLDR_NUM的设置也就指定了服务器性能同时载入的水平分区子表的个数。若BLDR_NUM设置太大,当水平分区子表数过多时,可能会导致服务器内存不足。当载入时实际需要的BLDR个数超出BLDR_NUM设置时,会淘汰指定子表的BLDR,并替换为新的子表BLDR。
BDTA_SIZEBDTA(Batch Data)的大小,默认为5000.
BDTA代表DM数据库批量数据处理机制中一个批量,在内存、CPU允许的条件下,增大BDTA_SIZE能加快装载速度,在网络是装载性能瓶颈时,增大BDTA_SIZE影响不大。
INDEX_OPTION索引的设置选项,默认为1。INDEX_OPTION的可选项有1、2和3:
1.代表服务器装载数据时先不刷新二级索引,而是将数据按照索引预先排序,在装载完成后,再将排好序的数据插入索引。如果在数据载入前,目标表中已有较多数据,建议INDEX_OPTION置为1.
2.代表服务器在快速装载过程中不刷新二级索引数据,只在装载完成时重建所有二级索引。如果在数据载入前,目标表中没有数据或数据量较小,建议INDEX_OPTION置为2。
3.代表服务器使用追加模式来进行而今索引的插入,在数据装载的过程中,同时进行二级索引的插入,当原有数据量远大于插入数据量时,建议INDEX_OPTION置为3。

3.5 dmfldr使用限制

使用限制
不支持向临时表、外部表装载数据
不支持向系统表装载数据
不支持向带有位图索引的表装载数据
不支持向带有函数索引的表装载数据
不支持向带有全文索引的表装载数据
不支持向带有全局索引的表装载数据
不支持向SCP代理装载数据

dmfldr装载时,对约束进行检查,对各种约束的处理机制如下表所示:

约束数据不满足时数据插入与否约束是否有效
非空约束(NOT NULL)报错不插入有效
聚集索引(CLUSTER PRIMARY KEY)报错不插入有效
唯一约束(UNIQUE, PRIMARY KEY)报错插入失效
引用约束(FOREIGN KEY)不报错插入有效
CHECK约束(CHECK)不报错插入有效

4. dminit

4.1 概述

	dminit是DM数据库初始化工具。系统管理员可以利用dminit工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用UNICODE等,创建出满足用户需要的数据库。该工具位于安装目录的/bin目录下。

4.2 dminit参数

参数说明
INI_FILE初始化文件dm.ini存放的路径
PATH初始数据库存放的路径
CTL_PATH控制文件路径
LOG_PATH日志文件路径
EXTENT_SIZE数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE日志文件大小(256),单位为:M,范围为:256M ~ 2G
CASE_SENSITIVE大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB]
LENGTH_IN_CHARVARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME数据库名(DAMENG)
INSTANCE_NAME实例名(DMSERVER)
PORT_NUM监听端口号(5236)
BUFFER系统缓存大小(100),单位M
TIME_ZONE设置时区(+08:00)
PAGE_CHECK页检查模式(0),可选值:0/1/2
PAGE_HASH_NAME设置页检查HASH算法
EXTERNAL_CIPHER_NAME设置默认加密算法
EXTERNAL_HASH_NAME设置默认HASH算法
EXTERNAL_CRYPTO_NAME设置根密钥加密引擎
RLOG_ENCRYPT_NAME设置日志文件加密算法,若未设置,则不加密
USBKEY_PIN设置USBKEY PIN
PAGE_ENC_SLICE_SIZE设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME设置全库加密算法
BLANK_PAD_MODE设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATHSYSTEM数据文件镜像路径
MAIN_MIRROR_PATHMAIN数据文件镜像
ROLL_MIRROR_PATH回滚文件镜像路径
MAL_FLAG初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAGMpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH是否使用改进的字符类型HASH算法(1)
ELOG_PATH指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM分布式环境下协同工作的监听端口
DFS_FLAG初始化时设置dm.ini中的DFS_INI(0)
DFS_PATH启用dfs时指定数据文件的缺省路径
DFS_HOST指定连接分布式系统DFS的服务地址(localhost)
DFS_PORT指定连接分布式系统DFS的服务端口号(3332)
DFS_COPY_NUM指定分布式系统的副本数(3)
DFS_DB_NAME指定分布式系统的中数据库名(默认与DB_NAME一致)
SHARE_FLAG指定分布式系统中该数据库的共享属性(0)
REGION_MODE指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略
HUGE_WITH_DELTA是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE是否生成HUGE表REDO日志(0) 1:是 0:否
PSEG_MGR_FLAG是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGECHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
HELP打印帮助信息

4.3 使用dminit

初始数据库存放的路径为/dm8/data,设置页的大小是32kb,簇的大小是32kb,大小写敏感,字符集为utf_8,数据库名为DAMENG,实例名为DMSERVER,端口为5236
[dmdba@dm01 /dm8/bin]$ ./dminit path=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236

统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略|
| HUGE_WITH_DELTA | 是否仅支持创建事务型HUGE表(1) 1:是 0:否|
| RLOG_GEN_FOR_HUGE | 是否生成HUGE表REDO日志(0) 1:是 0:否|
| PSEG_MGR_FLAG | 是否仅使用管理段记录事务信息(0) 1:是 0:否|
| CHAR_FIX_STORAGE | CHAR是否按定长存储(N),可选值:Y/N,1/0|
| SQL_LOG_FORBID | 是否禁止打开SQL日志(N),可选值:Y/N,1/0|
| DPC_MODE | 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替|
| HELP | 打印帮助信息|

4.3 使用dminit

初始数据库存放的路径为/dm8/data,设置页的大小是32kb,簇的大小是32kb,大小写敏感,字符集为utf_8,数据库名为DAMENG,实例名为DMSERVER,端口为5236
[dmdba@dm01 /dm8/bin]$ ./dminit path=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236

详情请参考:https://eco.dameng.com

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值