




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于LINUX的ORACLE数据库管理课程设计VMWARE5.4+RAC+ASM安装(基于oracle11G)学院:软件学院专业:软件工程班级:数据库1班 姓名:闫军学号:1115115327目录前期准备- 3 -硬件和软件要求- 3 -需要软件:- 3 -创建共享存储- 3 -IP设置(两节点一样)- 5 -设置用户和组(两节点一样)- 6 -配置SSH(以oracle用户两节点均执行)- 7 -基本oracle配置(两节点都要配置):- 8 -安装oracle必要的包- 8 -修改oracle配置文件- 8 -创建目录:- 9 -以root用户修改oracle用户的shell限制:- 9 -修改内核参数(数值只能比下列的大):- 10 -配置内核模块:- 10 -将共享的几块硬盘分区(只在rac1上分区就可以了):- 11 -将原始设备映射到共享分区(两节点都要操作)- 13 -配置分配权限- 15 -安装ASM包:(两节点都要安装)- 15 -上传解压asm相关的包(不同版本不一样,建议对照版本安装):- 16 -将raw1和raw2创建为asm盘:- 17 -节点1上创建ASM盘:- 18 -clusterwrae安装- 19 -oracle软件安装- 22 -数据库安装- 24 -测试- 27 -课程小结- 31 -VMWARE5.4+RAC+ASM安装(基于oracle11G)前期准备硬件和软件要求操作系统:RedHat5.4两台(硬盘20G,内存2G,网卡2)数据库版本:oracle 11g Release 2 (11.2.0.3) for Linux x86.需要软件:11203_clusterware_linux32.zip11203_database_linux32.zipcvuqdisk-1.0.9-1.rpmoracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpmoracleasm-support-2.1.8-1.el5.i386.rpmoracleasmlib-2.0.4-1.el5.i386.rpmbinutilsopenmotifsetarchcompatmakesysstatlibaiolibXp创建共享存储Windows下找到VMware的安装路径,看到下面有vmware-vdiskmanager.execmd中切换到VMware安装路径执行下列命令创建共享存储(至少需要三块硬盘,也可手动添加,请注意是共享盘,跟普通盘不一样):vmware-vdiskmanager.exe -c -s 8Gb -a lsilogic -t 3 D:yanjunracraw1.vmdk;vmware-vdiskmanager.exe -c -s 8Gb -a lsilogic -t 3 D:yanjunrac raw2.vmdk;vmware-vdiskmanager.exe -c -s 8Gb -a lsilogic -t 3 D:yanjunrac raw3.vmdk;效果如图:在两个节点的.vmx中添加如下设置:scsi1.present=TRUE scsi1.virtualDev=lsilogic scsi1.sharedBus=virtual scsi1:1.present=TRUE scsi1:1.mode=independent-persistent scsi1:1.filename=D:yanjunracraw1.vmdk scsi1:1.deviceType=disk scsi1:2.present=TRUE scsi1:2.mode=independent-persistent scsi1:2.filename=D:yanjunracraw2.vmdk scsi1:2.deviceType=disk scsi1:3.present=TRUE scsi1:3.mode=independent-persistent scsi1:3.filename=D:yanjunracraw3.vmdk disk.locking=false diskLib.dataCacheMaxSize = 0 diskLib.dataCacheMaxReadAheadSize = 0 diskLib.DataCacheMinReadAheadSize = 0 diskLib.dataCachePageSize = 4096 diskLib.maxUnsyncedWrites = 0 IP设置(两节点一样)rootrac1 # cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost#public ip10.41.0.100 rac110.41.0.200 rac2#priv ip10.41.2.100 rac1prv10.41.2.200 rac2prv#vip ip10.41.0.101 rac1vip10.41.0.201 rac2vip#scan ip10.41.0.99 racscan设置用户和组(两节点一样)rootrac1 # groupadd oinstallrootrac1 # groupadd dbarootrac1 # useradd -g oinstall -G dba oraclerootrac1 # passwd oracleChanging password for user oracle.New UNIX password: BAD PASSWORD: it is WAY too shortRetype new UNIX password: passwd: all authentication tokens updated successfully.配置SSH(以oracle用户两节点均执行)oraclerac1 $ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/oracle/.ssh/id_rsa): Created directory /home/oracle/.ssh.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_rsa.Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.The key fingerprint is:b5:cb:c5:e8:35:63:df:69:6c:a8:93:a5:78:fc:81:3b oraclerac1节点1执行oraclerac1 $ cat /.ssh/id_rsa.pub /.ssh/authorized_keysoraclerac1 $ ssh rac2 cat /.ssh/id_rsa.pub /.ssh/authorized_keysThe authenticity of host rac2 (10.37.11.2) cant be established.RSA key fingerprint is bf:1c:0e:df:94:f8:87:83:78:17:d2:06:b6:a9:62:3d.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added rac2,10.37.11.2 (RSA) to the list of known hosts.oraclerac2s password: oraclerac1 $ ssh rac2 cat /.ssh/id_dsa.pub /.ssh/authorized_keysoraclerac2s password: oraclerac1 $ scp /.ssh/authorized_keys rac2:/.ssh/authorized_keysoraclerac2s password: authorized_keys 100% 1992 2.0KB/s 00:00 测试ssh(不需输入密码为正确):基本oracle配置(两节点都要配置):安装oracle必要的包:rootrac1 # yum install -y binutils* openmotif* setarch* compat* make* sysstat* libaio* libXp*修改oracle配置文件oraclerac1 $ vi .bash_profile加入如下内容:export ORACLE_SID=orcl1export ORACLE_BASE=/u01/oracleexport CRS_HOME=/gridexport ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1export LD_LIBRARY_PATH=$ORACLE_HOME/libexport PATH=$ORACLE_HOME/bin:$CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/binexport EDITOR=vim注:CRS_HOME在ORACLE_HOME的前面创建目录:rootrac1 # mkdir /u01rootrac1 # chmod -R 755 /u01rootrac1 # chown -R oracle:dba /u01rootrac1 # su - oracleoraclerac1 $ mkdir -p /u01/oracleoraclerac1 $ mkdir -p $ORACLE_HOMEoraclerac1 $ mkdir -p $CRS_HOME以root用户修改oracle用户的shell限制:rootrac1 oracle# vi /etc/security/limits.conf 加入oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536rootRac1 oracle# vi /etc/pam.d/login 加入session required /lib/security/pam_limits.so修改内核参数(数值只能比下列的大):kernel.shmall = 2097152kernel.shmmax = 1062656000kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 6815744net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 1048576net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576fs.aio-max-nr = 1048576使内核参数生效:rootRac1 oracle# sysctl -p配置内核模块:rootRac1 oracle# vi /etc/modprobe.conf加入:options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180确定模块加载成功:rootrac1 # /etc/init.d/ntpd startStarting ntpd: OK rootrac1 # modprobe hangcheck-timerrootrac1 # grep Hangcheck /var/log/messages |tail -2Nov 28 14:39:30 rac1 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 30 seconds, margin is 180 seconds).Nov 28 14:39:30 rac1 kernel: Hangcheck: Using get_cycles().将共享的几块硬盘分区(只在rac1上分区就可以了):rootrac1 # fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 3916 31350847+ 8e Linux LVMDisk /dev/sdb: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdb doesnt contain a valid partition tableDisk /dev/sdc: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdc doesnt contain a valid partition tableDisk /dev/sdd: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdd doesnt contain a valid partition tableDisk /dev/sde: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sde doesnt contain a valid partition table四个盘分别是sdb,sdc,sdd,sde这里只演示对sdb分区,其他三个盘换一下名字就行,很简单rootrac1 # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel. Changes will remain in memory only,until you decide to write them. After that, of course, the previouscontent wont be recoverable.The number of cylinders for this disk is set to 1044.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 1First cylinder (1-1044, default 1): 回车Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): 回车Using default value 1044Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.将原始设备映射到共享分区(两节点都要操作)rootrac1 # vi /etc/sysconfig/rawdevices 加入:/dev/raw/raw1 /dev/sdc1/dev/raw/raw2 /dev/sdd1/dev/raw/raw3 /dev/sde1使映射立即生效:rootrac1 # /sbin/service rawdevices restartAssigning devices: /dev/raw/raw1 - /dev/sdb1/dev/raw/raw1: bound to major 8, minor 17 /dev/raw/raw2 - /dev/sdc1/dev/raw/raw2: bound to major 8, minor 33 /dev/raw/raw3 - /dev/sdd1/dev/raw/raw3: bound to major 8, minor 49 /dev/raw/raw4 - /dev/sde1/dev/raw/raw4: bound to major 8, minor 65done将映射配置到/etc/udev/rules.d/文件夹中rootrac1 raw# vi /etc/udev/rules.d/60-raw.rulesACTION=add, KERNEL=sdc1, RUN+=/bin/raw /dev/raw/raw1 %NACTION=add, ENVMAJOR=8,ENVMINOR=17,RUN+=/bin/raw /dev/raw/raw1 %M %mACTION=add, KERNEL=sdd1, RUN+=/bin/raw /dev/raw/raw2 %NACTION=add, ENVMAJOR=8,ENVMINOR=17,RUN+=/bin/raw /dev/raw/raw2 %M %mACTION=add, KERNEL=sde1, RUN+=/bin/raw /dev/raw/raw3 %NACTION=add, ENVMAJOR=8,ENVMINOR=17,RUN+=/bin/raw /dev/raw/raw3 %M %mACTION=add,LERNEL=raw1-3,OWNER=oracle,GROUP=dba,MODE=660配置分配权限rootrac1 raw# vi /etc/rc.d/rc.localchown oracle:dba /dev/raw/raw1chown oracle:dba /dev/raw/raw2chown oracle:dba /dev/raw/raw3chmod 660 /dev/raw/raw1chmod 660 /dev/raw/raw2chmod 660 /dev/raw/raw3查看映射设备安装ASM包:(两节点都要安装)上传解压asm相关的包(不同版本不一样,建议对照版本安装):rootrac1 asm# lsoracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm oracleasm-2.6.9-67.ELxenU-2.0.3-1.i686.rpmoracleasm-2.6.9-67.EL-2.0.3-1.i686.rpm oracleasmlib-2.0.4-1.el4.i386.rpmoracleasm-2.6.9-67.ELhugemem-2.0.3-1.i686.rpm oracleasm-support-2.1.4-1.el4.i386.rpmoracleasm-2.6.9-67.ELsmp-2.0.3-1.i686.rpm包挺多,只需安三个就行了,第二个包要跟版本号对照rootrac1 asm# uname -aLinux rac1 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linuxrootrac1 asm# rpm -ivh oracleasm-support-2.1.4-1.el4.i386.rpm warning: oracleasm-support-2.1.4-1.el4.i386.rpm: Header V3 DSA signature: NOKEY, key ID b38a8516Preparing. # 100% 1:oracleasm-support # 100%rootrac1 asm# rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm warning: oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159Preparing. # 100% 1:oracleasm-2.6.18-164.el# 100%rootrac1 asm# rpm -ivh oracleasmlib-2.0.4-1.el4.i386.rpm warning: oracleasmlib-2.0.4-1.el4.i386.rpm: Header V3 DSA signature: NOKEY, key ID b38a8516Preparing. # 100% 1:oracleasmlib # 100%将raw1和raw2创建为asm盘:节点1上执行:rootrac1 # /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets (). Hitting without typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface : oracleDefault group to own the driver interface : dbaStart Oracle ASM library driver on boot (y/n) n: yScan for Oracle ASM disks on boot (y/n) y: yWriting Oracle ASM library driver configuration: doneInitializing the Oracle ASMLib driver: OK Scanning the system for Oracle ASMLib disks: OK 节点2上再次执行一次rootrac2 # /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets (). Hitting without typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface : oracleDefault group to own the driver interface : dbaStart Oracle ASM library driver on boot (y/n) n: yScan for Oracle ASM disks on boot (y/n) y: yWriting Oracle ASM library driver configuration: doneInitializing the Oracle ASMLib driver: OK Scanning the system for Oracle ASMLib disks: OK 节点1上创建ASM盘:rootrac1 # /etc/init.d/oracleasm createdisk ASMDISK1 /dev/sdb1Marking disk ASMDISK1 as an ASM disk: OK rootrac1 # /etc/init.d/oracleasm createdisk ASMDISK2 /dev/sdc1Marking disk ASMDISK2 as an ASM disk: OK rootrac1 # /etc/init.d/oracleasm createdisk ASMDISK3 /dev/sde1Marking disk ASMDISK3 as an ASM disk: OK 扫描ASM盘rootrac1 # /etc/init.d/oracleasm scandisksScanning the system for Oracle ASMLib disks: OK 再次查看rootrac1 # /etc/init.d/oracleasm listdisksASMDISK1ASMDISK2ASMDISK3节点2上扫描并查看ASM盘,有显示了吧rootrac2 # /etc/init.d/oracleasm scandisksScanning the system for Oracle ASMLib disks: OK rootrac1 # /etc/init.d/oracleasm listdisksASMDISK1ASMDISK2ASMDISK3至此,基本配置完成,接下来就是安装clusterware,强烈建议此处上传clusterware并关机做快照!clusterwrae安装先安装cvuqdisk软件包在节点以上,开启图形界面,解压并进到clusterware,执行runInstaller开始安装网格即插即用信息添加集群节点信息:添加rac2信息添加成功选择ASM磁盘(冗余选外部,候选磁盘可以选裸设备)安装过程中执行脚本,以root身份,按照顺序在rac1-rac2-rac1-rac2上执行这两个脚本oracle软件安装选择在两个节点安装oracle安装概要Oracle安装中软件安装完成数据库安装首先两个节点执行查看ASM磁盘看是否存在oraclerac1 bin$ oracleasm listdisksASMDISK1ASMDISK2ASMDISK3oraclerac2 bin$ oracleasm listdisksASMDISK1ASMDISK2ASMDISK3节点1 以oracle用户执行dbca创建asm实例:选择rac实例名填oracle 数据库节点都选上指定文件存储类型ASM安装中配置监听 选择集群配置此处监听配置省略测试节点1上登入数据库查看启动状态为open以scott用户连接,由于没有开启scott用户,两节点都会会提示没有该用户:SQL conn scott/tigerERROR:ORA-01017: invalid username/password; logon deniedWarning: You are no longer connected to ORACLE.用sys用户创建scott用户SQL conn / as sysdbaConnected.SQL create user scott identified by tiger;User created.SQL grant connect,resource to scott;Grant succeeded.SQL alter user scott account unlock;User altered.SQL commit;Commit complete.节点2测试 scott连接SQL conn scott/tigerConnected.可以连接了,节点1scott用户下创建表,节点2查看:节点1:SQL create table Hello(Hello_ID varchar(20);Table created.节点2:SQL desc Hello; Name Null? Type - - - HELLO_ID VARCHAR2(20)删除表测试Rac1上Rac2上课程小结本次课程设计虽然完成了,但是过程是艰辛的,遇见的问题也很多,但是让我学会了细心,安装服务需要很好的耐心,一步错步步错,只能在错误中总结经验,重新在做,也让我学会了查资料的习惯,遇到问题不是气馁,而是去网上或书上寻找解决办法,总之,此次课程设计受益匪浅,感受颇深。基于LINUX的ORACLE数据库管理课程设计参考: 毕 业 论 文论文题目学 院专 业年 级姓 名指导教师职 称(200 年 月)教务处制毕业设计说明书与毕业论文撰写的规范化要求一篇完整的毕业设计说明书或毕业论文有题目、摘要及关键词、目录、引言(前言)、正文、结论、谢辞、参考文献、附录等几部分构成。要求理工科专业不少于4000字,文科专业不少于6000字。一、毕业设计说明书撰写的主要内容与基本要求一份完整的毕业设计说明书应包括如下主要内容:1题目设计课题名称,要求简洁、确切、鲜明。2中外文摘要及关键词应扼要叙述本设计的主要内容、特点,文字要简练。中文摘要约300字左右;外文摘要约250个实词左右。关键词35个。3目录主要内容的目录。4前言应说明本设计的目的、意义、范围及应达到的技术要求;简述本课题在国内(外)的发展概况及存在的问题;本设计的指导思想;阐述本设计应解决的主要问题。 5正文(1)设计方案论证:应说明设计原理并进行方案选择。应说明为什么要选择这个方案(包括各种方案的分析、比较);还应阐述所采用方案的特点(如采用了何种新技术、新措施、提高了什么性能等)。(2)设计及计算部分:这是设计说明书的重要组成部分,应详细写明设计结果及计算结果。(3)样机或试件的各种实验及测试情况:包括实验方法、线路及数据处理等。(4)方案的校验:说明所设计的系统是否满足各项性能指标的要求,能否达到预期效果。校验的方法可以是理论分析(即反推算),包括系统分析;也可以是实验测试及计算机的上机运算等。6结论概括说明本设计的情况和价值 ,分析其优点、特色,有何创新,性能达到何水平,并指出其中存在的问题和今后的改进方向。7谢辞简述自己通过本设计的体会,并对指导老师和协助完成设计的有关人员表示谢意。8参考文献应列出主要参考文献。9附录将各种篇幅较大的图纸、数据表格、计算机程序等作为附录附于说明书之后。二、毕业论文撰写的主要内容与基本要求1题目题目应该简短、明确,要有概括性,让人看后能大致了解文章的确切内容、专业的特点和学科的范畴。题目的字数要适当,一般不宜超过20字。字体为2中外文摘要及关键词摘要也称内容提要,应当以浓缩的形式概括研究课题的主要内容、方法和观点,以及取得的主要成果和结论,应反映整个论文的精华。中文摘要约300字左右为宜,同时要求写出250个实词左右的外文摘要。关键词3-5个。摘要应写得扼要、准确,一般在毕业论文全文完成后再写摘要。在写作中要注意以下几点:(1)用精练、概括的语言表达,每项内容均不宜展开论证。(2)要客观陈述,不宜加主观评价。(3)成果和结论性意见是摘要的重点内容,在文字上用量较多,以加深读者的印象。(4)要独立成文,选词用语要避免与全文尤其是前言和结论雷同。(5)既要写得简短扼要,又要行文活泼,在词语润色、表达方法和章法结构上要尽可能写得有文采,以唤起读者对全文的阅读的兴趣。3目录(必要时)论文编写完成后,为了醒目和便于读者阅读,可为论文编写一个目录。目录可分章节,每一章节之后应编写页码。4前言前言是全篇论文的开场白,它包括:(1)选题的缘由。(2)对本课题已有研究情况的评述。(3)说明所要解决的问题和采用的手段、方法。(4)概括成果及意义。作为摘要和前言,虽然所定的内容大体相同,但仍有很大的区别。区别主要在于:摘要一般要写得高度概括、简略,前言则可以稍微具体些;摘要的某些内容,如结论意见,可以作为笼统的表达,而前言中所有的内容则必须明确表达;摘要不写选题的缘由,前言则明确反映;在文字量上前言一般多于摘要。5正文正文是作者对自己研究工作的详细表述。它占全文的较多篇幅。主要内容包括研究工作的基本前提、假设和条件;模型的建立,实验方案的拟定;基本概念和理论基础;设计计算的主要方法和内容;实验方法、内容及其结果和意义的阐明;理论论证,理论在实际中的应用等等。根据课题的性质,论文正文允许包括上述部分内容。正文的写作要求:(1)理论分析部分应写明所作的假设及其合理性,所用的分析方法、计算方法、实验方法等哪些是别人用过的,哪些是自己改进的,哪些是自己创造的,以便指导教师审查和纠正。这部分所占篇幅不宜过多,应以简练、明了的文字概
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物技术靶点发现与验证技术临床试验数据共享伦理问题报告
- 农业产业集群农产品加工技术升级与创新发展研究报告
- 2025年有机蔬菜基地共建与产品供应链管理合同
- 2025生物制药临床试验样本存储与数据分析合作协议
- 2025年低碳物流运输服务合作协议
- 2025年艺术玻璃幕墙研发、生产及全球销售合作协议
- 2025年金融行业网络安全技术服务外包合同
- 2025年智能应用用户量提升代理合作协议书模板
- 改进的感染控制政策能否快速影响医务人员的行为习惯
- 煤气考试题及答案
- 第五章 第三节 罪犯的义务
- XF-T 3004-2020 汽车加油加气站消防安全管理
- 湘艺版四年级下册音乐教案(全套)
- 2.2算法的概念及其描述课件人教中图版高中信息技术必修1
- 出货管理实施手册标准版
- 乡镇干部健康知识讲座
- 资料员之资料员基础知识题库及参考答案(考试直接用)
- 标准编制说明-《功能型无人车 自动驾驶功能场地试验方法及要求》
- 2000立方米液化石油气球罐设计
- 案例中国移动预算管理
- 提梁机设备培训课件
评论
0/150
提交评论