oracle数据库基础培训_第1页
oracle数据库基础培训_第2页
oracle数据库基础培训_第3页
oracle数据库基础培训_第4页
oracle数据库基础培训_第5页
已阅读5页,还剩176页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle数据库维护培训胶片,集成产品部,Oracle 体系结构,目 标,通过这部分课程的学习,您将了解以下内容: 描述 Oracle 服务器的体系结构及其主要构件 列举用户连接到 Oracle 实例所涉及的结构 双机模式:RAC/HOT STANDBY,主要组件一览,实例,系统全局区,重做日志 缓冲区,共享池,数据字典 缓冲区,库缓冲区,DBWR,SMON,PMON,CKPT,LGWR,Others,用户端进程,服务器进程,程序全局区,控制文件,数据文件,归档日志文件,参数文件,密码文件,重做日志文件,数据库,数据块高速 缓冲区,Oracle服务器,一个Oracle服务器: 是一个提供开放

2、式的、全面的、综合性信息管理服务的数据库管理系统 由一个Oracle数据库和一个Oracle实例组成,Oracle 服务器,Oracle实例,一个Oracle 实例: 是一种访问 Oracle 数据库的基本方式 总是打开一个且只打开一个数据库 由内存结构和进程结构组成,后台进程,内存结构,SGA,Redo log buffer cache,Database buffer cache,Shared pool,DBWR,SMON,PMON,CKPT,LGWR,Others,Data Dict. cache,Library cache,实例,创建连接和会话,Oracle 数据库,Oracle数据库

3、: 是作为一个单元对待的数据的集合体 由三种文件类型组成,控制文件,数据文件,归档日志文件,参数文件,密码文件,重做日志文件,Oracle 数据库,物理结构,Oracle数据库的物理存储是由实际的操作系统文件决定 控制文件 数据文件 重做日志文件,内存结构,Oracle的内存结构由以下两个内存区域构成: 系统全局区(SGA): 在实例启动的时候分配,是Oracle实例中的一个基本成分 程序全局区(PGA): 服务器进程启动时分配,系统全局区,系统全局区(SGA)由几部分内存区域组成: 共享池 数据块高速缓冲区 重做日志缓冲区 有两个可选择的内存结构能配置在系统全局区内: 大型池 JAVA池,系

4、统全局区,系统全局区分配大小上限由SGA_MAX_SIZE参数决定. 系统全局区分配原则依赖其中的组件: 分配邻近的虚拟内存 大小基于SGA_MAX_SIZE,共享存储区,用来存储最近最多执行的SQL语句和最近最多使用的数据定义. 它由两个主要的内存存结构组成: 库缓冲区 数据字典缓冲区 大小由参数SHARED_POOL_SIZE决定.,ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;,库缓存区,库缓冲区存储最近使用的SQL和PL/SQL语句信息: 它能够使普遍使用的语句能够共享 通过LRU算法进行管理 由两种结构组成: 共享SQL 区域 共享 PL/SQL 区

5、域 其中各自的大小由共享池内部指定,数据字典缓冲区,数据字典缓冲区是数据库里最经常使用的对象定义的集合. 它包括数据文件名、表、索引、列、用户权限和其它数据库对象等信息. 在解析期间,服务器进程会查找数据字典获取允许接入的关联对象信息. 缓存数据字典信息在内存区能提高查询数据的响应时间. 它的大小由共享池的大小决定.,数据块高速缓冲区,数据块高速缓冲区储存以前从数据文件中取出过的数据块的拷贝信息. 当你得到或修改数据时,它能使性能得到提高. 它通过LRU算法进行管理. 由DB_BLOCK_SIZE决定大小.,Database buffer cache,数据块高速缓冲区,由独立的子缓存组成: D

6、B_CACHE_SIZE DB_KEEP_CACHE_SIZE DB_RECYCLE_CACHE_SIZE 数据库缓冲区可以动态的改变尺寸. DB_CACHE_ADVICE 可以设置以收集统计信息用来预测不同的缓冲大小,ALTER SYSTEM SET DB_CACHE_SIZE = 96M;,重做日志缓冲区,重做日志缓冲区记录数据块的所有变化. 首要目的是恢复. 记录的信息可用来重做改变. 尺寸大小由LOG_BUFFER定义.,Redo log buffer cache,大型池,大型池是在SGA内一种可选择的存贮区域,只配置在共享服务器环境中. 能减轻在共享池的负担. 用在UGA、备份和恢复

7、等操作中. 不使用 LRU 列表算法. 大小由 LARGE_POOL_SIZE决定.,ALTER SYSTEM SET LARGE_POOL_SIZE = 64M;,Java 区,Java 区是为了解开Java命令: 如果安装并使用 Java 是必需的. 在数据库表格中,它存贮的方式非常像PL/SQL . 它的尺寸由JAVA_POOL_SIZE 参数决定.,User process,程序全局区,PGA是为每个用户进程连接Oracle数据库分配的区域,Stack space,Session information sort area, cursor information,SGA,Shared

8、SQL areas,SGA,PGA Dedicated server Shared server,Server process,Shared SQL areas,Stack space,sort area, cursor information,进程结构,Oracle进程是一种程序,依赖它要求信息的类型,执行一系列的步骤或者实施一项具体的任务. 用户进程 : 当数据库用户要求连接到 Oracle 服务器时开始启动. 服务器进程 : 连接 Oracle 实例,当用户建立一个会话时开始启动. 后台进程 : Oracle 实例启动即可用.,用户进程,用户进程是要求 Oracle 服务器交互的一种进程

9、: 它必须首先建立一个连接. 不直接和 Oracle 服务器交互.,Database user,Server process,User process,Connection established,服务进程,服务进程是直接和 Oracle 服务器交互的一段程序. 它响应用户要求,向服务器发起呼叫并返回结果给用户. 可用专用服务器模式,也可用共享服务器模式创建对话.,后台进程,保持物理和内存结构的关系. 必须的后台进程 DBWn PMON CKPT LGWR SMON RECO 可选择的后台进程 ARCn LMON Snnn QMNn LMDn CJQ0 Pnnn LCKn Dnnn,数据库复写

10、器,DBWn 开始写: 检查点执行 脏块上限数到达 缓存区没有自由空间 超时 连接RAC要求 表空间脱机 表空间只读 清空和删除表 表空间开始备份,Database,Instance,SGA,DBWn,Redo log buffer,日志复写器,LGWR 开始写: 提交时 三分之一缓冲区满的时候 当有1MB日志的时候 每三秒 在DBWn写之前,Control files,Data files,Redo log files,LGWR,Database,Instance,SGA,SMON,系统监控进程,责任: 实例恢复: 回滚日志文件中 的改变信息 打开数据库,让用户进入 回滚未提交的事务 每三秒

11、接合空闲空间 回收临时段,Control files,Data files,Redo log files,Instance,SGA,SMON,Database,进程监控器,处理失败后进行清理: 回滚事务 释放锁 释放其它资源 重启死的dispatchs,PGA area,Instance,SGA,DBWn,LGWR,CKPT,Control files,Data files,Redo log files,检查点,负责: 给 DBWn 发信号 修改数据文件块头 修改控制文件信息,归档进程(ARCn),可选择的后台进程 当ARCHIVELOG模式被设置时自动归档联机重做日志文件 保存所有数据库变化

12、,Control files,Data files,Redo log files,Archived Redo log files,ARCn,逻辑结构,Oracle体系的逻辑结构描述了数据库的物理空间怎样运用,包括表空间、段、片区和块.,Tablespace,RAC方式,原理结构图,RAC方式,优点 良好的可伸缩性 高可用性 先进的Cache Fusion技术 降低硬件成本 切换时间短 缺点 管理复杂 对网络有较高要求,HOTSTANDBY(双机热备)方式,原理结构图,HOTSTANDBY(双机热备)方式,优点 管理较为简单 运行较为稳定 缺点 切换时间较长 在系统切换的过程中,客户端与服务器之

13、间的数据库连接会中断,需重新连接 备用机闲置,不能实现负载均衡,总结,通过这部分课程的学习,您应该已经了解: 解释数据库文件 : 数据文件、控制文件、联机重做日志. 解释系统全局区内存结构: 数据块高速缓冲区、共享池、重做日志缓冲区. 解释主要的后台进程: DBWn, LGWR, CKPT, PMON, SMON, 和 ARCn 双机模式:RAC/HOT STANDBY,管理表空间和数据文件,目标,通过这部分课程的学习,您将了解以下内容 : 数据库的逻辑结构 创建表空间 改变表空间的大小 为临时段分配空间 改变表空间的状态 改变表空间的存储参数设置,概观,Control files,Data

14、files,Redo log files,Database,Database,逻辑上,物理上,Tablespace,Data file,OS block,Oracle block,Segment,Extent,数据库的存储层次,系统和非系统表空间,系统表空间: 随着数据库创建被创建 包含数据字典信息 包含系统回滚段 非系统表空间: 不同的segments分开存放(如:回滚段, 临时段, 应用数据 ) 控制分配给用户对象的空间容量,表空间的管理,本地管理的表空间 : 自由扩展信息被记录在本身的位图中 位图中的每一位都对应一个数据块或一组数据块 位图中的标志位显示数据块使用或未使用状态信息 字典管

15、理的表空间: 缺省的表空间管理方式 自由扩展信息被记录在数据字典中,本地管理的表空间,简化了数据字典中的内容 空间分配和回收不产生回滚信息 没有接合邻近extents的要求,CREATE TABLESPACE userdata DATAFILE /u01/oradata/userdata01.dbf SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;,字典管理的表空间,Extents 在数据字典中管理 每个存储在表空间的segments都可以有不同的存储参数设置 有邻近接合extents的要求,CREATE TABLESPACE userd

16、ata DATAFILE /u01/oradata/userdata01.dbf SIZE 500M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE ( initial 1M NEXT 1M );,回滚段表空间,用来存储回滚段信息 不能包含其它对象 Extents 本地管理 在创建时仅仅能使用 DATAFILE and EXTENT MANAGEMENT 条件,CREATE UNDO TABLESPACE undo1 DATAFILE /u01/oradata/undo101.dbf SIZE 40M;,临时表空间,用来做排序操作 不能包含固定的对象

17、最好使用本地表空间管理,CREATE TEMPORARY TABLESPACE temp TEMPFILE /u01/oradata/temp01.dbf SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;,缺省临时表空间的限制,直到新的缺省表空间被使用时才能删除 不能下线. 不能将缺省的临时表空间修改成永久表空间,删除表空间,DROP TABLESPACE userdata INCLUDING CONTENTS AND DATAFILES;,从数据字典中删除表空间信息 通过 AND DATAFILES条件可在操作系统上删除表空间的数据文件:

18、,改变表空间的大小,增加数据文件 改变数据文件大小: 自动 手动,app_data_02.dbf,app_data_01.dbf,app_data_03.dbf,100M,100M,200M,100M,Tablespace APP_DATA,app_data_02.dbf,app_data_01.dbf,app_data_03.dbf,100M,100M,200M,200M,app_data_04.dbf,手动改变数据文件大小,ALTER DATABASE DATAFILE /u03/oradata/userdata02.dbf RESIZE 200M;,100M,Tablespace APP

19、_DATA,Tablespace APP_DATA,app_data_02.dbf,app_data_01.dbf,app_data_03.dbf,100M,在表空间中增加一个数据文件,ALTER TABLESPACE app_data ADD DATAFILE /u01/oradata/userdata03.dbf SIZE 200M;,移动数据文件(修改表空间),表空间必须为下线状态。 目标数据文件必须存在.,ALTER TABLESPACE userdata RENAME DATAFILE /u01/oradata/userdata01.dbf TO /u01/oradata/userd

20、ata01.dbf;,获取表空间信息,表空间信息: DBA_TABLESPACES V$TABLESPACE 数据文件信息: DBA_DATA_FILES V$DATAFILE 临时文件信息: DBA_TEMP_FILES V$TEMPFILE,总结,通过这部分内容的学习,您应该已经了解: 怎样使用表空间分开存放数据 改变表空间大小: 增加数据文件 扩展数据文件 使用本地管理表空间 使用临时表空间,56,练习,练习包括以下几个主题: 创建表空间 修改表空间,管理重做日志文件,目标,通过这部分课程的学习,您将了解以下内容 : 在线重做日志文件的作用 在线重做日志文件的结构 控制日志文件切换和检查

21、点执行 多路复用在线重做日志文件,使用重做日志文件,重做日志文件记录数据所有的修改信息并提供一种介质失败时的恢复机制. 重做日志文件分组管理. 一个Oracle数据库要求至少有两组重做日志文件. 组中每个日志文件被称作一个组成员.,Redo log files,Database,重做日志文件的结构,Group 2,Group 3,Group 1,Member,Disk 1,Disk 2,Member,Member,Member,Member,Member,重做日志文件怎样工作,重做日志文件循环使用 当一个重做日志文件充满时, LGWR 将日志写入到下个重做日志组. 这个被叫做日志切换 检查点执

22、行动作被触发 相关信息写入控制文件,强迫日志切换并执行检查点,日志切换能使用命令 ALTER SYSTEM SWITCH LOGFILE. 检查点被迫使执行: 设置 FAST_START_MTTR_TARGET 参数 ALTER SYSTEM CHECKPOINT 命令,ALTER SYSTEM CHECKPOINT;,log2b.rdo,log1b.rdo,增加在线重做日志组,Group 1,Group 2,Group 3,ALTER DATABASE ADD LOGFILE GROUP 3 ($HOME/ORADATA/u01/log3a.rdo, $HOME/ORADATA/u02/lo

23、g3b.rdo) SIZE 1M;,log3b.rdo,log2a.rdo,log3a.rdo,log1a.rdo,增加在线重做日志组成员,ALTER DATABASE ADD LOGFILE MEMBER $HOME/ORADATA/u04/log1c.rdo TO GROUP 1, $HOME/ORADATA/u04/log2c.rdo TO GROUP 2, $HOME/ORADATA/u04/log3c.rdo TO GROUP 3;,log2a.rdo,log1a.rdo,Group 1,Group 2,Group 3,log3a.rdo,删除在线重做日志组,ALTER DATABA

24、SE DROP LOGFILE GROUP 3;,log1a.rdo,log1a.rdo,删除在线重做日志组成员,ALTER DATABASE DROP LOGFILE MEMBER $HOME/ORADATA/u04/log3c.rdo;,log2c.rdo,log1c.rdo,Group 1,Group 2,log1b.rdo,log1b.rdo,清空, 重新指定位置或更名在线重做日志文件,清空在线重做日志文件: 重新指定位置、更名在线重做日志文件能通过增加新日志文件,删除旧日志文件代替.,ALTER DATABASE CLEAR LOGFILE $HOME/ORADATA/u01/log

25、2a.rdo;,获取日志组及其成员信息,通过查询下列数据字典获取日志组及其成员信息 V$LOG V$LOGFILE,归档日志文件,装满的在线重做日志文件能被归档. 归档在线重做日志文件两种优势: 恢复:一套一致的数据文件完整备份与在线重做日志文件、归档日志文件一起能保证所有已经提交的事务恢复到先前状态. 备份: 能在数据库打开的情况下进行. 缺省数据库以非归档模式创建.,归档日志文件,归档日志文件能通过ARCn或手工SQL归档得到. 控制文件中记录有归档日志名称、日志序列号,在线日志文件成功归档时最高、最低的SCN. 一个装满的在线日志文件需要在检查点发生、在线日志文件被ARCn归档完成以后才

26、能重新使用,否则等待. 归档日志文件能多路复用.,总结,通过这部分课程的学习,您应该已经了解: 在线重做日志文件的作用 怎样获取在线重做日志文件信息 控制日志切换和检查点执行 多路复用管理多个在线重做日志文件,练习,这部分练习包括以下主题: 创建和增加重做日志文件组及其成员. 删除重做日志文件组及其成员.,管 理 用 户 和 权 限,目标,通过这部分课程的学习,您将了解以下内容: 创建新的数据库用户 修改和删除存在的数据库用户 监控已存在用户的信息 识别系统和对象权限 授予和回收权限,数据库模式,模式是一种命名的对象集合 一个用户被创建,对应的模式就被创建 一个用户仅仅对应一个模式 用户名其实

27、就等同于模式名,创建用户所涉及内容,确定用户需要将对象存储在哪个表空间 决定每个表空间中该用户的使用限额. 指派缺省表空间和临时表空间. 开始创建一个用户. 赋予权限和角色给用户.,创建用户: 数据库级鉴别,设定初始口令:,CREATE USER aaron IDENTIFIED BY soccer DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp QUOTA 15m ON data PASSWORD EXPIRE;,删除用户,使用 CASCADE 条件删除用户及其用户中包含的所有对象. 当前正连接到Oracle服务器的用户不能被删除,DROP

28、 USER aaron;,DROP USER aaron CASCADE;,获取用户相关信息,获取用户相关信息能通过查询以下数据字典. DBA_USERS DBA_TS_QUOTAS,系统权限,有100多种 ANY 关键字 是指用户在任何模式下都具有 GRANT 命令由于授予权限 REVOKE 命令回收权限,系统权限举例,Category Examples INDEX CREATE ANY INDEX ALTER ANY INDEX DROP ANY INDEX TABLE CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE

29、 SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE SESSION CREATE SESSION ALTER SESSION RESTRICTED SESSION TABLESPACE CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE,授予系统权限,GRANT CREATE SESSION TO emi;,GRANT CREATE SESSION TO emi WITH ADMIN OPTION;,回收系统权限,REVOKE CREATE TABLE

30、 FROM emi;,授予对象权限,GRANT EXECUTE ON dbms_output TO jeff;,GRANT UPDATE ON emi.customers TO jeff WITH GRANT OPTION;,回收对象权限,REVOKE SELECT ON emi.orders FROM jeff;,获取权限信息,查询数据字典 DBA_SYS_PRIVS SESSION_PRIVS DBA_TAB_PRIVS DBA_COL_PRIVS,总结,通过这部分课程的学习,您应该已经了解: 创建用户时指定适当的口令机制 控制用户对空间的使用 控制系统和对象权限,练习,这部分练习包括以下

31、主题: 创建用户 显示用户在数据字典中的相关信息 移去用户表空间配额,问题和解答,管理一个ORACLE实例,目标,通过这部分课程的学习,您将了解以下内容 : 创建和管理初始化参数文件 启动和关闭实例 监控和使用诊断文件,spfiledb01.ora,初始化参数文件,SQL CONNECT / AS SYSDBA SQL STARTUP,初始化参数文件,访问实例的入口 存在两种类型参数: 显性的: 在文件中有个入口 隐性的: 在文件中没有入口,但被指派了缺省的值 在不同的环境下可使用不同的初始化文件优化单个数据库的执行. 改变文件中参数设置并使其生效依赖使用的初始化参数文件类型; 静态初始化参数

32、文件 PFILE 延续性初始化参数文件 SPFILE,PFILE initSID.ora,PFILE 是一个能被操作系统编辑器修改的文本文件. 手动对该文件进行修改. 下次数据库启动修改才能生效. 它的缺省路径是 $ORACLE_HOME/dbs.,PFILE 举例,# Initialization Parameter File: initdb01.ora db_name = db01 instance_name = db01 control_files = ( /u03/oradata/db01/control01db01.ctl, /u03/oradata/db01/control02db

33、01.ctl) db_block_size = 4096 db_block_buffers = 500 shared_pool_size = 31457280 # 30M Shared Pool db_files = 1024 max_dump_file_size = 10240 background_dump_dest = /u05/oracle9i/admin/db01/bdump user_dump_dest = /u05/oracle9i/admin/db01/udump core_dump_dest = /u05/oracle9i/admin/db01/cdump undo_mana

34、gement = auto undo_tablespace = undtbs . . .,SPFILE spfileSID.ora,是一个不用重启数据库而能将改变生效的二进制文件 保存在ORACLE服务器端 能通过ALTER SYSTEM 命令直接对参数进行修改 能指定改变临时在内存中生效还是从现在开始永久生效 修改的值能被删除重置到实例缺省的值,ALTER SYSTEM SET undo_tablespace = UNDO2;,97,创建 SPFILE,SPFILE能使用命令CREATE SPFILE命令从initSID.ora中创建,并且在数据库开启前或开启后都能执行,CREATE SPF

35、ILE FROM PFILE;,SPFILE 举例,*.background_dump_dest=$ORACLE_HOME/admin/db01/bdump *.compatible=9.0.0 *.control_files=/u03/oradata/db01/ctrl01db01.ctl,/u03/oradata/db01/ctrl02db01.ctl *.core_dump_dest=$ORACLE_HOME/admin/db01/cdump *.db_block_buffers=500 *.db_block_size=4096 *.db_files=40 *.db_name=db01

36、*.instance_name=db01 *.remote_login_passwordfile=exclusive *.shared_pool_size=31457280 # 30M Shared Pool *.undo_management=AUTO db01.undo_tablespace=UNDOTBS01 db02.undo_tablespace=UNDOTBS02 . . .,启动一个数据库 NOMOUNT,OPEN,MOUNT,NOMOUNT,SHUTDOWN,实例启动,STARTUP,SHUTDOWN,启动一个数据库 MOUNT,OPEN,MOUNT,NOMOUNT,SHUTD

37、OWN,控制文件打开,实例启动,STARTUP,SHUTDOWN,启动一个数据库 OPEN,OPEN,MOUNT,NOMOUNT,SHUTDOWN,实例中控制文件描述的所有文件被打开,控制文件打开,实例启动,STARTUP,SHUTDOWN,STARTUP 命令,STARTUP,启动实例并打开数据库:,STARTUP PFILE=$ORACLE_HOME/dbs/initdb01.ora,The ALTER DATABASE Command,改变数据库的状态(UNMOUNT TO MOUNT):,ALTER DATABASE db01 MOUNT;,打开数据库:,ALTER DATABASE

38、db01 OPEN;,关闭 数据库,关闭模式: NORMAL TRANSACTIONAL IMMEDIATE ABORT,A x x x x,T x x o o,I x x x o,关闭模式 允许新的接入 等待直到当前的会话都结束 等待直到当前的事务都结束 强制执行 checkpoint 并关闭所有文件,N x o o o,YES,NO,x o,关闭对象,During a Shutdown Normal, Shutdown Transactional or Shutdown Immediate,一致性的数据库 (干净的数据库),这种方式关闭: 数据块高速缓冲区内容写入数据文件 未提交的事务回滚

39、 释放资源,这之后重新启动数据库: 不用做实例恢复,关闭对象,During a Shutdown Abort or Instance Failure or Startup Force,不一致的数据库 (脏数据库),这样关闭: 已经修改的数据块缓冲区的内容不写入数据文件 未提交的事务不被回滚,这之后重新启动数据库: 改变的信息将被重新写入重做日志文件 必须使用回滚段来回滚未提交的改变 释放资源,通过检查诊断文件来管理实例,诊断文件包含实例运行过程中所遇到的重要的事件信息. 作为日常管理数据库的基础,能为解决问题提供帮助. 存在以下几种诊断文件: 警告日志文件(alertSID.log) 后台跟踪

40、文件 用户跟踪文件,警告日志文件,警告日志文件记录了数据库运行中的一些操作命令和主要事件结果. 它被用来诊断日常数据库运行错误信息. 每条都对应有时间戳信息. 它所在路径定义在 初始化参数BACKGROUND_DUMP_DEST中.,后台跟踪文件,后台跟踪文件记录有被后台进程检测到的错误信息. 当后台进程遇到错误时才被创建 它所在路径定义在 初始化参数BACKGROUND_DUMP_DEST中,用户跟踪文件,用户跟踪文件当用户进程通过服务器进程连接到Oracle服务器时产生。 一个用户跟踪文件包含跟踪到的SQL执行语句或用户通讯错误信息. 当用户会话过程中遇到错误信息时产生. 它的路径定义在

41、USER_DUMP_DEST中. 它的大小定义在 MAX_DUMP_FILE_SIZE中 ,缺省为10M.,打开或关闭用户跟踪,用户跟踪文件能在会话或实例级别使用下列命令、参数打开或关闭: 会话级别使用 ALTER SESSION 命令: ALTER SESSION SET SQL_TRACE = TRUE 会话级别也可以通过执行DBMS 包: dbms_system.SET_SQL_TRACE_IN_SESSION 实例级别可通过设置初始化文件中的参数: SQL_TRACE = TRUE,总结,通过这部分内容的学习,您应该了解: 创建和管理初始化参数文件 启动和关闭实例、数据库 监控和使用诊

42、断文件,113,总结练习,练习包括以下主题: 创建 SPFILE文件 通过不同的方式启动和关闭数据库,SQL*Plus使用介绍,目标,通过这部分课程的学习,您将了解以下内容 : 登录到 SQL*Plus环境 编辑SQL 命令 SQL*Plus 命令格式化并输出结果 结合脚本文件执行,登录到 SQL*Plus. 描述表的结构. 编辑SQL语句. 在SQL*Plus中执行SQL. 保存或插入SQL语句到文件,SQL*Plus主要内容,登录到 SQL*Plus,从 Windows 环境: 通过命令行: sqlplus username/password database,Name Null? Typ

43、e - - - DEPARTMENT_ID NOT NULL NUMBER(4) DEPARTMENT_NAME NOT NULL VARCHAR2(30) MANAGER_ID NUMBER(6) LOCATION_ID NUMBER(4),显示表的结构内容,SQL DESCRIBE departments,SQL*Plus 编辑命令,APPEND text CHANGE / old / new CHANGE / text / CLEAR BUFFER DEL DEL n DEL m n,SQL*Plus 编辑命令,INPUT INPUT text LIST LIST n LIST m n

44、RUN n n text 0 text,1 SELECT last_name 2* FROM employees,SQL LIST,1* SELECT last_name,SQL A , job_id,1* SELECT last_name, job_id,1 SELECT last_name, job_id 2* FROM employees,使用 LIST, n, and APPEND,SQL 1,SQL L,1* SELECT * from employees,SQL L,1* SELECT * from departments,SQL c/employees/departments,1

45、* SELECT * from departments,使用 CHANGE 命令,SQL L,SQL*Plus 文件命令,SAVE filename GET filename START filename filename EDIT filename SPOOL filename EXIT,Created file my_query,SQL START my_query,SQL L 1 SELECT last_name, manager_id, department_id 2* FROM employees SQL SAVE my_query,使用 SAVE 和START 命令,LAST_NA

46、ME MANAGER_ID DEPARTMENT_ID - - - King 90 Kochhar 100 90 . 20 rows selected.,小结,SQL*Plus 环境下: 执行SQL 语句 编辑SQL 语句 格式化输出 与脚本文件交互,逻辑备份恢复简介,目标,逻辑备份的概念 Oracle 数据库逻辑备份使用工具 Oracle 数据库逻辑备份形式,用途,物理备份的补充 不同版本数据库的迁移 不同平台数据库的迁移,与物理备份的比较,占用较小的空间 更为灵活,有四种方式 需要确认字符集,备份工具,备份工具 EXPORT (使用命令EXP) 恢复工具 IMPORT(使用命令IMP),备

47、份形式,全库备份 按用户备份 按表备份 表空间备份,Oracle Export 和 Import 工具作用,归档历史数据 存储表的定义 在不同平台及版本间转换数据 在不同数据库间移植表空间,运行EXPORT工具的方法,以交互式对话的方式 命令行 参数文件 通过OEM启动,全数据库模式 Tables definitions Tables data Grants Indexes Tables constraints,Export 模式,表模式 Table definitions Table data (all or selected rows) Owners table grants Owners

48、 table indexes Table constraints,用户模式 Tables definitions Tables data Owners grants Owners indexes Tables constraints,表空间模式 Table definitions Grants Indexes Table constraints Triggers,Export 命令,语法,举例,exp hr/hr TABLES=(employees,departments) rows=y file=exp1.dmp,exp keyword = (value, value2, ,valuen),

49、exp system/manager OWNER=hr direct=y file=expdat.dmp,exp system/manager FULL=y inctype=cumulative file=expcum1.dmp,exp system/manager TRANSPORT_TABLESPACE=y TABLESPACES=(ts_emp) log=ts_emp.log,使用 Import 工具恢复,获取建表定义 从一个有效的输出文件中获取数据 如有用户错误,可以从相应文件中恢复,Import 模式,模式 描述 Table 获取指定的表. User 获取一个用户的所有对象 Tabl

50、espace 获取一个表空间的所有对象 Full Database 获取输出文件的所有对象,Import 工具的命令行,语法,举例,imp hr/hr TABLES=(employees,departments) rows=y file=exp1.dmp,imp keyword = value or keyword = (value, value2, value n),imp system/manager FROMUSER=hr file=exp2.dmp,imp system/manager TRANSPORT_TABLESPACE=y TABLESPACES=ts_employees,Im

51、port 处理顺序,新表产生 导入数据 建立索引 导入触发器 导入一致性约束 导入其余形式的索引,国际化语言支持,Export 文件定义字符集 Import 工具把原字符集转化为本数据库的字符集 多字节的字符集必须对应相同特征的字符集,总结和练习,Export 和 Import 工具的使用 Export 和 Import 工具概念和结构 执行 Export 和 Import 操作 使用Export 和 Import 的一些原则,数据库的日常检查,数据库的日常检查,检查数据库状态 确认数据库是否在open状态,正常提供服务。 oracle% sqlplus /as sysdba SQL sele

52、ct status, instance_role from v$instance; STATUS INSTANCE_ROLE - - OPEN PRIMARY_INSTANCE,数据库的日常检查,数据库版本检查 数据库应该打了最新的patchset; 8i要求是; 9i要求是或者更高的补丁版本 。 SQLselect * from v$version;,查看SGA区域 SGA区各项buffer之和应该小于系统物理内存的一半 检查数据库SGA区: SQLshow sga 检查系统物理内存: Solaris: $ /usr/sbin/prtconf |grep -i M

53、emory size HP: $ grep Physical /var/adm/syslog/syslog.log AIX: $ /usr/sbin/lsattr -E -l sys0 -a realmem,数据库的日常检查,回滚段竞争检查 8i:返回值应该低于2%。如果该值过高,8i需要手工建立更多的回滚段。 SQL select The average of waits/gets is | round(sum(waits) / sum(gets) * 100,2)|% From v$rollstat; 9i:Nospace值应该为0。如果持续存在非零值,建议增加回滚表空间的大 SQLsel

54、ect distinct nospaceerrcnt as nospace From v$undostat Where begin_timesysdate-(1/12);,数据库的日常检查,查看日志文件 数据库运行时,可以通过查询v$log_history来观察log switch的切换时间。 推荐联机日志最好是业务非高峰期每小时切换一次,业务高峰期20分钟左右切换一次。 SQLselect to_char(first_time,yyyy-mm-dd hh24:mi:ss) change_time from v$log_history; CHANGE_TIME - 2004-04-06 10:

55、02:52 2004-04-06 10:10:45 2004-04-06 10:17:01,数据库的日常检查,查看表空间 查看各个表空间所占的大小,剩余空间,使用空间百分比等信息 特别是当业务表空间的剩余空间低于50M或者使用空间百分比大于90%时,需要考虑增加表空间的大小。 SQL select a.tablespace_name, a.bytes totalbytes, sum(b.bytes) freebytes from dba_data_files a, dba_free_space b where a.file_id = b.file_id group by a.tablespac

56、e_name, a.bytes ; TABLESPACE_NAME TOTALBYTES FREEBYTES - CWMLITE 20971520 11141120,数据库的日常检查,检查job状态 Broken列应该为N;如果Broken列为Y,检查oracle告警日志,分析job失败的原因。解决后运行:exec dbms_job.run(:job); SQLselect job,what,to_char(next_date,yyyy/mm/dd hh24:mi:ss),broken,failures from dba_jobs;,数据库的日常检查,查看数据库连接用户 查看当前数据库连接的用

57、户进程的具体信息,包括连接的数据库用户名,机器名,运行的程序名,进程状态。 select username,machine,program,status from v$session where osuser oracle; USERNAME MACHINE PROGRAM STATUS - - - - CORPRING CHINAMENGWEI INACTIVE SYSTEM CHINAH36922 dbsnmp.exe INACTIVE,数据库的日常检查,Network 配置,目标,监听管理 本地服务名配置 处理简单的连接问题 数据库故障紧急处理,监听进程,listener.ora,Listener,客户端,服务端,tnsnames.ora,sqlnet.ora,配置 listener.ora 文件,listener.ora 的缺省配置: Listener name LISTENER Port 1521 Protocols TCP/IP and IPC SID name 缺省实例 Host name 缺省主机名,listener.ora 例子,1. LISTENER = 2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论