版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle 数据库基础数据库是我们安装完产品后建立的,可以在同一台主机上存在 8i,9i,10g,11g 等多个数据库产品, 一套产品可以建立多个数据库, 每个数据库是独立的。 每个数据库都有自己的全套相关文件, 有各自的控制文件、 数据文件、重做日志文件、参数文件、归档文件、口令文件等等。其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(tracefiles,alert files)属于数据库文件;参数文件(parameter file)口令文件(password file)是非数据库文件我们的表存储在数据库中数据库不能直接读取我们通过实例( instance)来访问数据库数据库实
2、例实例由内存和后台进程组成实例是访问数据库的方法初始化参数控制实例的行为一个实例只能连接一个数据库启动实例不需要数据库产品安装好有初始化参数文件就可以启动实例与是否存在数据库无关实例内存分为 SGA 和PGASGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle服务器的数据和控制信息, 它是在 Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的 SGA正相反 ,PGA 是只被一个进程使用的区域, PGA在创建进程时分配 , 在终止进程时回收 .后台进程是实
3、例和数据库的联系纽带分为核心进程和非核心进程当前后台进程的查看SQL> select name,description from v$bgprocess where paddr<>'00'NAME DESCRIPTION- -PMON process cleanup DIAG diagnosibility process PSP0 process spawner 0LMON global enqueue service monitorLMD0 global enqueue service daemon 0LMS0 global cache service pr
4、ocess 0LMS1 global cache service process 1MMAN Memory ManagerDBW0 db writer process 0ARC0 Archival Process 0ARC1 Archival Process 1NAME DESCRIPTION- -LGWR Redo etc. LCK0 Lock Process 0 CKPT checkpointSMON System Monitor Process RECO distributed recovery CJQ0 Job Queue Coordinator QMNC AQ Coordinator
5、MMON Manageability Monitor Process MMNL Manageability Monitor Process 220 rows selected.也可以在操作系统下查看oracledb-rac1 db01$ ps -ef|grep ora_oracle858810 07:53 ?00:00:00 ora_j001_gfdb1oracle108161004:58 ?00:00:08 ora_j000_gfdb1oracle1699810Apr18 ?00:00:00 ora_pmon_gfdb1oracle1701710Apr18 ?00:00:00 ora_dia
6、g_gfdb1oracle1703010Apr18 ?00:00:00 ora_psp0_gfdb1oracle1704210Apr18 ?00:00:00 ora_lmon_gfdb1oracle1705710Apr18 ?00:00:00 ora_lmd0_gfdb1oracle1706710Apr18 ?00:00:00 ora_lms0_gfdb1oracle1707710Apr18 ?00:00:00 ora_lms1_gfdb1oracle1708110Apr18 ?00:00:00 ora_mman_gfdb1oracle1708310Apr18 ?00:00:00 ora_db
7、w0_gfdb1oracle1708510Apr18 ?00:00:00 ora_lgwr_gfdb1oracle1708710Apr18 ?00:00:00 ora_ckpt_gfdb1oracle1708910Apr18 ?00:00:03 ora_smon_gfdb1oracle1709110Apr18 ?00:00:00 ora_reco_gfdb1oracle1709310Apr18 ?00:00:06 ora_cjq0_gfdb1oracle1709510Apr18 ?00:00:02 ora_mmon_gfdb1oracle1709710Apr18 ?00:00:00 ora_m
8、mnl_gfdb1oracle1709910Apr18 ?00:00:00 ora_d000_gfdb1oracle1710110Apr18 ?00:00:00 ora_s000_gfdb1oracle1714210Apr18 ?00:00:01 ora_lck0_gfdb1oracle1751775930 07:55 pts/2 00:00:00 grep ora_oracle2618210Apr18 ?00:00:00 ora_arc0_gfdb1oracle2618410Apr18 ?00:00:00 ora_arc1_gfdb1oracle2652310Apr18 ?00:00:00
9、ora_qmnc_gfdb1oracle2715610Apr18 ?00:00:00 ora_q000_gfdb1oracle2717210Apr18 ?00:00:00 ora_q001_gfdb1oracle293081005:53 ?00:00:00 ora_q002_gfdb1oracle3087810 07:42 ?00:00:00 ora_q004_gfdb1oracle3188210 07:26 ?00:00:00 ora_q003_gfdb1核心进程,必须存在,有一个终止,所有数据库进程全部终止非核心进程完成数据库的额外功能归档调度作业Database writer (DBWn
10、)数据库写进程将数据库的变化写入到文件最多 20个DBW0-DBW9DBWa-DBWj应该和 cpu 的个数对应由参数 DB_WRITER_PROCESSES描述因为 dbwr 是哪里来的数据写回到哪里,所以可以多个进程一起工作。Log writer (LGWR)日志写进程将日志缓冲写入到磁盘的日志文件只有一个 , 因为日志写是顺序写,所以一个就可以了,因为是顺序写所以也不能为多个。Checkpoint (CKPT) 检查点进程存盘点触发 dbwn,写脏数据块更新数据文件头,更新控制文件System monitor (SMON) 系统监测进程实例崩溃时进行自动恢复清除作废的排序临时段Proce
11、ss monitor (PMON) 进程监测进程清除死进程重新启动部分进程监听的自动注册我们连接到数据库其实是连接到实例这个过程叫建立一个会话实验 1:数据库的最高帐号sys 的操作系统认证模式该实验的目的是进入数据库的最高帐号sys. 掌握操作系统认证的两个条件.操作系统认证,因为数据库是在 OS上的软件能进入 ORACLE帐号 , 就可以进入到数据库的最高帐号。Conn / as sysdbaShow user无论数据库处于何种状态 ,sys 用户总可以进入到数据库因为 sys 是外部操作系统认证的操作系统认证的两条件。一、操作系统的用户要属于dba 组;二、和数据库间的连接是安全的。实验
12、 2:数据库的最高帐号 sys 的密码文件认证模式该实验的目的是使用密码文件的认证方式进入到最高sys 帐号 , 如何建立和维护密码文件 . 在远程 , 或者操作系统认证不可以使用的情况下, 请使用密码文件来认证 sys 用户在 unix 下密码文件路径 /oracle_home/dbs 密码文件名称 orapw+sidsid 为实例名称 , 查看实例名称select instance_name from v$instance;select 'orapw'|instance_name from v$instance;密码文件必须存在,即使你以操作系统认证,因为参数 remote
13、_login_passwordfile 默认的值是要使用密码文件的, 除非你将 remote_login_passwordfile的值改为 none, 这样就禁止了密码文件的使用, 你想进入到 sys 用户必须使用操作系统认证模式。 密码文件丢失必须重新建立Orapwd为 oracle 的命令,用于建立密码文件,命令的格式如下 Orapwd file= . Password= .密码文件中含有sys 用户的密码建立密码文件的步骤1. 确定实例的名称2. 确定密码文件的路径和名称3. 停止数据库 , 删除老的密码文件4. 在操作系统下运行orapwd file=/dbocfs/gfdb/orap
14、wgfdb1 password=manager1其中 gfdb1 为实例的名称, manager1为密码,是 sys 用户的密码5. 连接的 sysConn sys/maanger1 as sysdba显示为连接的空闲实例,因为数据库还没有启动。但这并没有证明你使用了密码文件.SQL> conn sys/addas as sysdbaConnected.SQL> conn asfdsf/adaf as sysdbaConnected.SQL> conn / as sysdbaConnected.SQL> conn sys/manager1 as sysoperConne
15、cted.SQL> conn sys/adsssd as sysoperERROR:ORA-01031: 权限不足原因很简单 , 因为操作系统认证的 优先级高 于密码文件 . 所以你只要写 as sysdba就可以进入 , 但 sysoper 不能使用操作系统来认证 , 它只能使用密码文件认证 , 上面的实验证明 manager1 是正确的密码 .6. 启动数据库 startup建立密码文件要重新启动数据库, 因为内存中保留有原来的密码.初始化参数 remote_login_passwordfile=none则数据库设置为禁止使用密码文件 , 只能使用操作系统认证登录到最高的老大用户 .
16、 即使你以密码认证连接到数据库 , 也不能启动和停止数据库 , 报权限不足 .实验 3:数据库的两种初始化参数文件该实验的目的是认识参数文件, 两类参数文件的相互转换. 如何修改参数 .初始化参数文件是描述实例的行为的文件, 文件大小很小 .初始化参数文件在unix 操作系统中存在于oracle_home/dbs 目录下 .纯文本参数文件 , 修改参数的时候直接编辑文件, 再保存就可以了 .Initsid.ora二进制参数文件 , 必须存在于服务器端 . 使用命令来修改 .spfilesid.oraserver parameter file纯文本参数文件和二进制参数文件的差别1。修改参数的方式
17、不同2。优先级不同3。是否动态存储修改的参数4。存在的位置不同纯文本可以存在于客户端二进制文件一定存在于server端5.rman 可以备份二进制参数文件, 不能备份纯文本参数文件.验证现在数据库使用的参数文件类型 , 我们一定要知道我们使用的是什么类型的参数文件 , 涉及到我们如何修改参数的手段 .select distinct ISSPECIFIED from v$spparameter;如果含有 true 就是使用二进制参数文件如果只有 false就是使用的纯文本参数文件SQL> select distinct isspecified from v$spparameter;ISSP
18、ECIFIED-TRUEFALSE因为上面的选择有 true, 所以这个数据库使用的是二进制参数文件 . 我们修改参数要使用命令而不是编辑文件 , 千万不要编辑二进制参数文件 , 你编辑以后会报ora-00600 的错误 .SQL> select isspecified ,count(*) from v$spparameter group by isspecified;ISSPECCOUNT(*)- -TRUE31FALSE232上面的查询表示有31 个参数存在于二进制参数文件,213 个参数为默认值 .两类参数文件的相互转换Create pfile from spfile;Create
19、 spfile from pfile;上面的命令在连接的 sys 就可以使用 , 而不必启动数据库 . 当我们转换不了的时候 , 请将数据库停止 , 再转换 , 再重新启动数据库 , 再验证 .参数文件的优先级Spfilesid.oraSpfile.oraInitsid.oraSQL> col value for a40SQL> select name,value from v$spparameter where isspecified ='TRUE'NAMEVALUE- -processes400sessions445sga_target1610612736con
20、trol_files/dbocfs/gfdb/control01.ctlcontrol_files/dbocfs/gfdb/control02.ctlcontrol_files/dbocfs/gfdb/control03.ctldb_block_size8192compatible10.2.0.3.0log_archive_dest_1LOCATION=/dbocfs/archivedb_file_multiblock_read_count16cluster_databasetrueNAMEVALUE- -cluster_database_instances2thread2thread1ins
21、tance_number1instance_number2undo_managementAUTOundo_tablespaceUNDOTBS2undo_tablespaceUNDOTBS1remote_login_passwordfileexclusivedb_domaindispatchers(PROTOCOL=TCP) (SERVICE=gfdbXDB)NAMEVALUE- -remote_listenerLISTENERS_GFDBjob_queue_processes10background_dump_dest/home/oracle/app/oracle/admin/gfdb/bdu
22、mpuser_dump_dest/home/oracle/app/oracle/admin/gfdb/udumpcore_dump_dest/home/oracle/app/oracle/admin/gfdb/cdumpaudit_file_dest/home/oracle/app/oracle/admin/gfdb/adumpdb_namegfdbopen_cursors300pga_aggregate_target95944704031 rows selected.我们修改参数有三个选项SQL> show parameter pga_aggregate_targetNAMETYPEV
23、ALUE- - -pga_aggregate_targetbig integer 915MSQL> alter system set pga_aggregate_target=950mscope=memory;只修改内存的值 , 不改变参数文件的设置 , 下回再次启动数据库时值还是老的 , 能修改的前提是该参数可以动态修改 , 如果是静态参数只能使用下面的方法 .System altered.SQL> alter system set pga_aggregate_target=950mscope=spfile;只修改二进制文件 , 而不修改内存 , 静态参数只能先改文件再重新启动数
24、据库.System altered.SQL> alter system set pga_aggregate_target=950mscope=both;同时修改二进制文件和内存, 该参数必须是可以动态修改的.System altered.SQL> alter system set pga_aggregate_target=950m;如果没有指明修改哪里 , 默认为参数文件和内存同时修改, 默认就是 both.System altered.我们可以从参数文件中删除一个参数 , 当然你也可以先转化为纯文本再转化为二进制参数文件 .alter system reset trace_ena
25、bled scope=spfile sid='*'select name,value from v$spparameter where ISSPECIFIED='TRUE' order by 1;验证一下 , 果然少了一行 , 下回启动后该参数就按默认值来处理.二进制参数文件在修改的时候有的时候会报错误 , 我们可以先该文本文件后再建立二进制参数文件 . 我估计是 bug, 我们原谅它了 , 但确实对我们的学习造成一定的困惑 . 如果你认为参数配置的没有问题 , 但就是不让修改 , 那就先改纯文本 , 再变为二进制 . 总的来说二进制的参数文件好于纯文本 , 你
26、到底选择哪种类型的参数文件都没有关系 .实验 4:启动数据库的三个台阶nomount,mount,open该实验的目的是细化启动数据库的三个步骤 , 彻底的明白还要等到学习完冷备份之后 .启动数据库到 nomount 状态的条件如下 . 有环境变量 .存在正确的密码文件和参数文件有足够的内存参数文件中描述的路径必须存在数据库产品软件安装正确conn sys/sys as sysdbaShutdown abort;Startupnomount;select instance_name,status from v$instance;启动数据库到第一个台阶nomount 状态做了如下的工作 .1.
27、读参数文件2. 分配内存3. 启动后台进程4. 初始化部分 v$视图将数据库带到 mount 状态select value from v$spparameter where name='control_files'Alter database mount;Mount 数据库的过程是读参数文件中描述的控制文件 , 校验控制文件的正确性 , 将控制文件的内容读入到内存 ,mount 是挂接的意思 , 是操作系统中的概念 . 一旦mount 之后 , 就是将一个没有意义的实例和一个数据库发生了联系 . 因为实例是空壳 . 没有任何数据库和该实例发生关系 , 我们可以理解为实例是水泵
28、, 放到哪个水塘里就会抽取哪里的数据 , 实例是通用的 .mount 的意思是将一个通用的水泵放入到指定的水塘 .mount 是读控制文件 , 控制文件中有数据文件和日志文件的信息 .select instance_name,status from v$instance;打开数据库Alter databaseopen;读控制文件中描述的数据文件验证数据文件的一致性 , 如果不一致 , 使用日志文件将数据库文件恢复到一致的状态 .数据库 open 后, 普通用户才可以访问数据库用户的表才为可见只读方式open 数据库Alter database open read only;select OPE
29、N_MODE from v$database;默认的 open 方式为 read write想改 read only为 read write必须重新启动数据库我们现在回想一下数据库启动的三个台阶 , 我们先读的是参数文件 , 参数文件可以有我们来编写 . 读完参数文件后又读了控制文件 , 控制文件描述了数据文件和日志文件的信息 , 如果控制文件丢失可以重新建立 , 最后是读数据文件 . 数据文件里才存放了我们的数据 . 数据库将启动分为三个台阶 , 目的是我们可以准确的知道哪里有问题 , 迅速的排除 . 有点象老鼠拖木钎 , 大头在后面 . 由最开始的一个 1k的参数文件 , 最后到几个 t
30、的大型数据库 . 当我们只打 startup而不加任何参数的时候 . 默认是到 open, 等于 startup open;SQL> startupORACLE instance started.Total System Global Area 167772160 bytesFixed Size1247900 bytesVariable Size75498852 bytesDatabase Buffers88080384 bytesRedo Buffers2945024 bytesDatabase mounted.Database opened.我们从屏幕显示的结果可以清楚的看出, 有三
31、个台阶 .还有一个命令是startup force强制启动数据库 , 等于强制停止数据库再启动数据库 .实验 5:停止数据库的四种模式该实验的目的是区分不同的停止数据库的方式.四种停止数据库的方式各不相同 , 用于不同的情况 , 一般我们采用 shutdown immediate 方式停止数据库 , 下面是每种停止数据库方式的差别 .Shutdown NORMALShutdown TRANSACTIONALShutdown IMMEDIATEShutdown abortShutdown NORMAL新的会话不接受等待非活动的会话结束等待事务结束产生检查点停止数据库Shutdown TRANSA
32、CTIONAL新的会话不接受不等待非活动的会话结束等待事务结束产生检查点停止数据库Shutdown immediate新的会话不接受不等待非活动的会话结束不等事务物结束产生检查点停止数据库Shutdown abort新的会话不接受不等待非活动的会话结束不等待事务结束不产生检查点停止数据库一致性 shutdown, 产生检测点Shutdown NORMALShutdown TRANSACTIONALShutdown IMMEDIATE数据库再次启动的时候不要恢复不一致性 shutdown, 不产生检测点Shutdown abortStartup forceInstance崩溃(停电)数据库再次启
33、动的时候需要恢复,自动的,透明的。实验 6:查找你想要的数据字典该实验的目的是了解什么是数据字典 , 字典的来源和如何查找到我们关心的数据字典 .数据字典是 oracle的核心分为两大类存在于 system 表空间$结尾的基本表Dba_.,all_.,user_ 视图存在于内存中X$. 的虚表V$ 的动态性能视图数据字典是哪里来的呢 ?是我们建立数据库的时候运行脚本建立的.%oracle_home%rdbmsadmincatalog.sql;脚本当中含有建立数据字典的语句.而 v$的字典是数据库在启动实例的时候初始化的.数据字典的使用数据库自己使用字典获取信息数据库自动维护我们查看字典来获得数
34、据库的有关信息基本表 , 是字典得基本表 , 在建立 system 表空间的时候建立的 .select table_name,owner from dba_tables where table_name like '%$' and owner='SYS'视图 , 是在建立数据库以后运行catalog.sql;脚本建立的 .查看哪些字典中含有TABLE关键字 , 一定要大写 .select table_name from dict where table_name like '%TABLE%'查看哪些字典中含有VIEW关键字 , 一定要大写 .se
35、lect table_name from dict where table_name like '%VIEW%' 查看哪些字典中的一列含有 FILE#这一列 , 一定要大写 .select table_name from dict_COLUMNS WHERE COLUMN_NAME='FILE#'查看所有的 x$和 v$的表的信息SELECT * FROM V$FIXED_TABLE;三大类视图 ,*代表可以替换为某个单词.Dba_*All_*User_*我们拿 tables说明上面得含义 .其中 user_tables 是查看当前用户所拥有的表 . all_t
36、ables 是查看当前用户可以访问的表 . dba_tables 是查看当前整个数据库拥有的表 , 但是你得有权限 , 如果没有权限会报没有这个表 .控制文件控制文件是二进制文件(不会超过100m,一般是几 m大小)控制文件记录了数据库的结构和行为在 mount 时候读在数据库 open 时一直使用丢失需要恢复相关字典SQL> Select * from v$controlfile;STATUS NAMEIS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - -/dbocfs/gfdb/control01.ctlNO16384932/dbocfs/gfdb/contro
37、l02.ctlNO16384932/dbocfs/gfdb/control03.ctlNO16384932select CONTROLFILE_SEQUENCE# from v$database;select TYPE,RECORD_SIZE,RECORDS_TOTAL,RECORDS_USED from V$CONTROLFILE_RECORD_SECTION;select value from V$spparameter where name='control_files' 控制文件的位置在参数文件中描述control_files=file1, file2多个控制文件是镜像
38、的关系最多八个 , 最少一个实验 7:减少控制文件的个数该实验的目的是初步认识如何修改参数文件, 如何减少控制文件 .减少控制文件, 实验的目的, 有一个控制文件损坏, 我们要将损坏的控制文件剔除。1. 修改参数文件,并验证2. 停止数据库3. 启动数据库4. 验证 , 查看 v$controlfileSQL> select * from v$controlfile;验证现在内存中的控制文件个数STATUS NAMEIS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - -/dbocfs/gfdb/control01.ctlNO16384932/dbocfs/gfdb/
39、control02.ctlNO16384932/dbocfs/gfdb/control03.ctlNO16384932SQL> altersystem set control_files='/dbocfs/gfdb/control01.ctl','/dbocfs/gfdb/control02.ctl'scope=spfile;System altered.验证参数文件已经被修改SQL> select value from v$spparameter where name='control_files'VALUE-/dbocfs/gfd
40、b/control01.ctl/dbocfs/gfdb/control02.ctl验证内存中的值没有被修改, 因为 control_files是静态参数,想要改变必须重新启动数据库。SQL> select * from v$controlfile;STATUS NAMEIS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - -/dbocfs/gfdb/control01.ctlNO16384932/dbocfs/gfdb/control02.ctlNO16384932/dbocfs/gfdb/control03.ctlNO16384932SQL> startup
41、forceORACLE instance started.Total System Global Area 1610612736 bytesFixed Size1262044 bytesVariable Size687869476 bytesDatabase Buffers905969664 bytesRedo Buffers15511552 bytesDatabase mounted.Database opened.SQL> select * from v$controlfile;验证内存被修改了VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/
42、control02.ctlSQL> select value from v$spparameter where name='control_files'验证参数文件中的值和内存中的值相同VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/control02.ctl如果你在启动的时候看到 ora-00205 错误,说明你修改的参数不正确, 可能是路径写的不对或者在路径前面多写了空格, 请重新修改为正确的值再重新启动数据库。实验 8:增加控制文件的个数实验的目的是增加控制文件的个数, 1 到 8 个,保护控制文件。认识控制文件的一致性 .
43、 什么是控制文件的版本 . 控制文件的结构 .增加控制文件1. 修改参数文件2. 停止数据库3. 复制控制文件4. 启动数据库5. 验证 , 查看 v$controlfile修改二进制的初始化参数文件中的control_files选项SQL> altersystem set control_files='/dbocfs/gfdb/control01.ctl','/dbocfs/gfdb/control02.ctl','/dbocfs/gfdb/control03.ctl' scope=spfile;System altered.SQL>
44、; select value from v$spparameter where name='control_files'验证参数文件已经被修改VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/control02.ctl/dbocfs/gfdb/control03.ctlSQL> select * from v$controlfile;验证现在内存中的控制文件个数STATUS NAMEIS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - -/dbocfs/gfdb/control01.ctlNO16384932/d
45、bocfs/gfdb/control02.ctlNO16384932重新启动数据库,使修改的参数起作用SQL> startup force;ORACLE instance started.Total System Global Area 1610612736 bytesFixed Size1262044 bytesVariable Size687869476 bytesDatabase Buffers905969664 bytesRedo Buffers15511552 bytesORA-00214:controlfile'/dbocfs/gfdb/control01.ctl
46、39;version9178inconsistentwithfile'/dbocfs/gfdb/control03.ctl' version 9164因为 CONTROL03.CTL刚才脱离了数据库,没有参加修改, CONTROL01.CTL和CONTROL02.CTL已经变化了,二 CONTROL03.CTL没有变化,所以时间戳不正确了。SQL> host cp /dbocfs/gfdb/control01.ctl /dbocfs/gfdb/control03.ctl使用操作系统的命令将老的控制文件覆盖SQL> alter database open;alter database open*ERROR at line 1:ORA-01507: database not mounted因为我们处于数据库的 nomount 状态,想要 open 不能跨越 mount 台阶,所以必须先 mount 数据库。SQL> alter database mount;启动到 mount 状态Database altered.SQL> alter database open;启动到 open 状态Database altered.SQL> select value from v$spparameter where name=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习专题5间接测量类实验课件
- 电机与电气控制实训课程教案
- Photoshop创意合成实例教案
- 《鲤鱼风筝》教案
- 中小学教务管理聘用协议书
- 幼儿园体弱儿关怀计划
- 教育培训中心箱涵施工合同
- 临时销售电脑租赁合同范本
- 超市卖场租赁续约协议
- 矿产资源勘查单位聘用合同模板
- 《预防为主生命至上》119消防安全日主题班会课件
- 《输卵管绝育术》课件
- 城管行政执法培训讲义
- 智慧城市数字孪生解决方案
- 建信融通数字证书使用承诺函范本
- 胺碘酮在急诊合理应用
- 离港系统技术培训
- 跨境电商交际英语(修订版) 课件 UNIT-2-Asking-about-Products
- 非暴力沟通(完整版)
- 天翼云认证开发工程师必备考试复习题库(高分版)-下(多选、判断题)
- 系统谐振及过电压
评论
0/150
提交评论