




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle 通用补丁安装操作手册 1.概述近几年,随着我们用户ORACLE数据库的应用越来越深入,环境越来越复杂,一些ORACLE常见的BUG也会偶尔的被触发。因此,我们对技术人员 要求不能再像以前一样只要求会安装数据库,还应该要求其掌握在遇到数据库BUG的时候,能够熟练的找到并安装对应的修复补丁才行。因此该文档用于指导技术人员,能够查看和检查数据库环境的补丁安装情况,并对提供的ORACLE补丁文件进行安装操作。2. ORACLE补丁体系ORACLE数据库同其他企业软件一样,正式版的发布和运维都要经过一个漫长的周期,当正式版发布后,在其生命周期内会oracle公司会在官网上 定期发布更新补丁程序,根据发布周期和集合程度不同,它们分别是维护版本(Version)、补丁集(Patch Set)、关键补丁更新(Critical Patch Update)、补丁集更新(Patch SetUpdate)和小补丁(One-off patch)几类,下面简单的介绍下它们的区别。 Version/维护版本针对前一个维护版本的所有补丁进行整理,增加新的功能或对软件有较大的改动,进行整体测试,得到一个软件版本包,称为版本Version。比如 11.2 Patch Set/补丁集在两次产品版本之间发布的一组经过全面测试的累计整体修复程序(一般每年发布一两次),如。 Critical Patch Update(CPU)/关键补丁更新指每季度提供一次的一组高优先级修复程序(往往针对安全性问题)。对于以前的安全性修复程序而言,这些CPU是累积的,只需要安装最近最后一个就可 以,它就包含了之前的所有CPU补丁,但也可包含其他修复程序,目的是解决与非安全性补丁之间的补丁冲突问题(即降低合并请求的必要性)。目前已经更名为 Security Patch Update (SPU)。 Patch Set Update(PSU)/补丁集更新从起,在两个补丁集之间发布,每年发布4次;每个补丁集更新包含50100个修复,经测试和集成后发布,如 .1,.2,PSU包含CPU,所以建议尽量安装PSU,PSU通常也是增量的,大部分PSU可以直接安装,但有些 PSU则必须要求安装了上一 个版本的PSU之后才能继续安装,要仔细看各个PSU的Readme文档。 One-off patch(个别补丁)为了修复某(几)个Bug而发布的补丁,个别补丁是针对Oracle公司发现的或客户报告的某一个BUG编写的补丁,多个个别补丁之间一同安装时可 能会有冲突,即同一个目标模块分别进行了不同的修改。另外,即便在安装时没有发现冲突,由于没有进行严格的集成测试,运行过程中由于相互作用是否会发生意 外也不能完全排除,个别布丁的命名一般是P后面加bug号,如P6139856,就是修复bug号为6139856的个别补丁。其中前面两类维护版本(Version)和补丁集(Patch Set)的安装配置属于我们传统意义上的大版本升级,操作起来相对比较复杂,后续会专门提供文档进行讲解,这里我们就不再单独介绍,而后三个关键补丁更新 (Critical Patch Update)、补丁集更新(Patch SetUpdate)和个别补丁(One-off patch)的操作基本相同,本文将针对这3类补丁进行详细的讲述,使得技术人员通过本文的讲解,能够在实际工作中顺利的掌握并进行ORACLE补丁安装 部署。3. 补丁的获取3.1. PSU补丁获取要想获取和下载CPU/PSU,必须要有Oracle Support账号才行,渠道如果没有帐号,可以向高级技术支持部帮助获取,通过帐号登录metalink,查询文章id为1454618.1的文档,名称为Quick Reference to Patch Numbers for Database PSU, SPU(CPU), BundlePatches and Patchsets (Doc ID 1454618.1),这个文档链接了所有数据库版本目前已经发布的CPU和PSU,并且定期进行更新,如下为版本的PSU和CPU的列表可以看到,最新的PSU是.12,这里我们一般只需要下载安装这个PSU就可以,不过10g的PSU下载需要更高的帐号权限,目前公司账户已经不能下载,因此建议大家以后逐渐升级到11g数据库。3.2. 个别补丁获取而对于个别补丁,我们一般是通过官方问题查询问题的时候,了解到问题的bug号,然后通过,然后通过bug号查找对应的个别补丁,如下:查询结果会显示出该补丁对应的数据库和平台,我们只要下载对应的补丁程序就可以了,如下 下载的时候一定要注意操作系统平台和适用的数据库版本信息。4. OPatch工具在获取了补丁程序后,我们就需要对补丁进行安装,从9.2版开始,Oracle公司实现了个别补丁安装工具OPatch。 通过它集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用OPatch命令完成,冲突检测也由OPatch在安装时自动完成;提供列表命令可以很 方便得到已安装个别补丁的信息,opatch命令格式为:opatch -help 10g(10.1和10.2)版本中,OPatch作为一个标准工具,在安装时自动安装(安装在$ORACLE_HOME/OPatch目录下), 不过有时候根据补丁的要求,需要使用最新版本的OPatch工具,这就要从metalink下载最新版本的OPatch工具,这一点必须注意,后续我们会 结合案例进行讲解。5. 补丁安装接下来我们就演示下如何在RAC环境中安装PSU补丁,为什么要使用RAC环境最为案例演示?因为RAC环境的补丁安装相对复杂,几乎涵盖了补丁安 装的各种情况,如果掌握,单机环境安装相对更加简单,如果技术人员通过本文掌握了RAC环境的PSU补丁安装,再进行单机环境的补丁安装应该都不成问题。5.1. 环境检查在安装PSU补丁前我们先看下目前环境的版本和环境,确定安装环境是否符合补丁安装的要求,避免环境错误,可以通过下面的语句查询:SQLselect * from v$version;(查看数据库版本)BANNER-OracleDatabase 11g Enterprise Edition Release .0 - ProductionPL/SQLRelease .0 - ProductionCORE .0 ProductionTNSfor Linux: Version .0 - ProductionNLSRTLVersion .0 - ProductionSQLrootrac1# uname rm(查看操作系统版本)2.6.18-164.el5i686可以看到目前我们的演示环境是一个.0的RAC环境,linux32位操作系统,因此我们决定安装对应这个版本最新的PSU补丁。5.2. PSU补丁下载接下来就是通过登录metalink账户查询(Doc ID 1454618.1)文档,大部分情况下技术人员是没有metalink帐号,可以向高级技术支持咨询补丁情况,我们这里查询的结果如下 可以看到.0最新的PSU是.6,由于PSU是累计的,因此我们这里只需要下载最新的这个PSU补丁就可以了,点击进入下载界面, 选择对应的操作系统平台,点击download,下载补丁包,一般补丁包的命名如p12419378_112010_Linux.zip,是一个压缩文 件,我们把它上传到服务器上,解压成一个文件夹,阅读文件夹中的README.html文件,里面对该PSU补丁的安装方式和安装注意事项进行了详细的描 述,因此建议养成阅读该文件的习惯,我们这里截取第三部分安装的内容如下, 如果大家有点英文知识,可以清楚的在看到3.1.1和3.1.2中提到,如果要在RAC和ASM环境安装这个.6的PSU,应该保证先安装了Patch 9655006和Patch 8898852两个补丁,其中9655006是GI的PSU补丁,可以使GI升级到版本,而8898852是一个个别补丁(One-off patch),我们得先进行这两个补丁的安装,才能进行.6PSU的安装。5.3. 前期准备5.3.1. 前提补丁下载先找到这2个补丁的安装文件,通过补丁号进行查询,分别下载p9655006_112010_LINUX.zip和 p8898852_112010_Linux.zip,从补丁的介绍可以看到,其中p9655006其实就是.2PSU,这个包有 140M大小,而p8898852是一个个别补丁,非常的小只有几十K,我们先来安装比较简单的个别补丁,由于这个补丁是数据库补丁,通过 oracle用户解压,具体命令如下:oraclerac1$ unzip p8898852_112010_Linux.zip个别补丁的安装非常简单,一般情况下只要满足其安装条件,执行一条命令就完成,当然我们首先还是要看下这个补丁的说明文档,其条件就是要求补丁安装 的时候实例必须关闭,我们通过命令关闭实例,然后进入补丁解压文件,执行简单的补丁应用命令opatch apply就可以完成补丁的安装(当然前提是你要设置opatch执行路径的环境变量PATH),如下:oraclerac1cd 8898852oraclerac18898852opatch applyOracleInterim Patch Installer version .0Copyright(c) 2013, Oracle Corporation. All rightsreservedOracleHome :/u01/app/oracle/product/11.2.0/db_1CentralInventory : /u01/app/oraInventory from :/u01/app/oracle/product/11.2.0/db_1/oraInst.locOPatchversion : .50OUIversion : .0patch/home/oracle/8898852 apply successfulfor home /u01/app/oracle/product/11.2.0/db_1非常简单,补丁就执行安装完成,通过命令检查下补丁是否安装成功,如下,oraclerac1OPatch$ ./opatch lsinventoryPatchhistory file:/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch_history.txtLsinventoryOutput file location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2013-10-25_17-14-10PM.txt-InstalledTop-level Products (1): OracleDatabase 11g.0Thereare 1 products installed in this Oracle Home.Interimpatches (1) :Patch 8898852: applied on Fri Oct 25 17:08:23 CST 2013UniquePatch ID: 12383575 Created on 12 Apr 2010, 05:52:21 hrs PST8PDT Bugs fixed: 8898852(可以看到补丁已经成功安装)Racsystem comprising of multiple nodes Local node = rac1 Remote node = rac2OPatchsucceeded. 可以看到这个补丁已经安装成功,接下来同样的方式在其他节点执行一边,这里就不在演示,总之个别补丁的安装非常简单,只要操作过一次就基本能够掌握,接下 来我们就来安装比较复杂的P9655006补丁,首先把补丁程序上传到grid用户的home目录,然后创建一个存放目录/home/grid /stage/patch,进行解压操作,解压的时候采用unzip命令,如下:gridrac1$ unzip p9655006_112010_LINUX.zip -d /home/grid/stage/patch inflating: stage/patch/9655006/files/bin/gnsd inflating: stage/patch/9655006/files/bin/gnsd.bin inflating: stage/patch/9655006/files/bin/oclskd.bin inflating: stage/patch/9655006/files/bin/ocrdump.bin inflating: stage/patch/9655006/files/bin/acfsdriverstate(省略)inflating:stage/patch/9654983/files/javavm/install/jvmursc.sql inflating: stage/patch/9654983/patchmd.xml creating: stage/patch/9654983/custom/ creating: stage/patch/9654983/custom/scripts/ inflating: stage/patch/9654983/custom/scripts/pre inflating: stage/patch/9654983/custom/scripts/post inflating: stage/patch/bundle.xml extracting: stage/patch/README.txt inflating: stage/patch/README.htmlgridrac1$ cd stage/patch/gridrac1patch$ ls9654983 9655006bundle.xml README.html README.txt5.3.2. 前提条件核实可以看到通过解压得到2个文件夹(9654983和9655006)和一个README.html说明文档,首先我们还是应该认真阅读下该补丁的说 明文档,这里我要提醒每个技术人员,记到每次在安装补丁前都应该对补丁的说明文档进行认真的阅读,防止安装过程出现意外,首先来看2.2补丁安装的先决条 件,部分截图如下:该补丁主要有两点需要注意的,提前对环境进行准备:第一点:要求Opatch工具的版本必须是.3及之后,我们来通过opatch version命令查看下当前版本信息,如下:gridrac1OPatch$ ./opatch versionInvokingOPatch .6OPatchVersion: .6OPatchsucceeded.可以看到版本不符合要求,这就需要我们在metalink上去下载符合要求的Opatch工具,下载地址在说明文档中有连接,我们直接点击进入连接 下载p6880880_112000_LINUX.zip压缩文件,然后通过下面的命令,解压到crs_home目录覆盖原来的Opatach文件,如 下:gridrac1$ unzip p6880880_112000_LINUX.zip -d /u01/app/grid/Archive: p6880880_112000_LINUX.zip creating: /u01/app/grid/OPatch/oplan/ inflating:/u01/app/grid/OPatch/oplan/README.html inflating:/u01/app/grid/OPatch/oplan/README.txt creating: /u01/app/grid/OPatch/oplan/jlib/ inflating: /u01/app/grid/OPatch/oplan/jlib/oplan.jar然后切换到oracle用户,同样解压到oracle_home目录,如下oraclerac1$ unzip p6880880_112000_LINUX.zip -d /u01/app/oracle/product/11.2.0/db_1/Archive: p6880880_112000_LINUX.zip creating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/ inflating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/README.html inflating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/README.txt creating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/jlib/ inflating: /u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/jlib/oplan.jar inflating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/jlib/oracle.oplan.classpath.jar inflating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/jlib/automation.jar inflating: /u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/jlib/OsysModel.jar inflating:/u01/app/oracle/product/11.2.0/db_1/OPatch/oplan/jlib/EMrepoDrivers.jar 然后分别再用grid和oracle用户确认下其对应的OPatch工具的版本情况,是否已经更新,如下gridrac1OPatch$ ./opatch versionOPatchVersion: .5OPatchsucceededoraclerac1OPatch$ ./opatch versionOPatchVersion: .5OPatchsucceeded当然,这里只操作了1号节点,要确保RAC所有节点重复都进行了该操作。现在看到,已经更新为最新的.5版本,符合本次补丁对Opatch工具的要求。第二点:OCM(OracleConfiguration Manager)配置,在运行补丁的时候,需要配置OCM,方法很简单,在说明文档中有详细的记录,只需要在以grid用户执 行$crs_home/OPatch/ocm/bin/emocmrsp根据提示进行配置,配置完成后会生成个ocm.rsp文件,后续会用到这个文件。gridrac1patch$ /u01/app/grid/OPatch/ocm/emocmrsp5.3.3. 前提补丁安装在确认安装条件满足后,就开始正式的准备p9655006补丁的安装,首先安装GI的补丁,安装的时候要求crs进程必须启动,因此这里我们只需要停止数据库实例,我们先打1号节点的补丁,因此先停止1号节点的实例,如下:gridrac1 bin$srvctl stop instance -d orcl -i orcl1 然后我们要以root用户,执行opatchauto执行补丁升级,后面要跟上补丁的解压目录和crs_home目录,如下,rootrac1bin# opatch auto /home/grid/stage/patch-oh /u01/app/grid/(这里是CRS_HOME目录)Executing/u01/app/grid/perl/bin/perl /u01/app/grid/OPatch/crs/patch11202.pl -patchdir/home/grid/stage -patchn patch -oh /u01/app/grid/ -paramfile/u01/app/grid/crs/install/crsconfig_paramsUsingconfiguration parameter file: /u01/app/grid/crs/install/crsconfig_paramsOPatch is bundled with OCM, Enter the absolute OCMresponse file path:/home/grid/stage/patch/ocm.rsp(这里要求输入刚才生成的ocm.rsp文件)Unableto determine if /u01/app/grid is shared oracle homeEnteryes if this is not a shared home or if the prerequiste actions are performedto patch this shared home (yes/no):yesSuccessfullyunlock /u01/app/gridpatch/home/grid/stage/patch/9655006 applysuccessful for home /u01/app/gridpatch/home/grid/stage/patch/9654983 applysuccessful for home /u01/app/grid最后我们可以看到提示,补丁成功安装,接下来同样的在节点2上进行补丁安装,方法相同,这里就不再描述,接下来用同样的方式给数据库database打补丁,同样的先在节点1上进行补丁安装,命令如下rootrac1bin# opatch auto /home/grid/stage/patch/ -oh /u01/app/oracle/product/11.2.0/db_1/(这个是db_home目录)xecuting/u01/app/grid/perl/bin/perl /u01/app/grid/OPatch/crs/patch11202.pl -patchdir/home/grid/stage -patchn patch -oh /u01/app/oracle/product/11.2.0/db_1/-paramfile /u01/app/grid/crs/install/crsconfig_paramsINCis /home/grid/stage/patch/9655006/files/crs/install /u01/app/grid/crs/install/u01/app/grid/perl/lib/5.10.0/i686-linux-thread-multi/u01/app/grid/perl/lib/5.10.0/u01/app/grid/perl/lib/site_perl/5.10.0/i686-linux-thread-multi/u01/app/grid/perl/lib/site_perl/5.10.0 . opatchauto log file location is /u01/app/grid/OPatch/crs/././cfgtoollogs/opatchauto2013-11-05_11-57-18.log2013-11-0511:57:18: Parsing the host name2013-11-0511:57:18: Checking for super user privileges2013-11-0511:57:18: User has super user privilegesDetectedOracle Clusterware installUsingconfiguration parameter file: /u01/app/grid/crs/install/crsconfig_paramsOPatch is bundled with OCM, Enter the absolute OCMresponse file path:/home/grid/stage/patch/ocm.rspUnableto determine if /u01/app/oracle/product/11.2.0/db_1 is shared oracle homeEnteryes if this is not a shared home or if the prerequiste actions are performedto patch this shared home (yes/no):yesUnableto determine if /u01/app/oracle/product/11.2.0/db_1 is shared oracle homeEnteryes if this is not a shared home or if the prerequiste actions are performedto patch this shared home (yes/no):yespatch/home/grid/stage/patch/9655006/custom/server/9655006 apply successful for home /u01/app/oracle/product/11.2.0/db_1patch/home/grid/stage/patch/9654983 applysuccessful for home/u01/app/oracle/product/11.2.0/db_1我们可以通过opatch lsinventory命令检查补丁的安装情况,如下oracledemo-rac1OPatch$ ./opatch lsinventoryOracleInterim Patch Installer version .5Copyright(c) 2013, Oracle Corporation. All rightsreserved.OracleHome :/u01/app/oracle/product/11.2.0/db_1CentralInventory : /u01/app/oraInventory from :/u01/app/oracle/product/11.2.0/db_1/oraInst.locOPatchversion : .5OUIversion : .0Logfile location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2013-11-05_12-04-17PM_1.logLsinventoryOutput file location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2013-11-05_12-04-17PM.txt-InstalledTop-level Products (1): OracleDatabase 11g.0Thereare 1 products installed in this Oracle Home.Interimpatches (2) :Patch 9654983: applied on Tue Nov 05 12:00:22 CST 2013UniquePatch ID: 12651759 Created on 17 Jun 2010, 03:31:21 hrs PST8PDT Bugs fixed: 9068088, 9363384, 8865718, 8837736,8801119, 9054253, 8725286, 8974548 9093300, 8909984, 8755082, 8780372,8664189, 8769569, 7519406, 8822531 7705591, 8650719, 9637033, 8639114,8723477, 8729793, 8919682, 8856478 9001453, 8733749, 8565708, 8735201,8684517, 8870559, 8773383, 8981059 8812705, 9488887, 8813366, 9242411,8822832, 8897784, 8760714, 8775569 8671349, 8898589, 9714832, 8642202,9011088, 9170608, 9369797, 9165206 8834636, 8891037, 8431487, 8570322,8685253, 8872096, 8718952, 8799099 9032717, 9399090, 9546223, 9713537,8588519, 8783738, 8834425, 9454385 8856497, 8890026, 8721315, 8818175,8674263, 9145541, 8720447, 9272086 9467635, 9010222, 9197917, 8991997,8661168, 8803762, 8769239, 9654983 8706590, 8778277, 8815639, 9027691,9454036, 9454037, 9454038, 9255542 8761974, 9275072, 8496830, 8702892,8818983, 8475069, 8875671, 9328668 8798317, 8891929, 8774868, 8820324,8544696, 8702535, 8268775, 9036013 9363145, 8933870, 8405205, 9467727,8822365, 9676419, 8761260, 8790767 8795418, 8913269, 8717461, 8607693,8861700, 8330783, 8780281, 8780711 8784929, 9341448, 9015983, 9119194,8828328, 8665189, 8717031, 8832205 9676420, 8633358, 9321701, 9655013,8796511, 9167285, 8782971, 8756598 8703064, 9066116, 9007102, 9461782,9352237, 8505803, 8753903, 9216806 8918433, 9057443, 8790561, 8733225,9067282, 8928276, 9210925Patch 9655006: applied on Tue Nov 05 11:58:48 CST 2013UniquePatch ID: 12651759 Created on 6 Jul 2010, 12:02:48 hrs PST8PDT Bugs fixed: 9655006, 9778840, 9343627, 9783609,9262748可以看到补丁的安装情况,PSU需要的几个补丁都已经安装上去,最后就是执行下数据字典更新脚本,RAC环境下只要保证一个实例启动状态,然后在oracle用户下执行下面的语句,执行脚本cd$ORACLE_HOME/rdbms/adminsqlplus/nologSQLCONNECT / AS SYSDBASQLcatbundle.sql psu applySQLQUIT 这个脚本会更新数据字典表,如果不执行可能使用过程中会出现一些莫名的错误,因此千万不要忘记执行。5.4. PSU补丁安装接下来在完成了前提补丁的安装后,我们又再次回答PSU的说明文档,接着看还有那些先决条件需要准备,为了保障make,ar,ld, 和nm命令能够直接被调用,需要提前设置环境变量路径,如下exportPATH=$PATH:/usr/ccs/bin在经过之前前提补丁的安装后,接下来再安装PSU补丁就应该轻车熟路,.6PSU补丁的安装过程就如同一个个别补丁一样简单, 先在节点1上进入解压的目录(一般为12419378),然后直接运行opatch apply如下,当然前提是数据库实例已经关闭,否则会在环境校验阶段出现错误提示,关闭实例的操作这里就不再演示,可以一个节点一个节点的操作,也可以 所有节点一起操作,下面我们直接进行补丁的安装:oraclerac1 12419378$ opatch applyOracleInterim Patch Installer version .5Copyright(c) 2013, Oracle Corporation. All rightsreserved.OracleHome :/u01/app/oracle/product/11.2.0/db_1CentralInventory : /u01/app/oraInventory from :/u01/app/oracle/product/11.2.0/db_1/oraInst.locOPatchversion : .5OUIversion : .0Logfile location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/12419378_Nov_11_2013_16_17_40/apply2013-11-11_16-17-40PM_1.logApplyinginterim patch 12419378 to OH /u01/app/oracle/product/11.2.0/db_1Verifyingenvironment and performing prerequisite checks.Patch12419378: Optional component(s) missing : oracle.client, .0 Interimpatch 12419378 is a superset of the patch(es) 9654983 ,9655006 in the Oracle HomeOPatchwill roll back the subset patches and apply the given patch.Allchecks passed.(环境检查成功)Thisnode is part of an Oracle Real Application Cluster.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生假期乘务员社会实践报告
- 小儿肘关节脱位课件
- 农村劳务合作社协议合同
- 青训球员补偿协议合同范本
- 劳务外包协议解除协议书
- 出租车间协议无违约合同
- 下水管改装维修合同范本
- 三人行结构课件
- 乌克兰关闭总领馆协议书
- 冷链食品供货协议书范本
- 2025安全生产月主题宣讲课件十:主要负责人安全公开课
- 解约合同协议书范本
- 起重吊装安全专项施工方案方案
- 2025东航招聘心理测试题及答案
- 基层卫生岗位(社区护理组)练兵和能竞赛试题
- 2025年浙江省数字安全证书管理有限公司招聘笔试参考题库含答案解析
- 2025年两个女儿离婚协议书模板
- 施工现场危险源管理制度
- 【图文】个人简历模板大全-可直接下载使用
- 2025广西百色工业和信息化委员会事业单位招聘拟聘高频重点模拟试卷提升(共500题附带答案详解)
- 跨境运输问题应急预案
评论
0/150
提交评论