-- $Author -- $Date 2018.7.7 -- $Revision v1.0 ------------------------------------------------------------------------------------------------------------------- -- 请注意:此文件已填入样本数据 - 请根据您的需要调整参数! - ------------------------------------------------------------------------------------------------------------------- prompt prompt Oracle RDB 数据库初始化工具 for WinCC OA 3.14 prompt RDB Config: Defining RDB setup parameters prompt ========================================= prompt ---------------------- -- 设置参数 -- ---------------------- --- 配置条目:请根据您的具体环境进行调整 -- 请输入标有"(on DB server*上)"的所有路径,并带有终止斜杠\或反斜杠/! 所有给定的路径必须已存在,它们不会自动的在Oracle DB服务器上创建! -- 独立数据库服务器或第一个节点RAC集群的配置条目 -- 注意事项: -- 不支持设置参数use_occi ='no'+ sys_partitions ='yes'的组合。 ----------------------------------------- -- 连接数据库的标识符(连接到数据库实例的名称,例如在"tnsnames.ora"中定义的),例如在sqlplus中@之后的名称。也可以通过tnsping命令检测此连接名称。 ----------------------------------------- define connect_identifier = 'oracle-scan' -- Connect Identifier (TNS Alias) ------ --具有系统数据库管理员权限的用户的名称。利用管理员权限创建新用户等。如果可以进行OS身份验证,则此条目也可以保留为空。 --当yesno_newuser设置为"no"时,不需要此参数。 -- Sysdba User, e.g. sys or empty for OS-authentication define sysdba_user = 'SYS' --查询是否应创建新的RDB用户或是否应将现有用户用作RDB模式用户。 --如果使用RMAN,yesno_newuser应为'yes'。否则可能会出现备份问题。 -- yes -> creates new schema/user; -- no -> no need for sysdba + uses existing user (provided with all the necessary grants) + all user objects will be recreated + all archives will be deleted define yesno_newuser = 'yes' --现有或新创建的 RDB Schema 用户的名称。 --此用户名最多可包含13个字符。 --注意:架构用户和应用程序用户的名称必须不同。 define schema_user = 'RDB' -- Name of new or existing User; schema user and application user must be different!! --要创建的应用程序用户(App-User)的名称。WinCC OA使用该用户来访问自建的数据库。 --此用户名最多可包含30个字符。 --注意:Schema 用户和Application 程序用户的名称必须不同。 define app_user = 'APP' -- New PVSS Application User; schema user and application user must be different!! --定义是使用操作系统的命令('os'或'std'选项)还是使用Oracle 自带的RMAN('rman'默认选项)执行备份。 --对于Oracle标准版,应使用"std" 或"rman"。 --'rman' =通过RMAN备份/恢复:"Backup and Recovery Manager" - 用于备份和恢复的Oracle命令行程序。 --如果是RAC或者已安装的数据库使用ASM,则必须设置"rman"。 ASM :(Automated Storage Management 自动存储管理) --Oracle在RAW 裸磁盘上自行管理数据文件。因此,管理不是由操作系统进行的。 -- 注意: --如果在Windows下通过RMAN执行备份,则备份目录必须位于数据库服务器的本地硬盘上。不支持备份到网络目录。原因是Oracle权限问题。Oracle在Windows下运行的用户没有足够的权限。如果为用户授予了其他权限,则无法再以SYSDBA身份登录,RMAN进行备份需要SYSDBA身份来完成。 --'std'="通过标准版备份(Backup via the Standard Edition)" - 存档数据在备份设定的文件路径上完成转移。在恢复期间,它们将从备份路径重新复制回来。使用std选项,还可以为Enterprise Edition选择Standard Edition备份。 --'os' =仅适用于Oracle Enterprise Edition,如果备份存档shpuld导入另一个数据库(这可能也是标准版):通过数据PUMP导出/导入进行备份/恢复。每个备份集由两个文件组成:数据pump转储和复制的数据文件 - 在这种双重组合中,理论上可以在任何兼容的数据库中导入数据。对于标准版:与'std'相同的过程。 --注意: --如果同时使用use_java和use_rman,则也必须指定path_oraclebin。 -- Backup-Mode: Operating system (os), Operation system standard version (std), RMAN (rman); for standard version 'std' and 'os' are the same define use_rman = 'rman' --操作系统类型 - 请输入Windows的"win"或Linux的"unix"。 define os_sys = 'unix' -- Operating system on the DB server (win/unix) --决定是否应打包导出的数据库文件。输入"yes" 或"no"。 --如果选择使用操作系统进行备份(use_rman ='os'或use_rman ='std'),则在导出后使用zip工具打包Oracle数据文件并获取扩展名"zip"。在导入之前,它们会再次自动解压缩(程序解压缩)。 --通过RMAN (use_rman ='rman')使用备份时,使用RMAN备份选项"compress"。导入数据库文件时,RMAN会自动提取。 --注意: --应确保将要压缩的外包数据库文件不超过4GB的大小。否则,压缩将失败。 -- Zip Backups (yes/no) define zip_backup = 'yes' --归档编号的初始值。最低可能的数字为0.每个新创建的存档将序列当前值递增1.如果存在多个并行RDB模式,则sequence_start和sequence_maxvalue产生的范围不可以重叠。否则,在相同目录的情况下,可能会覆盖日志文件。尽管会覆盖,也不会限制数值继续归档。 define sequence_start = 100000 -- Sequence Start, minimum 0 --归档编号的最大值,最高可能的编号是"99999999"。 --请注意,sequence_start和sequence_maxvalue之间的范围必须足够大,以便有足够的数量可用于归档组的生命周期。对于平均和更大的应用,10万(例如从10万到199999)应该足够大。 --注意: --不应超过最大值!否则将返回以下错误消息: --如果超过该值,则显示"ORA-08004:序列SEQ_ARC_ARCHIVE.NEXTVAL超过MAXVALUE且无法实例化"。 --无法再创建新档案。 -- Sequence Maxvalue, up to 99.999.999 define sequence_maxvalue = 199999 --如果已创建新用户,则还将创建新表空间(Name = TS _"+")。指定新表空间应保存的位置。表空间保存在Oracle服务器上。 --如果此处未指定任何内容,则使用Oracle默认目录(通常为%ORACLE_HOME%/ DATABASE /)。 --如果在此处手动指定路径,请输入完成斜杠或反斜杠,否则最后一个目录名称和表空间将合并为一个名称。 --此目录必须具有足够的写入/读取权限。可以使用chmod -R 777 命令检查。 -- 如果归档到ASM的存储磁盘,应当从服务器检索合适的存储的磁盘组的目录。比如通过服务器的EM管理网页 https://oracle-scan:5500/em 登录后,查看storage>tablespace.找到路径。 define path_dbfile = '+DATA/OCCORCL/' -- Path Dbfile (on DB server*) --临时表空间的存储位置。 --考虑path_dbfile的注释。此外,表空间的名称获得前缀"_TEMP"。 --仅当extra_TempTS设置为"yes"时才使用此参数。 -- 如果归档到ASM的存储磁盘,应当从服务器检索合适的存储的磁盘组的目录。比如通过服务器的EM管理网页 https://oracle-scan:5500/em define path_tempdbfile = '+DATA/OCCORCL/' -- Path Tempdbfile (on DB server*) --DB服务器上ORACLE_HOME / bin目录的路径。此路径用于查找外部程序。 define path_oraclebin = '/u01/app/oracle/product/12.1.0/dbhome/bin/' -- Path Oracle-Bin (on DB server*), used for ForceDel on Windows and for path to Oracle executables on Unix --执行RDB安装的数据库实例的名称。 --数据库的SID标识符 - 独立数据库服务器的实例或集群中第一个节点上的RAC第一个集群数据库实例SID1 define instance_name = 'occorcl1' -- 独立数据库服务器的主机名或RAC集群的第一个节点 define host_name = 'oracle1' --保存导出的数据库数据文件的Oracle服务器上的目录。 --始终用斜杠/反斜杠括起路径条目!请注意,首次执行安装时必须存在此参数。 -- 如果归档到ASM的存储磁盘,应当从服务器检索合适的存储的磁盘组的目录。比如通过服务器的EM管理网页 https://oracle-scan:5500/em define path_backup = '+DATA/OCCORCL/' --Oracle服务器上的目录,其中保存了历史报警数据的数据库数据文件。 --始终用斜杠/反斜杠括起路径条目! --此目录必须具有足够的写入/读取权限。可以使用chmod -R 777 命令检查。请注意,首次执行安装时必须存在此参数。 -- 如果归档到ASM的存储磁盘,应当从服务器检索合适的存储的磁盘组的目录。比如通过服务器的EM管理网页 https://oracle-scan:5500/em define path_alert = '+DATA/OCCORCL/' -- Path Alert, path of alertgrouptype-database-files (on DB server*) - must already exist --Oracle服务器上保存历史事件数据的数据库数据文件的目录。 --始终用斜杠/反斜杠括起路径条目! --此目录必须具有足够的写入/读取权限。可以使用chmod -R 777 命令检查。请注意,首次执行安装时必须存在此参数。 -- 如果归档到ASM的存储磁盘,应当从服务器检索合适的存储的磁盘组的目录。比如通过服务器的EM管理网页 https://oracle-scan:5500/em define path_event = '+DATA/OCCORCL/' -- Path Event, path of eventgrouptype-database-files (on DB server*) - must already exist --时区定义。在此处输入数据库使用的时区(通常对应于本地时区:"systimestamp")。您可以在Oracle视图"v $ timezone_names"中找到时区的有效字符串。 --使用sqlpus命令 --SQL> select * from v $ timezone_names; --检测实际时区。 define mytimezone = 'Asia/Shanghai' -- Local Time Zone (see v$timezone_names) --连接ASM实例的标识符(例如+ ASM)。仅在通过ASM保存和管理数据库数据时才需要值。 --不使用ASM时必须为空! ASM的SID标识符 - 独立数据库服务器的实例(使用ASM时通常填写为+ASM)或填写RAC集群中的第一个节点,通常为+ASM1 define asm_instance = '+ASM1' --数据库SID或数据库SERVICE_NAME就像它在tnsnames.ora中指定的那样。 --如果集群指定了通用名称,例如,两个集群实例DB1和DB2具有公共服务名称DB。 --服务名称,使用来自TNSNAMES的SERVICE_NAME(如果没有可用的service_name,则仅使用Oracle SID,仅在单实例情况下可以用,通常不再使用) define service_name = 'occorcl' --如果您使用DataGuard同步两个或多个数据库存储或因任何原因有多个数据库存储,请输入2个或更多。 --"Oracle Data Guard是管理,监控和自动化软件基础架构,可创建,维护和监控一个或多个备用数据库,以保护企业数据免受故障,灾难,错误和损坏的影响。" --Oracle技术说明 - --注意: --DataGuard不会为被动节点上的临时表空间创建数据文件。因此,这必须在所有被动节点的设置中完成。从而,进行如下: --1. Data Guard切换到被动侧,因此它将处于活动状态。 --2.在每一侧执行脚本RDB_DGextra.sql。这将为临时表空间创建数据文件。 -- 默认值1,无法更改,因为不再支持Oracle Dataguard。 define number_db_storage = 1 --不使用ASM时必须为空! Path ASM-Bin(在DB服务器*上),用于特别用于ASM功能的Oracle可执行文件 define path_asm_bin = '/u01/app/12.1.0/grid_1/bin/' --第二个站点的配置条目(如果是集群的情况),如果没有第二个站点,则将条目留空(如果有多于两个站点,请使用站点配置WinCC OA面板输入数据)。 --connect_identifier2 连接第二个站点的标识符。 --- RAC集群中第二个节点的连接标识符(TNS别名)必须与Oracle RAC集群中的第一个节点相同 define connect_identifier2 = 'oracle-scan' -- SID数据库标识符 - RAC集群中第二个节点的实例 define instance_name2 = 'occorcl2' -- RAC集群中第二个节点的主机名 define host_name2 = 'oracle2' -- SID RAC集群中第二个节点的ASM实例标识符,通常为+ ASM2 define asm_instance2 = '+ASM2' --service_name2 =''。第二个站点的服务名称(Oracle SID)(通常与第一个站点相同)。 define service_name2 = 'occorcl' --- 一些建议的默认值: --use_occi ='yes' --定义是否应使用OCCI接口。 --'yes' =使用OCI Oracle调用接口(OCCI)将数据写入RDB存档。 --OCI批量写入默认启用并提高性能。 --'no' =不会使用OCCI。RDB使用SQL API将数据写入存档。 在配置文件的[ValueArchiveRDB]部分添加配置条目writeWithBulk = 0 。 --请注意,只有在使用Oracle调用接口(OCCI ="yes")写入数据时才能使用用户定义的归档组 。 --如果您选择使用OCCI并更新OCCI的架构,则只能使用writeWithBulk = 1。数据库架构和配置条目必须匹配。如果您想再次使用SQL API,还必须更改数据库架构!如果配置条目和数据库架构不匹配,则无法启动RDB并显示错误消息。 --注意:版本兼容性: --Oracle 11.2.0.2.0及更高版本。 --注意: --错误消息: --ORA-00932:不一致的数据类型: --当未使用OCCI更新数据库模式但在配置文件中设置了配置条目writeWithBulk = 1时,会显示预期的TESTER.LANGSTRING获取CHAR。 define use_occi = 'yes' --通过C-DLL或Oracle中嵌入的Java导出: --use_java = 'yes' - 使用Oracle中嵌入的Java源代码。Java安装和维护更容易(您不必定义ORACLE库或在"tnsnames.ora"和"listener.ora"等中指定条目)。 --use_java = 'no' - 使用C-DLL进行导出和导入。 --在设置期间,决定将使用哪个变体。只有在重新安装或升级期间才能进行后续更改。 --注意: --如果在Linux下同时使用use_java和use_rman,则必须输入path_oraclebin。 -- --注意: --如果在Linux下使用Java进行导出,则可以使用DB配置(所有以"prog_ *"开头的条目)定义已使用的Linux命令的路径。您必须定义路径,因为Oracle DB需要某些操作的操作系统命令,并在Java OS shell中调用这些命令。Java OS shell不支持任何路径。因此,使用DB配置定义路径。 --在Windows 11g版本的Windows下同样适用。 ---- no -> using C-DLL, yes -> using Java code (recommended) define use_java = 'yes' --sys_partitions = 'no' --partitions 可以提高性能并简化管理任务。它增强了数据库的可管理性,性能和可用性。表,索引和索引组织表可以细分为更小的部分 - 分区。但是,可以使用SQL命令正常访问分区对象。 -- 历史表可以在其sys_id上进行分区,除非有许多分布式系统,否则通常不需要分区 define sys_partitions = 'no' --无需更改这些值 - 它们设置为默认值 -- 为模式用户创建额外的临时表空间或使用系统的默认临时表空间(注意:如果'yes',那么还请输入的值!) define extra_TempTS = 'no' -- 创建公共同义词和授权(R_APP_PVSSRDB) - >可供应用程序用户使用的架构用户对象变为公共 define public_grants = 'no' -- 专家配置条目 - 无需更改这些值 - 它们被设置为有用的默认值define type_float ='NUMBER' - 表示浮点值的类型,例如NUMBER或BINARY_DOUBLE或...... -- 所有RDB表空间(模式,临时和归档表空间)的数据文件的默认初始大小,对应于Oracle ,它是的一部分;另请参阅"Oracle数据库SQL参考" define initial_size ='500M' -- 所有RDB表空间的数据文件的默认扩展名大小,对应于Oracle 中的值,该值是的一部分,如果为空(''),Oracle将扩展数据文件只有默认的blocksize;另请参阅"Oracle数据库SQL参考" define next_size ='64M' -- 默认统一大小,对应于Oracle 中统一大小分配的值,对于AUTO ALLOCATE(这是Oracle默认值)必须为空('');另请参阅"Oracle数据库SQL参考" define uniform_size ='' -- 表(物理属性)或索引(physical_attrib_idx)的默认physical_attributes_clause,对应Oracle的 1:1,如果为空(''),则Oracle将使用其默认值,... --定义physical_attrib_idx ='' - (从上面的行继续)...,可用于定义以下部分或全部:STORAGE_CLAUSE,PCT_FREE,INITRANS(信息:表空间具有SEGMENT SPACE MANAGEMENT AUTO);另请参阅"Oracle数据库SQL参考" define physical_attributes ='' -- 启用或禁用TS上的索引,通常启用(yes或no) define use_arc_idx_ts ='yes' --块大小,高于该大小,插入使用优化器提示/ * + APPEND * /,块大小为0将禁用append-optimizer-hint define threshold_append = 100 -- 自6.2以来的obsolet - >表等的默认存储子句 - >写入表ARC_CONFIG,默认为'(INITIAL 10M MINEXTENTS 1 MAXEXTENTS UNLIMITED)',现为空 - > Oracle管理存储 define storage_clause ='' --自6.2以来的obsolet - >索引的默认存储子句 - >写入表ARC_CONFIG,默认为'(INITIAL 10M MINEXTENTS 1 MAXEXTENTS UNLIMITED)',现在为空 - > Oracle管理存储 define storage_clause_idx ='' -- 用于控制设置或升级的配置条目 --- yes - >从该文件中获取的数据(RDB_config.sql),no - > ARC_CONFIG的现有配置仍然存在 define upgrade_sizeparams_override ='no' --- yes - >将删除并重新创建alert lastval表,升级过程中数据丢失的风险,no - > no recreation,结构不兼容的风险 define upgrade_alertlastval ='yes' --- yes - >事件lastval表将被删除并重新创建,升级过程中数据丢失的风险,no - > no recreation,结构不兼容的风险 define upgrade_eventlastval ='yes' -- yes - >删除并重新创建整个CS部分,no - >保留表和内容,重新创建包等。 define reset_cs ='no' -- 用于间隔大于24小时的所有压缩。因此,间隔> 24h的压缩的每个间隔作业都运行f.e.一天一次。 24 =每天一次,12 =一天两次,1 =每小时一次 define longTermStatCalcInt = 24 -- 配置2x2冗余或转储中心(fwd)的条目 --定义whatpackage ='2x2' - 2x2冗余(2x2)或转储中心同步(fwd) -- first(= local)connect string(在本例中取自上面) define connect_first ='&connect_identifier' -- 第二个(= remote)连接字符串 define connect_second ='DUMMY_DISTANT_DB' -- 安装在第一个(1)或第二个站点(2)或安装在两侧(3) define whatinstall ='3' --- MINUTES中的同步作业间隔(对于J_SYNC2X2或J_SYNCFWD) define syncjob_intval = 3 --- 仅适用于2x2:SECONDS中的最大同步间隔长度(将较大的间隔划分为较小的单位以通过db-link传输它们) define maxintval_len = 60 --- 仅用于2x2:第一个或本地系统的第一个系统ID,以匹配第二个或远程系统的第一个系统ID define system_first = 1 --- 仅用于2x2:第二个或远程系统的第一个系统ID,以匹配第一个或本地系统的第一个系统ID define system_second = 2 --- 可选,仅适用于2x2:第一个或本地系统的第二个系统ID,以匹配第二个或远程系统的第二个系统ID define system_first2 ='' -- - 可选,仅适用于2x2:第二个或远程系统的第二个系统ID,以匹配第一个或本地系统的第二个系统ID define system_second2 ='' -- 定义是否可以在Oracle数据库中使用索引组织表(IOT Index Organized Tables ) --- 使用Index Organized Tables 而不是标准堆 onesl define IOT_enabled ='no' --- no - > MIN / MAX / AVG的计算仅使用在计算的间隔内发生的值,yes - > MIN / MAX / AVG的计算使用前一个区间的最后一个值作为初始值 define compression_init_value ='no'