资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master,版权所有:,UT,斯达康(中国)有限公司,Oracle,的基础知识,项目管理及技术支持部,No,:,001,课程目标,了解数据库的定义,掌握,Oracle,的内部结构,掌握,Oracle,的常用管理命令,学习,Oracle,的常用工具,课程内容(,1,),数据库的定义与简介,数据库的定义,数据库的分类,Oracle,的内部结构,进程结构,文件结构,Oracle,的常用命令,启动,停止,监控,课程内容(,2,),Oracle,表空间的管理,监控表空间的增长,增加表空间,改变表空间的大小,删除表空间,Oracle,网络配置方法,Listener,的配置方法,连接字符串的配置方法,Oracle,常用工具的介绍,sqlplus,Imp/exp,Enterprise Management,Oracle,的日常检查,数据库的定义与简介,项目管理及技术支持部,数据库管理系统的定义,是软件,位于用户与操作系统之间,使用户能够方便的定义和操纵数据,能够保证数据的安全性、完整性、一致性,数据库管理系统的分类,关系型数据库,基于二维表,Oracle,、,DB2,、,Informix,、,Sybase,等等,现在的主流数据库,网格型数据库,层次型数据库,数据库的内部结构,项目管理及技术支持部,数据库文件,实例,系统共享区,重做日志块,缓存,数据块缓存,PMON,DBW0,SMON,LGWR,CKPT,Others,用户进程,Oracle,系统,进程,PGA,控制文件,数据文件,日志文件,归档日志,参数文件,密码文件,内存和,程序,数,据,库,文,件,共享池,数据字典缓存,共享库缓存,Oracle,的体系结构,控制文件,数据文件,日志文件,核心数据库文件,Oracle,的数据文件,其它与数,据,库相关的文件,核心数据库文件,密码文件,参数文件,归档日志,Oracle,实例,后台进程,内存结构,实例,系统共享区,重做日志缓存,数据块缓存,共享池,PMON,DBW0,SMON,LGWR,CKPT,Others,Oracle,实例由下面几部分构成,:,内存结构,后台进程,在,Unix,环境下由环境变量,ORACLE_SID,表示,Oracle,系统进程,必需的,oracle,进程,:,数据库文件写,(DBW0),日志文件写,(LGWR),进程监控,(PMON),系统监控,(SMON),检察点,(CKPT),可选的,oracle,进程,:,归档,(ARC0),锁,(Lock0),恢复,(REC0),等等,数据文件写,(DBW0),数据库,控制文件,数据文件,重做日志,实例,系统共享区,重做日志缓存,数据块缓存,共享池,DBW0,触发,情况:,db_block_max_dirty_target,找不到空闲块,每,3,秒,checkpoint,写日志进程,(LGWR),实例,数据库,LGWR,系统共享区,重做日志缓存,数据块缓存,共享池,控制文件,数据文件,重做日志,触发,:,Commit,使用超过,1/3,更改超过,1M,在,DBWX,开始些之前,系统监控进程,(SMON,),实例级恢复,根据重做日志进行数据文件的前滚操作,打开数据库,进行日常的数据库操作,回滚没有递交的数据库事务,连接空闲的数据库块,临时段的回收,进程监控,(PMON),当连接数据库的,客户端进程异常终止时,:,回滚没有递交的事务,释放锁,释放其,它的,oracle资源,归档,数据库有两种工作模式,非归档模式,(NOARCHIVELOG),不进行日志文件的归档处理,数据库破坏后不能进行任一时间点的恢复。,归档模式,(ARCHIVELOG),进行日志文件的归档处理,数据库破坏后能恢复到任一时间点。,归档进程,(ARC0),自动进行重做日志的归档处理,保留数据库所有,“,变化,”,的历史,工作模式通过视图,v$database,Log_mode,动态视图,Oracle,数据库自动维护,自动更新,描述数据库内存等内部的相关信息,包含重要的数据库运行信息,所有的动态视图都以,v$,带头,数据库管理员用户,两个缺省数据库管理员SYSTEM和SYS用户:,数据库安装时自动创建,赋予了DBA权限,SYS,和,SYSTEM,用户,SYS,数据字典的拥有者,SYSTEM,Oracle,其它工具相关的内部表和视图的拥有者,初始化参数的作用,定义系统全局区域,(SGA),的大小,定义数据库的缺省属性,设置数据库的,并发连接数,设置数据库资源的限制,定义数据库的各种物理属性,如数据库块的大小,设置控制文件、归档日志、数据库告警日志文件的位置,初始化文件的例子(成都),db_name=,“,orcl,“,#,数据库名字,数据库创建后不能改变,control_files=(,“,/ora_vol/oradata/orcl/control01.ctl,”,)#,控制文件的位置,db_block_buffers=134640#,定义数据缓冲区的大小,单位,oracle,数据块,shared_pool_size=800924090#,定义共享池的大小,log_buffer=8192000#,定义日志缓冲区的大小,log_checkpoint_interval=10000000#,定义,checkpoint,频率,log_checkpoint_timeout=1800#,定义,checkpoint,频率,processes=200#,定义并发连接数,log_archive_start=true#,设置自动归档,log_archive_dest_1=,“,location=/,arc_vol/orcl,”,#,定义归档目录,log_archive_max_processes=10#,定义归档进程数,rollback_segments=(RBS0,RBS1,RBS2,RBS3,RBS4,RBS5,)#,定义回滚段,初始化文件的两种类型,文本文件,$ORACLE_HOME/,dbs,/init.,ora,$ORACLE_BASE/admin/,pfile,/init.,ora,二进制文件,$ORACLE_HOME/,dbs/spfile,.,ora,启动缺省用二进制文件,指定初始化参数文件,SQL CONNECT/AS SYSDBA,SQL STARTUP PFILE=/DISK1/initU15.ora,initU15.ora,实例,系统共享区,重做日志缓存,数据块缓存,共享池,数据字典缓存,共享库缓存,PMON,DBWR,SMON,LGWR,CKPT,ARCH,可以动态调整的初始化参数,ALTER SESSION SET SQL_TRACE=true SCOPE=MEMORY;,ALTER SYSTEM SET TIMED_STATISTICS=true SCOPE=SPFILE;,ALTER SYSTEM SET SORT_AREA_SIZE=131072 DEFERRED SCOPE=BOTH;,有些参数可以动态调整,显示当前的初始化参数,用下面的命令,:,或者,SHOW PARAMETER control,SELECT name,value FROM v$parameter,WHERE name LIKE%control%;,数据库的常用管理命令,项目管理及技术支持部,控制文件所描述,的所有文件打开,数据库启动,/,停止的步骤,OPEN,MOUNT,NOMOUNT,SHUTDOWN,读取控制文件,进程、内存结构的建立,STARTUP,SHUTDOWN,Nomount,方式启动数据库,STARTUP,nomount,;,改变数据库的状态,将数据库状态从,NOMOUNT,改变到,MOUNT:,将数据库状态从,MOUNT,改变到,OPEN:,ALTER DATABASE MOUNT;,ALTER DATABASE OPEN;,关闭数据库时的选项,A,x,x,x,x,T,x,x,o,o,I,x,x,x,o,Shutdown,模式,允许新的连接,等待现有的连接结束,等待当前的事务结束,强制,checkpoint,,,关闭数据所有的文件,N,x,o,o,o,Shutdown,选项,:,A AbortI Immediate,T TransactionalN Normal,YES,NO,x,o,ALERT,文件和,Trace,文件,Oracle,将后台进程的错误信息写入,trace,文件。,ALERT,文件包含了数据库所有的历史信息。,缺省路径为,$ORACLE_BASE/admin/,bdump,/alert_.log,用户连接的,oracle,服务进程可以指定将,trace,信息写入,trace,文件,:,用,“,ALTER SESSION,”,命令,初始化文件中指定,SQL_TRACE=TRUE,ALERT,文件和,Trace,文件的位置,实例,系统共享区,共享池,USER_DUMP_DEST,BACKGROUND_DUMP_DEST,ALERT,文件,Trace,文件,Trace,文件,用户进程,服务器进程,定期检查,ALERT,文件,ORA-XXX,not complete,Errors,Failed,查看详细的,oracle,出错信息,$,oerr,ora,XXXXX,Example:,oerr,ora,00600,ORA-00600 internal error code,arguments:,string,string,string,string,Cause:,This is the generic internal error number for Oracle program exceptions.It indicates that a process has encountered a low-level,unexpected condition.,表空间的管理,项目管理及技术支持部,表空间的作用,Oracle,内的数据存储在表内,表存储在表空间内,以表空间的形式来存储管理数据库空间,系统表空间和非系统表空间,系统表空间:,在数据库创建时创建,包含数据字典,包含系统回滚段,非系统表空间:,包含其它数据段、索引段等等,更加利于存储空间的管理,更加利于用户的空间管理,创建表空间,CREATE TABLESPACE app_data,DATAFILE/DISK4/app_data_01.dbf,SIZE 100M,/DISK5/app data_ 02.dbf,SIZE 100M,MINIMUM EXTENT 500K,DEFAULT STORAGE(INITIAL 500K,NEXT500K,MAXEXTENTS500,PCTINCREASE0);,表空间管理的分类,(1),数据字典方式,(dictionary management),缺省方式,数据字典记录表空间中的扩展,数据字典记录表空间中的自由区域,随着扩展的变化自动更新相应的数据字典,Oracle 8.0,以前的唯一管理方式,表空间管理的分类,(2),非数据字典方式,(local management),表空间中的扩展位置记录在每个数据文件头部的位图中,表空间中的空闲区域也记录在每个数据文件头部的位图中,随着扩展的变化自动更新数据文件头不得位图区域,可以减少数据字典的竞争,创建,Local Management,表空间,减少,递,归空间管理,减少数据字典的争用,不产生回退信息,无须合并,CREATE TABLESPACE user_data,DATAFILE/DISK2/user_data_01.dbf,SIZE 500M,EXTENT MANAGEMENT LOCAL,UNIFORM SIZE 10M;,创建临时(,Temporary,),表空间,用于排序操作,无法包含任何永久对象,建议使用表空间本地管理方式,UNIFORM SIZE=SORT_AREA_SIZE*n,CREATE TEMPORARY TABLESPACE temp,TEMPFILE/DISK2/temp_01.dbf,SIZE 500M,EXTENT MANAGEMENT LOCAL,UNIFORM SIZE 10M;,使表空间,online/offline,脱机表空间无法用于数据访问,某些表空间必须联机,:,SYSTEM,具有活动回滚段的表空间,使表空间,offline,使表空间,online,ALTER TABLESPACE app_data OFFLINE;,ALTER TABLESPACE app_data ONLINE;,删除表空间,DROP TABLESPACE app_data INCLUDING CONTENTS CASCADE CONSTRAINT;,从数据字典中删除表空间,从数据字典中删除在此表空间内的,object(,可选,),从数据字典中删除与表空间内的,object,相关联的其它表空间中的内容,如一致性约束等,(,可选,),不会删除相应操作系统文件,监控表空间的使用率,超过,90%,,则需要扩展表空间,select,A.tablespace_name,(1-(A.total)/B.total)*100 used_percent,from,(select,tablespace_name,sum(bytes,)total,from,dba_free_space,group by,tablespace_name,)A,(select,tablespace_name,sum(bytes,)total,from,dba_data_files,group by,tablespace_name,)B,where,A.tablespace_name,=,B.tablespace_name,;,调整表空间的大小,更改数据文件的大小,:,自动,手动,添加数据文件,Tablespace,APP_DATA,100M,app_data_02.dbf100M,app_data_01.dbf100M,app_data_03.dbf 200M,自动扩展表空间数据文件,ALTER TABLESPACE app_data,ADDDATAFILE/DISK6/app_data_04.dbf,SIZE 200M,AUTOEXTEND ON,NEXT 10M,MAXSIZE 500M;,Tablespace,APP_DATA,app_data_02.dbf100M,app_data_01.dbf100M,app_data_04.dbf 200M,app_data_03.dbf200M,ALTER DATABASE,DATAFILE/DISK5/app_data_02.dbf,RESIZE 200M;,Tablespace,APP_DATA,100M,app_data_02.dbf100M,app_data_01.dbf100M,app_data_04.dbf 200M,app_data_03.dbf200M,手动调整数据文件的大小,向表空间添加数据文件,ALTER TABLESPACE app_data,ADDDATAFILE/DISK5/app_data_03.dbf,SIZE 200M;,Tablespace,APP_DATA,app_data_02.dbf100M,app_data_01.dbf100M,app_data_03.dbf 200M,获,取,表空间信息,表空间信息,:,DBA_TABLESPACES,V$TABLESPACE,数据文件信息,:,DBA_DATA_FILES,V$DATAFILE,临时文件信息,:,DBA_TEMP_FILES,V$TEMPFILE,表空间的创建原则,使用多个表空间,为表空间指定缺省参数,为用户分配空间限额,数据文件中包含全路径名,为表空间指定,MINIMUM EXTENTS,参数,使用,locally managed,的表空间,每个表空间最多,1023,个文件,Oracle,的网络配置,项目管理及技术支持部,Oracle,的连接方式,Network,Client,Server,Oracle,的网络结构,listener.ora,Listener,Client,Server,tnsnames.ora,sqlnet.ora,Oracle,服务端的配置,listener.ora,Listener,Server,Listener.ora,Listener,的名字,Listener,监听端口,1521,网络协议,TCP/IP IPC,数据库实例名,ORCL,监听的主机名字,ipasdb,Listener.ora,的例子,1.LISTENER=,2.(ADDRESS_LIST=,3.(ADDRESS=(PROTOCOL=TCP)(Host=stc-sun02)(Port=1521),),4.SID_LIST_LISTENER=,5.(SID_LIST=,6.(SID_DESC=,7.(ORACLE_HOME=/home/oracle),(GLOBAL_DBNAME=ORCL),9.(SID_NAME=ORCL),),10.sample additional SID description.,),创建,Listener,配置,Services,Listener,的日志文件,Listener,的管理工具,Listener,的管理工具,lsnrctl,启动,listener:,lsnrctl,start,停止,listener:,lsnrctl,stop,检查,listener:,lsnrctl,status,Oracle,客户端的配置,Client,tnsnames.ora,sqlnet.ora,Sqlnet.ora,#SQLNET.ORA Network Configuration File:/u03/ora9i/rel12/network/admin/sqlnet.ora,#Generated by Oracle configuration tools.,#NAMES.DEFAULT_DOMAIN=,NAMES.DIRECTORY_PATH=(TNSNAMES),SQLNET.EXPIRE_TIME=0,Tnsnames.ora,#TNSNAMES.ORA Network Configuration File:/u03/ora9i/rel12/network/admin/tnsnames.ora,#Generated by Oracle configuration tools.,ORCL=,(DESCRIPTION=,(ADDRESS_LIST=,(ADDRESS=(PROTOCOL=TCP)(HOST=,ipasdb)(PORT,=1521),),(CONNECT_DATA=,(SERVICE_NAME=ORCL),),),配置客户端,(,netca,),选择命名方式,配置,tnsnames.ora,在,tnsnames.ora,中增加一项,确定服务器端,oracle,版本号,确定连接的数据库名字,确定工作网络协议,确定服务器的监听地址和端口,测试连接,测试连接,命名连接字符串,存盘连接字符串,工具,tnsping,用来检测连接字符串的,tnsping,ipasdb,Oracle,的常用工具,项目管理及技术支持部,Sqlplus,简介,用来操纵数据库内的数据,增加,删除,修改,支持标准的,SQL,语句,Sqlplus,的使用方法,Sqlplus,username/,passwordservice_name,例如:,Sqlplus,wacos/ossipasdb,Sqlplus,/,nolog,常用,sql,语句,查询语句,select,增加语句,insert,删除语句,delete,更新语句,update,数据转移的方法,SQL*Loader,其它应用程序,Oracledatabase,Oracledatabase,Export,Import,Direct-load insert,倒出倒入工具,Oracle,数据,文件,操作系统文件,Export,Import,导出和导入的用途,重新编排表,将,某,用户所拥有的数据移至另一用户,在两个数据库之间移动数据,:,从开发到生产,环境,从,OLTP,系统到数据仓库,将数据库移植到另外的,:,操作系统平台,Oracle,数据库,的不同版本,开发或升级期间,的备份,执行逻辑备份,导出模式,表,用户,数据库,表,索引,触发器,约束,授予,分析方法,用户拥有的所有对象,(,表上其它用户拥有的索引和触发器除外,),数据库中的所有对象,(,SYS,拥有的对象除外,),使用导出,$exp,scott,/tiger tables=(,dept,emp,)file=,emp.dmp,log=exp.log compress=n direct=y,exp.log,emp.dmp,Export,DEPT,和,EMP,表,使用导入,Import,emp.dmp,$imp,scott,/tiger tables=(,dept,emp,)file=,emp.dmp,log=imp.log ignore=y,imp.log,数据库,导入的原则(,1,),导入顺序,:,表定义,-,数据,-B*,树索引,-,约束,触发器,位图索引,对象使用的表空间,:,源数据库中的相同表空间,(,如果有,),用户的缺省表空间,导出和导入原则(,2,),使用参数文件指定常用命令行选项,仅在导出少量数据时使用,CONSISTENT=Y,如果存在许多已删除的行,请勿使用,COMPRESS=Y,通过以下操作提高性能,:,分配大容量缓冲区,若使用,7.3,或更高版本,则使用直接倒入,/,出模式,其它工具,Oracle enterprise,management,Toad,Oracle,的日常维护,项目管理及技术支持部,日常维护,参见,ORACLE,数据库日常维护指导,UTS.610G04.B0,小结,了解数据库的定义,掌握,Oracle,的内部结构,掌握,Oracle,的常用管理命令,掌握,Oracle,表空间的管理方法,掌握,Oracle,网络配置的方法,学习,Oracle,的常用工具,致谢,谢谢大家!,UT,斯达康(中国)有限公司,杨健,(Jim Yang),电话,:0571-81923695,E-mail:,jianyang,
展开阅读全文