数据库系统安全、技术操作规程一.数据库系统概述在OVATION系统中,RDBMS核心是Ovation Power Tool数据库,由多种分布式数据库支持的主(master)数据库组成。
Ovation系统中许多信息,包括系统配置、控制算法信息和过程点数据库存储在Ovation 数据库中。
Ovation数据库提供了结合和产生系统中大量的原始数据的能力,并可以用来创建其他的信息。
所有设计工具和用户接口把数据存储在Ovation数据库中,然后把信息传送到控制系统中。
Ovation数据库允许应用软件和控制系统通过第三方SQL(结构化查询语言)工具方便的访问数据。
主数据库中信息分成两个主要部分:用户级和系统级。
用户级由下列一组表组成(可以进行所有SQL的读访问):点表-表示点的用户级别特性。
它们通过导入程序、点建立器和控制建立器来增加。
控制表-表示系统的控制信息,由控制建立器操作。
配置表-表示系统的配置。
通过导入程序、Admin Tool和I/O建立器来增加。
参数表-表示Ovation系统内容、硬件模件参数信息,Ovation记录类型信息,并在数据库创建时增加。
基线表-用于捕捉用户级别表内容的基线。
Ovation数据库以Oracle7为基础, Ovation通过网络进行连接,Oracle把存放在不同计算机上的数据结合起来存放在一个逻辑数据库中,并由非控制器网络节点进行访问。
二.数据库信息的存取2-1. 数据库初始化定义工具(DBID)Power Tool数据库可以通过Power Tool单元支持建立数据库,同时也可以执行大量数据输入和导入功能,将数据存放到Power Tool主数据库中。
为方便初始化Power Tool数据库总体,创建数据库初始化定义工具(DBID)。
如Ovation 点建立器,DBID提供了一个图形化用户接口,用于创建、删除和修改点数据。
DBID通过允许用户直接修改点表中数据,支持大批量数据输入和全局性编辑/替换功能。
DBID建立在Microsoft Access95数据库产品及其它数据检测程序基础上。
DBID同Ovation点建立器程序非常相似,同样包含了定义的窗体及系统中硬件配置及输入和编辑点数据。
数据可以手工输入或者从许多其它源文件,如DBASE或电子数据表格文件中导入,但是根据外部数据结构可能要求一些自定义转换。
一旦信息输入到DBID并导入到主数据库中,在点对点基础上通过点建立器进行修改。
大批量数据修改可通过将数据从主数据库中导出来完成,然后再把这些数据存回到DBID数据库中。
一旦修改完成,文件可重新导入到主数据库中。
DBID生成一个可以导入到Ovation数据库中的文本文件。
2-2. 数据的导入功能(ptdbimp)导入文件由DBID工具生成后,可使用Power Tool的导入功能(ptdbimp)把数据存入到主数据库中,这与Power Tool导出功能(ptdbexp)配合使用。
导入过程的三个用途:初始化创建的数据库修改一个已存在的数据库恢复数据库为一个可知状态注意ptdbimp用于生成一个主数据库的导出文件(使用ptdbexp),并且把数据存回到DBID工具中这是重要的。
若有必要,可进行大批量更改或添加。
一旦完成,DBID可以生成一个导入到主数据库的文本文件。
Ptdmimp程序存放在$WDPF_HOME/db/bin目录下,为使用ptdbimp,在shelltool窗口中运行下列命令:$WDPF_HOME/db/bin> ptdbimp ptadmin <filename> [<options>]ptadmin=表明使用主数据库导入。
若这个程序运行分布式数据库,则用local替代ptadmin。
Filename=导入的文件名Options=-h =帮助-n =只添加新点-c =即使有一个错也继续数据导入到主数据库后,数据必须传送到控制器和原点站中。
这个功能由Drop Loader 完成。
2-3.1. 数据的导入格式导入文件格式如下,导入文件的每行包含一个动作状态。
OBJECT=“<OBJECT_TYPE>” ACTION=“<ACTION_TYPE>” <attribute><attribute> ...使用术语有效的对象类型(OBJECT_TYPE)是点(POINT)和(TABLE)。
在每一个类型对象类型下不同的动作类型(ACTION_TYPE)是有效的,显示如下:点-有效的动作类型是:-INSERT-用于插入一个新点或修改一个存在点指定的字段-DELETE-用于删除一个点-RESET-用于给每个非必需字段的一个存在点赋一空值并随意修改该点指定的字段,给一个不存在点进行RESET和INSERT该点的功能一样。
表-有效的动作类型是:-PURGE-结果是表中内容被删除-INSERT-在表中插入一个新行导入文件格式的规则。
1. 每一个动作行必须指定OBJECT_TYPE和ACTION_TYPE。
一个动作行可分成多个新的物理行,但必须在关键字对处分开。
2. 对于点,特性由字段名和带有等号的字段值指定。
特性由空格分隔,字段值被附上双引号。
对每个定义项,必须指定所有必需的字段。
可以指定任何数量(包括没有)的可选字段,对字段名这种情况是没有意义的,但是对字段值却是有意义的。
整数型字段指定为10进制或带ox前缀的16进制数。
3. 对于表,表名由表属性指定,并且每列指定为<column_name>=“column value”。
强烈推荐表命令总是由PURGE命令领先,其后为所有必须插入状态来添加表。
4. 注释包括带有#字符的注释,从#字符删除到行结束的所有文本被忽略,注意在双引号中的#不作为注释符。
下列为导入格式的例子插入或修改一个点OBJECT= “POINT” ACTION= “INSERT” point_name= “LD134INS001”record_type= “LD” network_id= “0” unit_id= “1” drop_id= “134”bro adcast_frequency= “S” opp_rate= “S” low_alarm_priority_1= “2”high_alarm_priority_1= “3”删除一个点OBJECT= “POINT” ACTION= “DELETE” point_name= “LD134INS001”network_id= “0” unit_id= “1”重设置一个点并指定一个字段OBJECT= “POINT” ACTION= “RESET” point_name= “LD134INS001”network_id= “0” unit_id= “0” engineering_units= “Volts”清除一个表OBJECT= “TABLE” ACTION= “PURGE” table= “drop_io_config”插入到一个表OBJECT= “TABLE” ACTION= “INSERT” table= “drop_io_config”drop_id= “161” network_id= “0” unit_id= “1” pci_slot= “1” io_type= “1”特别事项下列字段有特殊要求:NETWORK_IDUNIT_IDRECORD_TYPEBROADCAST_FREQUENCYDROP_ID导入文件不能修改这些字段,若这些字段需要修改,必须先删除点然后再重新添加。
若一个导入行的点和系统中一个存在的点具有相同的点名(POINT_NAME)和网络号(NETWORK_ID),但却具有不同的单元号(UNIT_ID),则数据库中添加一个具有新的单元号的新点。
2-3. 数据的导出功能(ptdbexp)Power Tool导出功能(ptdbexp)用于导出主数据库中数据,与Power Tool导入功能(ptdbimp)配合使用。
Power Tool导出功能(ptdbexp)产生一个包含当前系统配置(站、硬件、安全等)的文本文件及系统中定义所有点的用户级别参数。
它不包含SID和网络信息,也不包含基线信息。
Ptdbexp文件用于数据库版本控制。
因为每个ptdbexp文件代表数据库中所有对象的的用户级别参数,能够以用户赋给版本号单独的保存并且用于以后数据库内容的恢复。
Ptdbexp程序存放在目录$WDPF_HOME/db/bin下,为使用ptdbexp,在Shell Tool窗口中使用下列命令:$WDPF_HOME/db/bin> ptdbexp ptadmin <filename> [<options>]ptadmin=表明使用主数据库导入。
若这个程序运行分布式数据库,则用local替代ptadmin。
Filename=导入的文件名Options=[control = <control file> -h -t<x>]其中<Control file>=指定到导出文件的某些信息的一个文本文件,例如,用户可以指定drop_id =14,这只从数据库中导出站14的点信息。
可应用字段是drop_id, network_id, network_name, point_name, record_type, unit_id, 和unit_name可应用操作符是 <, <=, >, >=, <>, !=, =, like (通配符的操作符为%字符)。
-t<X>=特殊限定项为X的点组表,其中X为下列项之一:g=全局点组l=本地点组-h=帮助2-3.1. 使用ptdbexp恢复数据库恢复数据库工作区可以通过下列两种方式之一来完成:使用Oracle的Import/Export 程序恢复整个数据库或使用前面ptdbexp的内容。
根据情况和用户要求,无论一种或两种都可使用。
恢复数据的一个最简单方法是应用先前的ptdbexp的内容。
如果执行的同时创建一个基线,这些ptdbexp文件被当作基线考虑。
因为它们只影响数据库的用户级别参数,它们可以在没有要求清除和重装载系统所有站时被应用(通过ptdbimp)。
相反,只有那些被修改过点的站需要重新装载(用户可以通过Drop Loader验证)。
如果执行到描述这,本质上这是一个基线恢复操作。
用户为这必须在创建ptdbexp文件同时创建一个基线。
在这个过程中有个警告:ptdbimp不能删除点。
若一个基线及相关的ptdbexp文件创建,新点随后被添加到数据库中,先前的ptdbimp文件将不能删除这些新点。