




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Caché数据库管理和维护手册Caché5.0Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE10/80前 言InterSystems的旗舰产品CachéWebCaché开发的各种应用软件在我国正在增多,正在成为一个热门亮点。为了帮助中国的用户熟悉和掌握CachéInterSystems及技术部等部门的共同努力下,经过长时间的筹划,这本Caché5.0使用及维护手册,终于与InterSystems的朋友们见面了。本手册主要是针对Caché5.0,在Windows环境下的数据库管理和维护操作编写的使用指南。CachéECP协议配置和使用等Caché数据库的管理和维护的基本操作。本手册作为Caché能够准确判断故障出现的原因进而解决问题。恳请广大用户提出宝贵建议和意见,以便再版时修订和补充。InterSystems 中国部2006年10月,上海目 录安装及卸载 4安装需求 4Caché的标准安装 4软件许可证的安装 6卸载Caché 7Caché工具菜单 8CachéCube简介 89Explorer SQLManager 15用户权限管理 16表格管理 18数据迁移 19查看sql查询计划 22ControlPanel 23ConfigurationManager 23配置缓存 29缓存简介 29数据缓存配置 30程序缓存配置 31指令日志 33数据库物理操作日志 33WIJ概述 33WIJ配置方法 34数据库指令日志 34Journaling概述 34Journaling配置方法 35Journal文件 36Journal文件设置 37查看Journal文件内容的方法 38Journal文件管理 38崩溃缓冲 38镜像服务 40镜像服务原理 40镜像服务的特点 41镜像服务的配置 41配置方法 41Shadowing和Journaling区别联系 45备份及恢复 46备份流程 46备份方法 46Caché中备份数据库的方法 47其它外部备份方法 48备份的恢复 50Caché中的数据恢复 50其他方法的数据恢复 52ECP网络 53ECP原理 53ECP特点 54ECP配置 55ECP配置方法 55ECP监视和管理 59ECP服务器端监视 59ECP客户端监视 59ECP的基本状态 59数据库完整性保护 61数据库完整性检查 61检查所有数据库的完整性 61你可以检查所有本地数据库的完整性 61在后台检查所有数据库的完整性 61查看后台数据库完整性检查的输出 62查看个别数据库的完整性 62数据库完整性检查工具 62用^GLOSTATroutine获得全局信息 63运行^GLOSTAT 63统计数据概况 64^GLOSTAT输出的例子 65例子A 65例子B 66例子C 67例子D 68例子E 70例子F 719.3.8例子G 72Caché常见问题与回答 76联系我们 79网络资源 79InterSystems公司上海 79InterSystems公司北京 791 安装及卸载这一章主要讲述了如何在Windows操作系统下安装Caché5.0.x的目录结构、工具和命令的基础上编写的。在这一章中主要包含下列内容:安装需求Caché的安装软件许可证的安装安装需求Caché的安装需求较目前大多数的软件来说,要求很简单。只需要大致500M硬盘(其中大约安装目录兆M安装机器的配置越高,Caché的运行性能越好。Caché支持目前主流的操作系统,如Windows,Linux,Unix,SunSolaris等。根据具体的Caché版本,对支持的操作系统会有些差别,详情请查看该版本的ReleaseNotes。其中Caché5.0版本支持的Windows版本包括Windows2000,WindowsXP,Windows2003等。Caché的标准安装Caché的标准安装程序既在计算机上安装Caché服务器也安装客户端组件。我们推荐使用标准安装。按照下列步骤进行标准安装:如果您将要进行升级,停止任何正在计算机上运行的Caché服务器。还要关闭Windows应用,并且关掉Web服务器(如果安装在同一台计算机上的话。件(为了确保安装正确,存放安装文件的目录请使用英文文件夹名称)。Run。在RunOpen文本框中输入:[drive]:\setup.exeDrive是光驱的盘符。CachéSetup对话框就出现了。InstallCaché否有最安装需要的磁盘空间(根据小版本号不同可能有所不同,通常在173兆字节左右)。在安装的过程中,可以按照提示做出响应:点Next来继续到下一个对话窗口。点Back来回到上一个对话窗口并且可以按照您的意愿更改。点Cancel来终止安装。如果这是一个新的安装,选择Yes来确认您接收Caché许可协议。SelectInstallConfiguration对话框将会出现。如果某一个Windows版本的Caché已经存在了,安装程序会显示一个已经存在的安装目录列表出来。您可以选择其中之一进行安装,或者安装到一个新的目录下。DefineCachéInstallationName对话框将会出现,CACHE配置名称或者输入一个新的名称。升级安装会保留您当前默认的配置名称。Setup对话框里,选择安装的类型:Standard—安装服务器、客户端以及ODBC驱动程序组件。如果您打算使这台计算机成为Caché数据库服务器,可以选择这个选项。Client—只安装Caché客户端组件。如果您只打算在这台计算机上作为Caché服务器的客户端使用另一台计算机上的Caché系统和配置工具的话可以选择这个选项。Custom—允许您选择他想要的组件进行安装。默认的安装目录是“C:\CacheSys”,您可以通过点Browse来更改这个目录。目录的名称最多可以有32个字符。选择8-bit默认的)或者Unicode作为安装支持的字符集:8-bit—系统按照8-bit的格式来处理字符。Unicode—系统按照Unicode(16-bit)的格式处理字符。如果您的应用程序使用按照Unicode格式存储的数据,例如日语,这种情况下要选择Unicode。InterSystems建议使用Latin-1字符集、ISO8859-1字符集的地区使用8-bit方式。而使用非Latin-1或者您计划使用不同的字符集的应用的情况下,要选择Unicode方式。如果您选择了8-bit的方式,那么您的数据就不会适用于其它使用不同字符集的8-bit的地区。建议,我们中国区用户选用Unicode安装方式。对于客户端的安装,选择服务器和客户端通信的格式。安装8-bit的客户端访问8-bit服务器,Unicode客户端访问Unicode服务器。InstallSummary对话框显示了选择的安装条目以及安装的目标目录。点来把Caché安装到选择的目录里。如果您正在安装WebServerGateway(CSPGateway)而且您的Webserver还在运行中,就会出现一个对话框询问您是否停止当前的Webserver(比如IIS)。如果点了Yes,安装程序就会停止Webserver,安装CSPGateway并且重新启动WebServer。如果点了No,安装程序就不安装CSPGateway。如果您还没有在计算机上准备好Caché许可文件(X:\CacheSys\Mgr目录下没有cache.key文件License对话框会报告没有到了SetupComplete对话框,点Finish。Cache自动启动。在CachéSetup对话框中点Exit。在Caché安装完成以后,CachéCube图标就会在Windows工具条的系统托盘区出现。点这个图标就展开Caché菜单。另外,在快捷菜单“程序”中也有Caché项目。对于Windows服务器,Caché服务的安装名称作为Caché控制器的配置名。Caché服务被设置成当NT服务器启动的时候自动启动。提示:默认的安装启动了通讯端口1972。Caché则会发生冲突。软件许可证的安装在您从Intersystems正式购买了多用户的Caché软件后,您会获得一个软件许可证文件。在得到Cache.key文件以后,可把这个文件拷贝到c:\Cachesys\mgr文件夹中,(注:c:\Cachesys\以更改为您自选的Caché的路径。然后重新启动Caché’就可以了。如何确认您购买的是正版的许可证呢?可以用下面四种方法。1、进入c:\Cachesys\mgr目录,用记事本或者写字板打开Cache.key文件。您将看到一个用户名称。看是否这个用户名是您的企业购买时使用的名字。一步验证。c(正在停止cc。在绿色的界面的左下角会有公司名称,您可以验证一下是否和您的企业的名字相符。如图所示:譬如我在这里显示的用户名是:InterSystemsCorporation注:这个办法可以有助于最终判断是否是正版软件。3、在controlpanel即控制面板里面查看右键点击左边树结构的顶部小方块,打开属性,然后可以看到在license的页签上有:我这里显示的客户用户名是:InterSystemsCorporation注:这个办法也可以最终判断确定是否使用的是正版软件。Caché的terminal界面里用命令行来查看。即在%sys提示符后,键入后执行如下命令,即:%SYS>do$System.License.CKEY()这将会为您显示出你的许可证的信息。如下图示例:注:这个办法也可以最终判断确定是否是正版软件。如果Caché以单用户许可启动或者您收到<LICENSELIMITEXCEEDED>错误信息,那我们可以从下面几个方面来检查:检查cache.key注意,这里是区分大小写的。Windows试一次。检查许可证是否正确安装了:调用密匙检查命令,即执行Do$System.License.CKEY()命令,来查看。在按照以上两节的步骤正确安装好Caché数据库以后,就可以在以后的过程中使用Caché数据库了。卸载CachéCaché的卸载一样非常简单.要卸载Caché,首先要停止Caché的服务然后关闭CachéCube(在系统托盘的Caché立方体上点右键,点Exit)。然后使用Windows提供的添加删除工具来卸载Caché,目前其它的删除工具暂不支持,如果使用其它的删除工具可能会带来一些未知的问题。2 Caché工具菜单当我们安装完成之后,默认情况下,Caché会自动启动。启动之后会在窗口的右下角出现一个绿色的方框,那就是Caché。如图:如果Caché没有启动。那么可以选择开始->所有程序->Cache->StartCache。启动之后,我们就可以使用Caché了。在使用之前,我们分别来简要介绍一下各个工具菜单的用法。CachéCube简介鼠标点击绿色方框,我们可以打开CachéCube。如图:下面我们简单来介绍一下这些菜单的作用。GettingStarted-给新用户提供的一个快速帮助。StartCache-启动Caché。在这里显示为灰色。说明我们已经启动了Caché。StopCache-停止Caché。Studio-集成的IDE开发环境。Terminal-提供了对Caché的一个图形化的交互式命令行界面,便于开发人员在开发和调试程序时能直接在Teminal环境中用命令行和Caché数据库引擎打交道。Explore-是一个图形化工具,可以用它浏览Caché数据库中的内容,如浏览数据、类、程序以及进行一些管理操作。SQLManager-SQL管理器。提供了一个Caché数据库的图形化的基于SQL的视图,便于以SQL方式管理检索数据。ControlPanelCache'Manager-提供了一个用于设置Caché系统和察看它的配置参数的图形化界面,的我们主要是在这里进行数据库的相关设置或调节系统的配置。Documentation-是Cache的在线联机帮助文档。RemoteSystemAccess-远程系统控制。在这里,还有二级菜单。二级菜单中,除了同样包括CachePreferredServer-首选的服务器。指当前菜单的默认数据库。About-关于Caché。Exit-退出CachéCube。tleLrll,ConfigurationManager,因此我们在这里对这六项分别做更加详细的介绍,其他的菜单,我们在用到的时候,会详细讲述。StudioCachéStudio是Caché主要的开发环境,它是一个集成的可视化的开发环境。它提供了许多高性能的特性,帮助用户进行快速开发。这些特性主要包括如下的几部分:CSPCOS规范例程。功能强大的文字编辑功能,并对各种通用语言进行语法检查。支持团队协同开发。图形化的代码级调试器。打开Studio,如下图所示:在这里我们可以看到VC++6.0个窗口的布局。最上面为菜单栏,和一般的开发环境大致相同。包括File,Edit,Project等用来对我们的工作进行各种操作。中间左端,如下图所示:这个窗口的低端有三个标签Project,Windows,Namespace,在这里我们看到我们正在创建的工程,打开的窗口,连接的命名空间。中间右端为代码显示区,在这里显示类的定义,CSP标签,例程的代码等。最下端为输出窗口。主要显示编译的结果,文件查找结果等。门的文章详细介绍的使用和开发。下面我们看Terminal。打开Terminal,如下图所示:这里我们可以直接输入命令运行。Caché常用命令有如下:Zn“namespace” 切换namespaceWrite“content” 写命令Set(Parameter=content)Kill(target)删除命令;不建议在一个运行中的系统使用kill数。do^BACKUP,备份数据库。Explorer在这一小节里,我们主要讲述Explorer。打开Explorer,如图所示:您可以通过Explorer来检查操作例程,多维数组,类定义。从这里我们可以看到,Explorer窗口能够显示系统中每个命名空间下的Globals,Routines,Classes。点击进入,右边窗口会显示相关信息。例如我们点击SAMPLES目录下的Globals,会在左边窗口显示该命名空间下所有的Globals,可以在这里进行Globals的查看,修改等相关操作。右键点击这里的其中一下,会打开如图所示的菜单:我们可以选择进行相关操作。下面我们讲解如何导出,导入Globals。在左边的窗口中右键单击,如图:Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE13/80这里我们选择Export快捷菜单,也可以从File菜单下选择Export,这样我们可以把一个或者多个Globals导出到文件中。如图所示:这里因为我们是在选择了SAMPLES命名空间下的所有globals进行导出。我们也可以在右边的窗口中选择某一个global进行导出。SaveDisk(o按钮,打开如图所示的窗口,Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE14/80从这里我们看到这个窗口和普通的SaveFileAs窗口有些区别:右下角多了一个按钮Options。点击这里,如图所示:我们可以在Output标签栏中,选择输出文件的存储格式,以便于使用InterSystems公司的其他产品。然后确定存盘。这样,我们就把我们选择的Globals输出存盘了。同样我们也可以从文件中导入Globals。我们可以选择ImportFromFiles,打开我们原来导出的Globas文件,如图:点击ImportAll按钮,进行从文件导入。同样对Routines,Classes我们也可以进行如此操作。对于Explorer的介绍就先到这里。下面我们来看看SQLManager。SQLManagerSQLManager为开发者和管理员提供了一个可以以关系的视图来查看Caché数据库中存储的数据的方法。打开SQLManager,如图所示:在这里我们可以定义SQL用户,角色,权限,视图;查看表中数据;导入导出数据等。用户权限管理在右边窗口中Roles文件夹上,右键单击。如果原来该明命名空间下已经存在Roles,我们可以打开RolesDetails详细查看。在这里我们新建一个roles,选择NewRloes菜单,填入Name,点击OK。这样我们就建立了一个角色。下面我们编辑这个角色,包括设置权限,用户,对象。点击我们建立的角色,打开如图所示的窗口:一般,我们打开我们建立的角色,就会自动打开Privilege标签。在这里我们可以选择权限旁边的可选框,来对这个角色赋予这个权限。打开User标签,可以选择用户旁边的可选框,把该用户添加到该角色中。如图:这里我们没有自定义用户。所以只有系统自带的_PUBLIC,_SYSTEM两个用户。下面我们将学习如何添加用户。打开Ojbect标签,如图:在上面的窗口中选择一个对象,然后点击SelcetObject,我们所选中的对象就会添加到下面的窗口中。如上图。我们可以选择可选框,选择对该对象的操作权限。下面我们学习一下关于UserCaché的连接,它们不同于ControlPanel里面创建的用户。在SQLManager主窗口的左边中,单击User文件夹,可以看到我们在该命名空间User选择Newanthony我们同样可以在这里设置对该用户的Priviege,Role,Object。表格管理例如,我们可以打SAMPLES下面的Cinema数据库下面的Film类,可以看到如图所示:Indices,Triggers,Constraints等。在左边的每个类上右键单击,可以选择要进行的操作。如图所示:数据迁移我们可以使用DataMigrationDataMigrationSQLGateway,把一些外部数据库迁移到Caché数据库中。要使用DataMigrationWizard,必须满足两个条件:必须先事先建立SQLGateway连接外部数据库必须支持标准的ODBC要进行数据迁移,我们分为三大步进行。建立ODBC数据源对于目前的大多数数据库,都支持标准的ODBC接口。下面我们来建立一个源数据库的ODBC数据源。方法如下:在控制面板->管理工具->数据源(ODBC)中新建“系统DSN”针对不同数据库选择ODBC驱动程序完成之后,我们要选择源数据库。建立并测试ODBC数据源。如图:这样,我们就建立好了ODBC源数据。建立SQLGateway连接下面我们建立一个SQLGateway连接。方法如下:打开ConfigurationManager->Advanced标签,添加一个SQLGateway。例如我们在这里添加名为anthony的SQLGateway连接,如图所示:填写ODBC数据源名和数据源登陆用户名、密码。使用Caché数据迁移向导进行迁移经过上面两个步骤,这是我们才能进行数据迁移。方法如下:打开CachéSQLManager->File->DataMigration,利用出现的CachéDataMigrationWizard即数据迁移向导开始迁移工作。首先为SQLGateway选择一个连接然后选择要导入的表:这样,我们就成功的把SQLServer2000数据库中的Northwind数据库迁移到了Caché5.0数据库中了。查看sql查询计划打开CachedQueries文件夹,右边窗口会显示,该查询的名称,创建时间等信息,如图:再点击CachedQueries文件夹的子目录,会显示更加相信的信息。SQLManager介绍就到这里。下面我们来看看ControlPanel。ControlPanel打开ControlPanel,如图所示:这里点击左边菜单,我们查看数据库的各种配置。包括进程管理、Journaling,Shadowing,Backup,ECP等等。这些设置,我们都会在以后的讲解中,逐步讲述。在这里右键单击Namespaces,LocalDatabase等我们可以新建Namespaces,LocalDatabaseLocalSecurty下可以设置用户账户,信任应用程序,Caché直接用户。另外我们还可以在这里查看用户的license信息,这个我们在第1章安装许可证部分已经讲解。ConfigurationManager首先我们打开ConfigurationManager,如下图:在Configuration中我们可以看到上面有7个标签页。下面我们分别简要介绍一下。General-通常的系统设置。包括内存使用情况,是否随系统启动等,还可以看到Caché系统的一些详细信息。一般而言,我们都是在这里设置缓存的大小。如下图:Namespace-管理配置各个命名空间,包括添加,删除,修改命名空间等。如下图:Database-管理配置各个数据库,包括添加,删除,修改,远程映射等。如下图:ECP-进行ECP配置,包括ECP服务器,ECP客户端设置,是否设置本机为服务器等。如下图:CSP-配置网页的属性,存放路径等。我们这里暂时不使用这些配置。如下图:Java-可以设置一些与Java有关的配置。如下图:Advanced-高级配置。在这里我们可以设置调整系统参数,配置启动函数,SQL参数,SQL网关等。如下图:ConfigurationManager的介绍就现到此为止。在以后的使用中,我们会更加具体的讲解。在这一章中,我主要讲述了以后我们经常用到的Caché中的各种工具菜单的使用。以后在使用过程中,我会更加详细的介绍。配置缓存本章主要讲述了Caché缓存的相关内容。包括如下的内容:缓存简介数据缓存程序缓存缓存简介用户用户对缓存进行读写Routine/Global缓冲区缓存从数据库读写数据CACHE.DAT用户用户对缓存进行读写Routine/Global缓冲区缓存从数据库读写数据CACHE.DAT用户的读取数据都会在缓存区中取得,因而访问速度很快,也减少了磁盘IO负担。下面我们分别配置数据缓存和程序缓存。数据缓存配置基本方法:打开ConfigurationManager,在General标签中进行配置。如下图:分别输入DatabaseCache1MB(总值小于可用物理内存的一半甚至更多。注:若使用的Caché版本为5.0以下,则每个Memory块的大小为2KB;若使用的Caché版本为5.0以上,则每个Memory块的大小为8KB;故我们只需要选择一个填写数值。如下图:系统正常使用后,可以在的系统用户环境中使用do命令来分析系统效率,这将会显示出现一个列表,在列表中有一项:CacheEfficiencyCacheEfficiency的值小于40则需要适当增加数据缓存.如下图所示:Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE31/80程序缓存配置程序缓存包含程序执行的代码。每个程序缓存大小为32k,,所有用户可分享同一个程序缓存。如图。当我们需要改变程序缓存大小时,同样可在ConfigurationManager->General标签中配置。理想状态为能容纳同时被使用的所有程序,此时最小缓存数为(1)*32K,当总用户数目大于总程序数目时,上述设置已经足够;最大缓存数为(总程序数目*32K,多了也没有意义。当系统正常使用并稳定后,可使用do60Routinebufferloadsandsaves的值。当Routinebufferloadsandsaves<20为可接受,0为理想值。Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE32/80注:这只是理想状态,并非绝对值使用虚拟内存会导致系统性能下降.经过上述步骤,我们就配置好了Caché的缓存了。不过缓存的配置是一个动态的过程,还要根据实际应用,在应用过程中,逐步调整缓存的设置。注意:数据缓存和程序缓存的综合不要超过服务器物理内存的一半。指令日志本章中,主要讲述物理操作日志(WIJ),和数据库指令日志(JRN)的原理,和设置方法。包含如下的内容:WIJ的配置方法JRN的配置方法在Caché中日志分为两类:物理操作日志(eel,WIJ,是在数据被写入磁盘前的中间记录文件.这样有利于保护数据库文件。(JournalJRNUSERWIJGlobalBuffersCACHE.DATJRNUSERWIJGlobalBuffersCACHE.DAT数据库物理操作日志WIJ概述物理操作日志,是在数据被写入磁盘前的中间记录文件。主要是为了保证磁盘和缓存读写的一致性,保护数据库完整性。WIJ文件是一个大小可变的文件,位于Mgr目录下CACHE.WIJ,所以要保证系统有足够磁盘空间允许本文件扩展。WIJCachéWIJ,写完之后WIJ文件会被擦除。如果启动时不能产生CACHE.WIJ,则系统不能启动。注:CACHETEMP不会被写入WIJ.如果系统正常停止,CACHE.WIJ可以被清除.WIJ配置方法打开ConfigurationManager->Advanced标签->Journal,如下图:如图所示,WriteImageJournalDirectory为WIJ文件的存放位置,默认为Mgr目录,也可以选择,保存到其他位置。数据库指令日志Journaling概述份恢复的一部分,和WIJ一起在系统崩溃时提供缓冲。Journanling支持transaction,系统重起时复原未完成的transaction。每个Caché都有一个Journal文件,每个Caché实例维护自己的Journal。在这里,我们强烈建议使用Journaling。Journaliing可以有利的保护我们的数据。如图所示:数据库的改变,都会写入写入Journal文件。因而,可以在我们的需要的时刻,帮助我们恢复数据库。Journaling日志有两种模式:AllGlobals 在这里CACHÉTEMP(^mtemp*,不被记录进入日志。SelectedGlobals 可以只记录对指定的数据的操作,但是Transactions的操作将全被记录。如下图:Journaling配置方法打开ConfigurationManager->Advanced标签,选择Journal,点击JournalMode,选择日志模式;点击#ofDaysBeforePurgingJournalFiles,选择日志保存时间。当保存时间为0,或者有未完成transactions的文件时,日志不被删除。如下图:Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE36/80(相对于记录全部数据Control择LocalDataBases,打开数据库;选择Global,右击,选择Properties,选中JournalGloabal,这样设置以后无需重启,立即生效。如下图:中使用%JOURNAL。Journal文件Journal文件的名称格式为yyyymmdd.nnn,文件路径:<installdir>\mgr\journal。可移往其他物理分区,以提高系统性能和安全性(系统崩溃时减少数据库出错机会)。Journal文件中的内容主要包括,SETsandKILLs指令及事务处理(TSTART,TCOMMIT)。它只负责本地数据,不包括CACHETEMP。Journal文件设置Caché如果不能写入首选路径,,Maxiumfilesizé自动产生并写向新文件。系统启动,停止时会切换Journal文件;系统备份结束后自动切换Journal文件;每日零时自动切换Journal文件;文件尺寸达上限时切换Journal文件;如下图所示:查看Journal文件内容的方法打开ControlPanel->Journaling,右键选择Open,可以打开Journal文件。每次读取500条。另外也可以在Terminal环境中用do^JOURNAL,do^JRNDUMP来查看Journal文件。Journal文件管理可以通过ControlPanel或命令控制是否启动Journal,正式系统强烈建议开启Journal。当在开发阶段,需要大量更新数据库时,可以考虑停止Journal。崩溃缓冲WIJ包含未被写入磁盘的数据,读写记录中成功写入数据库的位置以及最早的未完成的transaction事务.Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE39/80系统崩溃后重启时,Caché自动运行如下操作:自WIJ记录点,重放journal.未发现Commit,则自WIJ记录点复原未完成transactions事务.经过如此的操作,数据库在逻辑上始终处于完整状态。这样子,我们就设置好了Caché的日志文件了。镜像服务本章主要讲述Shadow即镜像服务的原理,以及Shadow的配置方法。包含以下内容:镜像服务的原理镜像服务的配置Shadowing和Journaling区别镜像服务原理Shadowjournaling镜像日志简称Shadowing镜像。通过从数据服务器传递日志到Shadow服务器,实现Shadow服务器对主服务器的复制。Shadowing是通过ShadowShadow(如SET、KILL通过TCP传递给Shadow器的数据,更新备份服务器上的数据库。使用。如下图所示:镜像服务的特点当主系统发生故障,无法立即恢复时,可使用镜像服务器作为备用系统;在镜像服务器中,只运行只读应用(如数据统计和分析);可以在镜像服务器中,对数据进行备份;远程镜像,可以作为灾难性事故恢复的一种手段;运用镜像可以节约成本;镜像服务有两种模式,分别是:Fast快速)行镜像,使用非常广泛;Compatibility兼容)SETKILL如果ShadowServer停止,而DataServer正常工作,则ShadowServer在重启后将从停止处开始继续工作,它需要一些时间追赶DataServer。镜像服务的配置要配置镜像服务,首先必须具备多服务器许可,其次要保证网络畅通。配置方法上,并进行注册。具体操作步骤如下:配置源服务器打开ConfigurationManager->Advanced标签->Shadow->Source.,设置EnableSecurity为“Yes”;设置PermissibleShadowServerAddresses为许可的镜像服务器的IP地址。如图所示:配置镜像服务器打开ConfigurationManagerAdvancedShadowAddte(源服务器I,ert(源服务器端口;如下图所示:设置镜像参数打开镜像服务器的ControlPanel->Shadowing->ThisSystemasShadow,在显示的源服务器上右击,选择属性。如图:选择属性之后,打开窗口如下,分别设置JournalSetting,DirectoryMapping标签。在JournalSetting标签中分别配置如下的几项:Databaseserverjournalfile:选择最新的日志文件Methodofjournaltransmission:选择适当的模式Localdirectoryforcopiedjournalfiles:选择传送过来的日志文件的存放目录在DirectoryMapping标签中分别配置如下的几项:DirectoryMapping标签中按New添加数据库文件映射Database:源数据库所在目录Shadow:镜像数据库所在目录设置DirectoryMapping标签方法,如下图所示:Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE44/804在目标服务器的ControlPanel中启动Shadow选中要开始Shadow的数据源,右键弹出菜单按Start。如图:正常情况下状态由Tryingtoconnect…->Processing->Caughtup。同时在JournalFile中可以看到正在处理的Journal文件名。断掉任何一端的网络连接或任何一端重启,重新连接或启动后,Shadow会自动追赶。经过如上的四个步骤,我们就配置好了Shadow服务器了。在配置过程中,如果不将源数据服务器端的JournalMode设置成AllGlobals,则源数据服务器端的KillGlobal的命令不会被写入日志,所以在Shadow端不会被执行。如图:Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE45/80在主服务器上Terminal中执行:Set^TestLog=”Shadow”,稍候,然后到Shadow服务器上查看^TestLog。Shadowing和Journaling区别联系Shadowing是Journaling传输到镜像服务器上的备份。如图:因为Shadow服务器也可能启用日志,所以一定要保证在Shadow服务器上,本这一点,在实际的操作中,需要数据库管理人员加以注意。经过上述步骤,我们就配置好了Caché的镜像服务了。6 备份及恢复本章中主要讲述了Caché备份及恢复。包含以下内容:备份流程.静置Caché.备份方法.其它备份方法.数据库恢复.我们都知道,对于每一个应用,备份及恢复(Backup/Restore)都是必不可少的!我们需要时常对数据库进行备份。下面,我们来学习一下,如何在Caché中进行数据库备份。Caché的备份可以在数据库正常运行同时进行,又称“同步”备份。主要有如下的三种备份:全部备份(Full),它可以备份数据库全部内容.;累加备份(Cumulative),备份自上次全部备份后改变的数据;补充备份(Incremental),增加备份自上次备份后改变的数据,不论上次为何种备份.备份流程在Caché中,我们采用多步骤工作方式,来保证数据库的完整性和时效性.第一步,开始记录从此以后的数据更改,设置back-upbitmaps,备份所有数据.第二至第N步,备份上一步开始以后改变的数据块;最后一步,暂时停止向数据块写数据,进行最后一次备份。下面我们举个简单的例子。比如每天早四时开始备份,安排如下:周日–全部备份(FullAll)–补充备份(Incr:1)–补充备份(Incr:2)–累加备份(Cumu:1+2+3)–补充备份(Incr:4)–补充备份(Incr:5)–补充备份(Incr:6)备份方法我们在这里讲述Caché数据库的备份方法以及其他的备份方法。Caché中备份数据库的方法选择需要被备份的数据库一种方法,是在ControlPanel中,打开ControlPanel->Backup->右键点击DatabaseLists,打开Edit,如图所示:另一种在Terminal环境中使用^BACKUP,即执行do^BACKUP命令操作,再从显示的菜单中选择ManagementInformation,如图所示:预估计备份需要空间使用do^DBSIZE命令,预估备份空间,将计算^BACKUP中的备份清单Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE48/80开始备份同样有两种方法。一种方法,打开ControlPanel->Backup->Tasks->右键点击taskname->选择Run,如图所示:另一种方法仍然是使用do^BACKUP。查看备份结果同样是两种方法。一种是在ControlPanel查看,结果显示于statuswindow,也可以存盘backuplog。.另一种方法仍然是使用do^BACKUP,没有提供直接的Log,但可以用Terminal会话的Log功能,选择File->Logging进行存盘。其它外部备份方法Caché法:Unixlevelbackup.NTlevelbackup.OpenVMSbackup.Mirroringtechnologies.备份内容有如下文件和所属的CACHE.EXT文件。Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE49/80Journal文件。Caché系统配置文件Cache.cpf。完成这些内容的备份后,应该建立新的Journal。注:在实际应用中,存在于mgr目录中的文件,应该经常备份。这些方法在备份时,根据Caché冷备份(ldBacku,即备份时é处于停止状态;(nrtlpdp处于静置状态进行备份;这种备份方式通常和镜像服务结合使用。同时的外部备份(tl)或称为“ypCaché既要拷贝各个Cache.dat数据库文件;又要作补充拷贝,来拷入那些在作Cache.dat拷贝时曾发生了变动的任何数据模块。下面我们分别看看这三种备份方法的操作步骤:冷备份它在允许中断服务的前提下使用。如果在硬件维护前进行全面系统备份时也可使用。非同时的外部备份方法是:设置switch13为1(禁止所有读写操作)以静置Caché,然后开始备份,如下面图所示:同时的外部备份统工作较清闲时进行。详细信息参见Caché的下列文档::1972/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_highavail#GSA_highavail_backup_concurrexternal,请在IE浏览器中打开查阅。备份的恢复在备份之前,我们必须要在在无用户登录Caché的条件下进行。可以选择如下的恢复:恢复所需数据库的最后一次全面备份恢复最后一次全面备份后的最后一次累加备份恢复最后一次全面备份或最后一次累加备份(取其较后者)后的所有补充备份(要做Do^Integrity需要一段时间).选择了一种恢复之后,我们要重放Journal,立即全面备份。同样我们在这里分别讲述Caché中数据恢复和其他的数据恢复。Caché中的数据恢复使用^BACKUP进行恢复,如图,可以选择恢复所有数据库,或者恢复部分数据库.如果我们来看选择RestoreALL。方法如下:开始恢复以前,恢复程序将提示:在恢复过程中是否静置Caché,此时我们应该选择yes,以静置Caché。如图:文件。根据备份历史推荐下一个合理的备份文件,即可开始恢复。所有备份文件恢复以后,恢复程序将提示:是否重放读写记录,并选择对哪个数据库进行操作,从哪一个读写记录文件开始重放。如果我们选择RestoreSelectedorRenamedDirectories。则方法如下:在Explorer中选择Routine,Global或Class,进行导出或导入。如图:Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE52/80其他方法的数据恢复系统崩溃以后,如要恢复备份,要确保崩溃以前的WIJ文件不被应用到新恢复的数据库,要删除WIJ文件。因为:^BACKUP时,会发生问题WIJ中的地址信息只与崩溃前的数据库相对应如果要重放WIJ要避免此问题,可以采取的措施:重新启动Caché,WIJ将会被写入数据库然后清除,之后停止Caché,开始恢复备,WIJCaché。为了保证数据的完整性,我们要养成良好的备份习惯。尽量清楚详细地标记备份文件制定并严格执行备份计划,比如:每日备份保存两周,每周备份保存两月,每周备份保存半年,每季备份保存一年等。对备份进行恢复测试.,在试验系统上对备份进行完整的恢复,然后对数据库进行检测,请勿在生产系统上进行测试.在一定时间后更新备份介质,为了保险,请将备份存放于工作地点以外的地点.Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE53/807 ECP网络本章主要讲述了企业缓存协议的相关内容。包含如下的内容:原理配置ECP监视和管理ECP原理P(eael,是c数据库管理系统提算机共享彼此的数据库。使用ECP不需要重写或者改变应用程序,应用程序却能像使ECPECP服务器端取得数据供自己的所有用户使用。如图所示:当终端用户访问应用程序时,通过ECP远程数据库映射,读取ECP服务器端数据。如图所示:ECP协议在OSI模型中位于TCP/IP的上层,利用标准的TCP/IP协议传输数据。ECP特点全自动,一旦配置后,ECP即自动建立和维护,自动运行不需人为干预控制动态调整网络拓扑结构,扩展性强利用分布式缓存技术提升性能及伸缩性务访问器和客户机之间的连接。ECP配置在进行ECP通。ECP配置方法配置ECP服务器打开ConfigurationManagerECPActasanEnterpriseCacheProtocolServer作为ECP服务器。然后打开Advanced标签,打开Network,点击进入ThisSystemasanECPServer,如下图所示:Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE56/80设置RestrictClients为“Yes”,AccessControlList为许可的ECP客户端IP地址,Max#ofECPClients为最大ECP客户端数量。配置ECP客户端首先打开ConfigurationManager中的ECP标签,如图,作为ECPClient,点击Add,填入名称,IP地址和端口号。Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE57/80注:每个Caché可以同时作为server和client。其次,再打开Advanced标签,选择Network进入ThisSystemasanECPClient。如图。设置Max#ofECPServers为最大ECP服务器数量.在ECP客户端设置远程数据库映射在ECP客户端,打开ConfigurationManager->Database->Add,输入数据库的本地别名,选中Databaseisremote选项,如图,点击Next,选择ECP服务器,如图,点击Next,选择要映射的远端数据库,如图,点击名空间用来映射Global或Routine.至此,ECP的设置就全部完成了,是不是很简单?ECP监视和管理我们可以在ControlPanel中监视连接状态。ECP服务器端监视在ControlPanel中监视连接状态ThisSystemasanECPServer表示它所罗列的是客户端的信息。ECP客户端监视同样在ControlPanel中监视连接状态。ThisSystemasanECPClient表示所罗列的内容是服务器端的资料。ECP的基本状态在这里我们看到ECP的基本状态,如下表所示:NotConnected未连接ConnectInProgress正在连接Caché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE60/80Normal正常工作中Disabled关闭Trouble出现错误最开始均为NotConnected;网络接通后转为ConnectInProgress;连接正常后变为Normal,开始工作;可以关闭ECP连接,状态变为Enabled;出现错误时,变为Trouble,如客户端掉线,事务未提交而被中断等。一般可以自动纠正,纠正后转为Normal,纠正失败转为NotConnected。大部分状态转换会随网络环境变化自动完成,也可在ControlPanel中手动调整。这里我们主要讲述了ECP的配置。相信通过上面的讲述,大家都能够很好地配置ECP了。就会回滚,用户进程就会提示出错信息。通过设置使用企业缓存协议,我们的分布式系统的容错性能就大大的提升了。Caché5.0.x数据库管理和维护手册Caché5.0.x数据库管理和维护手册PAGEPAGE61/808 数据库完整性保护为了恢复结构完整性损失的数据库,我们需要恢复备份,然后对该数据库应用来自日志的后续的数据库变化。Caché恢复流程是能对数据库提供最大的保护:Caché使用""""方法,Caché使用"滚"方法,可以减少数据损失。Caché保护更新的顺序。如果数据库恢复之后,数据库中存在更新,则它可能产生一个数据库,内部是一致的但逻辑上无效的。Caché行有效的增量备份。数据库完整性检查从ControlPanel中执行数据库完整性检查的操作步骤如下:右键单击LocalDatabases任务文件夹,可以看到三项关于数据库完整性检查的菜单,其中一个是在个别数据库层次中。检查所有数据库的完整性你可以检查所有本地数据库的完整性LocalDatabasesIntegrityCheckJobStatus对话框,开始检查OptionsIconizeonStartupJobStatus对话框最小化运行,当任务结束时对话框打开,使我们能够查看日志。FileJobStatus对话框。在后台检查所有数据库的完整性你可以通过启动后台作业,在后台检查所有本地数据库的完整性LocalDatabasesBackgroundIntegrityCheckOK作业。查看后台数据库完整性检查的输出你可以查看台数据库完整性检查结果:LocalDatabasesViewIntegrityLogDisplayFileFileOpen.Filename对Open现在可以查看日志文件了查看个别数据库的完整性你也可以查看一个特定数据库的完整性,一次查看一个数据库LocalDatabases任务文件夹,右键单击适当的数据库IntegrityCheck,象查看所有数据库一样查看作业状态数据库完整性检查工具你也可以使用应用程序^Integrity。名称是区分大小写的,在Caché管理员命名空间下使用Do^Integrity调用该应用程序。这和在ControlPanel中在LocalDatabases上执行IntegrityCheck效果是一样的。DoCheckPointer^Integrity需要文件位置,和开始检查的块的位置DoSilent^Integrity(logfilename)ControlPanelBackgroundIntegrityCheck效果是一样的。DoQuery^Integrity(logfilename,outdevice)或者显示到选项参数中说明的输出设备。如果没有特别说明,输出设备就是当前终端。系统文件名。后面将产生一个日志文件的拷贝。9 用^GLOSTATroutine获得全局信息Caché提供^GLOSTATroutine,它负责收集全部的行为数据,显示关于硬盘I/O操作的各种信息。这篇文章告诉我们如何使用这个routine,它包含如下的主题:运行^GLOSTAT查看^GLOSTAT统计数据^GLOSTAT输出的例子CachéControlPanel提供了和^GLOSTATroutine相似的统计数据信息。在ControlPanel中,右键单击配置名称,单击Properties.在Overview标签上查看数据使用情况。运行^GLOSTAT必须在%SYS命名空间下,才能运行^GLOSTATroutine。routine的名称大小写是敏感的。输入如下的命令:Do^GLOSTAT 出现如下提示:Shoulddetailedstatisticsbedisplayedforeachblocktype?No=> 如上所述,默认是“No”,按Enter键显示总块的摘要(例子A),或者输入“Yes”,然后按Enter键根据块的类型显示详细信息(例子B)。^GLOSTATCaché^GLOSTATCaché的所有操作。在首次和后续的^GLOSTAT显示报告中,会出现如下提示:Continue(c),zerostatistics(z),timedstats(#sec>0),quit? 你可以输入如下的其中之一:响应动作c再次显示自上次初始化之后,累加的统计学报表z初始化^GLOSTAT统计计数器为0q退出^GLOSTAT程序#(表明秒数的正数)在指定的时间间隔内,初始化统计,计数统计,并且每秒产生报表(例子C和G).在确定的时间间隔内报告统计数据(D):输入“Z0.输入”q”退出程序,或者不输入任何字符,停留在提示状态。等待得到结果的时间如果退出了^GLOSTAT,请再次运行。否则,输入”C”继续^GLOSTAT报告显示了自初始化计数器来的操作数据注意:^GLOSTAT工具对大多数统计数据使用32位的计数器;极大的时间间隔可能会导致计数器溢出。统计数据概况每个^GLOSTAT统计数据显示了自Caché隔中的每秒,某种类型的事件发生的次数。你可以随时在系统管理员命名空间下运行。在大多数情况下,相比空闲系统而言,在活跃的系统上运行^GLOSTAT更加重要。如果Caché实例是一个单机配置或者是一个ECP服务器,那么报告会只显示ECP(也就是说它连接到远程数据库上那就会显示三列:“Local,“Remote,”and“Total”(例子E)下面的表格定义了^GLOSTAT统计数据:^GLOSTAT产生的状态信息状态定义Global引用(所有的)对Global访问的逻辑计数,包括Sets,Kills,$Data,$Order,$Increment,$Query,和表达式中的global引用。Global更新引用对global引用包括Sets,Kills,$Increments等逻辑计数。程序调用大量的程序调用。程序缓存的载入和调用所有的程序缓存的载入和调用都是ZLoadZsave程序运行产生的。(在一个和谐的环境中,从程序缓存中调用的,不要直接访问磁盘。每次程序调用和载入都要转移32KB数据(64KB的Unicode数据).)高速缓存效率所有的global引用都由物理快的读出写入的数量进行分类,而非百分比。日志实体产生大量的日志记录—对应于每个的数据库修改(Set,Kill,)件(TStart,TCommit)或其他存储到日志中的事件。日志块写入向日志文件中写入大量的64KB的日志块。逻辑块请求Global数据库代码读取大量的数据库块(在一般情况下,大部分的读出不需要访问磁盘)。物理块读出为global和应用程序应用从磁盘读取大量的物理数据库块(2-KBorCaché5.0.xCaché5.0.x数据库管理和维护手册PAGEPAGE65/808-KB)物理块写入为global和应用程序应用向磁盘写入大量的物理数据库块等待写的块队列大量的2-KBor8-KB的数据库块队列等待写入磁盘如果选择了一个选项,^GLOSTAT仍然对“LogicalBlockRequests,”“PhysicalBlockReads,”和“BlocksQueuedtobeWritten”的统计数据显示报告。对每种类型的所有块类型都会出现在最右边列上(例子F)。块类型包括:标签描述Data数据块Dir目录块.Bdata大数据块—包含大字符串的块.Map映射块.Upperptr上部指针块.Bottomptr下部指针块.Other其他不属于上述的其他块.(例如,增量备份,存储分配信息)^GLOSTAT输出的例子下面的输出示例,显示了当运行^GLOSTAT程序时的各种不同选项:A——在单机或者服务器配置上,初始化运行,不产生详细统计数据BC——在一定的时间间隔内,顺序运行,不产生详细的统计数据D——顺序运行不产生详细的统计数据。展示了使用“c,”“z,”和的响应E——在客户端上配置,初始化运行,不产生详细统计数据F——在客户端上配置,初始化运行,产生详细的块统计数据G数据例子A%SYS>Do^GLOSTAT下面是初始化运行^GLOSTAT实例或者是单机配置或者是服务器%SYS>Do^GLOSTATContinue(c),zerostatistics(z),timedstats(#sec>0),quit?Continue(c),zerostatistics(z),timedstats(#sec>0),quit?6,445,3301,918363Globalreferences(all):Globalupdatereferences:Routinecalls:Routinebufferloadsandsaves:Logicalblockrequests:Blockreads:Blockwrites:CacheEfficiency:JournalEntries:JournalBlockWrites:TotalStatisticsShoulddetailedstatisticsbedisplayedforeachblocktype?No=>n例子B下面是初始化运行^GLOSTAT产生的示例输出。选择显示详细的块统计数据,%SYS>do^GLOSTATShoulddetailedstatisticsbedisplayedforeachblocktype?No=>yStatisticsTotalGlobalreferences(all):6,444,341%SYS>do^GLOSTATShoulddetailedstatisticsbedisplayedforeachblocktype?No=>yStatisticsTotalGlobalreferences(all):6,444,341Globalupdatereferences:1,322,017Routinecalls:896,130Routinebufferloadsandsaves:9,008Dir:13,147Upperptr:138,837BData:164,102Bottomptr:1,034,472Map:3,043Other:1PhysicalBlockReadsData:33,846Dir:42Upperptr:31BData:452Bottomptr:290Map:12Other:134,674PhysicalBlockWrites1,918BlocksQueuedtobeWritten Data: 1,952Dir:11Upperptr:0BData:317Bottomptr:65Map:22Other:62,373Continue(c),zerostatistics(z),timedstats(#sec>0),quit?CacheEfficiency:176JournalEntries:211,164CacheEfficiency:176JournalEntries:211,164JournalBlockWrites:363LogicalBlockRequestsData:1,643,7392,997,341下面的例子显示了对于时间间隔是30秒的每秒产生的^GLOSTAT统计数据。Continue(c),zerostatistics(z),timedstats(#sec>0),quit? 30CountsperSecondfor30Seconds...用户没有对每种块都请求显示详细统计数据。Continue(c),zerostatistics(z),timedstats(#sec>0),quit? 30CountsperSecondfor30Seconds...Statistics(persecond)Statistics(persecond)TotalGlobalreferences(all):Globalupdatereferences:Routinecalls:Routinebufferloadsandsaves:Logicalblockrequests:Blockreads:Blockwrites:CacheEfficiency:JournalEntries:JournalBlockWrites:1,369.8696.9Continue(c),zerostatistics(z),timedstats(#sec>0),quit?例子D下面的例子显示了多次运行^GLOSTAT的结果。在初始化输出之后,输入“z”初始化计数器,输入“q”退出。在等待总计时间时,routine再次运行,并显示自输入“z”之后的所有操作。%SYS>Do^GLOSTATShoulddetailedstatisticsbedisplayedforeachblocktype?No=>StatisticsTotalGlobalreferences(all):Globalupdatereferences:Routinecalls:Routinebufferloadsandsaves:Logicalblockrequests:Blockreads:Blockwrites:CacheEfficiency:JournalEntries:%SYS>Do^GLOSTATShoulddetailedstatisticsbedisplayedforeachblocktype?No=>StatisticsTotalGlobalreferences(all):Globalupdatereferences:Routinecalls:Routinebufferloadsandsaves:Logicalblockrequests:Blockreads:Blockwrites:CacheEfficiency:JournalEntries:85,41414049452JournalBlockWrites: 44Continue(c),zerostatistics(z),timedstats(#sec>0),quit? zContinue(c),zerostatistics(z),timedstats(#sec>0),quit? q%SYS>Do^GLOSTATShoulddetailedstatisticsbedisplayedforeachblocktype?No=>Statistics TotalGlobalreferences(all): 4,332Globalupdatereferences: Routinecalls: 3,487Routinebufferloadsandsaves: 95Logicalblockrequests: 1,423Blockreads: Blockwrites: 130CacheEfficiency: 33JournalEntries: 218JournalBlockWrites: 1Continue(c),zerostatistics(z),timedstats(#sec>0),quit? zContinue(c),zerostatistics(z),timedstats(#sec>0),quit? Statistics TotalGlobalreferences(all): 0Globalupdatereferences: 0Routinecalls: 0Routinebufferloadsandsaves: 0Logicalblockrequests: 0Blockreads: 0Blockwrites: 0Continue(c),zerostatistics(z),timedstats(#sec>0),quit?Continue(c),zerostatistics(z),timedstats(#sec>0),quit?9,3624,404403Globalreferences(all):Globalupdatereferences:Routinecalls:Routinebufferloadsandsaves:Logicalblockrequests:Blockreads:Blockwrites:CacheEfficie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 温州2025年浙江温州市生态环境科学研究院招聘笔试历年参考题库附带答案详解
- 2020年12月二级建造师考试《建筑工程管理与实务》真题及答案
- 餐饮配送公司合并合同(2篇)
- 生死之间:急诊医生学科的高压境界
- 三年级英语下册-教案-教学设计 U5- Lesson 3 Its Not Very Cold Here in Winter
- 教育辅导可行性报告
- 旅游安排计划表
- 资产评估理论深度解析2025年资产评估师考试试卷
- 2025年会计职称考试《初级会计实务》高频考点串联专项练习试题册
- 2025年乡村医生考试题库(农村居民健康管理服务规范)乡村医疗公共卫生政策试题
- 第十单元课题2 常见的酸和碱第1课时-2024-2025学年九年级化学人教版下册
- 小学生数据分析课件
- 2025年皖北卫生职业学院单招职业适应性测试题库附答案
- 2025年山东国电投莱阳核能有限公司校园招聘笔试参考题库附带答案详解
- 中小学生开学第一课主题班会-以哪吒之魔童降世为榜样
- 2024年湖南公务员考试申论试题(省市卷)
- 2024年中国疾控中心信息中心招聘考试真题
- 基于共生理论视角日本足球发展经验及启示
- 多模态场景下AIGC的应用综述
- 2024年教育培训机构商家入驻合作协议3篇
- 血液透析患者动静脉内瘘失功的危险因素与防治护理
评论
0/150
提交评论