《中航系统管理员Oracle培训》由会员分享,可在线阅读,更多相关《中航系统管理员Oracle培训(94页珍藏版)》请在金锄头文库上搜索。
1、 孟宪顺Service Manager中航系统管理员Oracle培训Oracle课程内容安装与配置使用sqlplus、DBA studio plsql和数据字典数据库体系结构逻辑结构备份与恢复 概述概述ORACLE具有甲骨文之意,是全世界第二大软件公司。数据库、电子商务套件、erp、财务产品、开发工具培训认证。Oracle服务(server)是一个关系数据库(relational database)管理系统,提供开放、全面、完整的信息管理。Oracle 概述、特点 最安全的数据库:15项安全性评估,不会崩溃 高性能、伸缩性 RAC技术 分布式数据库 海量数据库:表空间、空间数据构件 TB级 大
2、型数据库的优点安全性、稳定性、事物完整性 最贵的数据库最贵的数据库Oracle Oracle 特点特点 Oracle 8i 安装与配置 服务器端的安装、服务的启动、卸载 客户端安装 客户端的连接配置 浪潮财务软件中帐套管理及环境配置 一、体系结构一、体系结构客户机客户机服务器网络请求响应-客户(Client)运行应用程序(财务软件)提出操作数据的请求-服务器(Server)运行数据库管理系统(Oracle)对客户端请求进行响应,并返回操作结果二、系统安装二、系统安装HUB数据库服务器财务数据帐套Oracle系统WindowsNT2000工作站工作站工作站财务软件Oracle客户端Win98/2
3、000财务软件Oracle客户端Win98/2000网络协议、客户软件财务数据帐套Oracle数据库系统WindowsNT/2000网络协议工作站服务器HUB网卡、网线网卡、网线环境配置Net8Assistant网上邻居图中:虚线表示软件的连接,连接配置工具实线表示物理线路的连接上层连接都是建立在下层连接的基础上安装信息安装信息数据库名:oradb数据库系统标识符(SID):oradbSYS帐户口令:change_on_installSYSTEM帐户口令:manager ORACLE 服务的启动服务的启动 Oracleorahome81TNSListerner(oracle监听服务)Oracl
4、eservise+SIDOraclewebAssistant sql*plus使用使用设置sql*plus环境变量 编写简单的sql语句 PL/Sql和数据字典Select * from tab;/Set linesize 100Set pagesize 50Desc tabSet pause onSelect * from zwkmzd;Spool 文件名Spool offConn 用户名/口令课程目标课程目标v建立数据库对象v用select语句进行查询v使用DML修改数据v理解视图与索引作用v掌握常用的数据字典SQL概论概论SQL是结构化的查询语言,用于在oracle数据库中管理和检索数据
5、。Sql是非过程化的语言,它没有诸如循环这样的程序构件。Oracle的SQL语言包含ANSI/ISO标准SQL语言的扩充。Oracle的SQL语言分为以下几类:DMLDML(数据操纵语言)用于访问、生成、修改或者删除数据库的现有结构。包含SELECT、INSERT、UPDATE、DELETE。DDLDDL(数据定义语言)用于定义、更改或者删除数据库对象及他们的优先权。包括CREATE、ALTER、DROP、RENAME事物处理的控制语言事物处理的控制语言 COMMIT、ROLLBACK会话控制语句会话控制语句 ALTER SESSION、SET ROLE系统控制语句系统控制语句 ALTER S
6、YSTEM 准备知识准备知识SqlSql基础知识基础知识数据库存储的最基本结构是表(table),即二维表格,列叫做字段,行叫做记录。当你生成一张数据表在数据库中存储数据时,需要为该表中定义的所有列指定一个数据类型。OracleOracle数据类型数据类型字符 CHAR、NCHAR、VARCHAR2、NVARCHAR2数字 NUMBER(p,s)长值和原始 LONG、LONG RAW、RAW日期和时间 DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE大型对象 CLOB、NCLOB、BCLOB、BFILERow ID(行标识符) ROWID、UROWID 表格的创建
7、(DDL) 表格的生成可以用create table 来实现 也也根根据据当当前前已已经经存存在在的的表表创创建建新新表表,可可以以用用来来作作为当前表的备份:为当前表的备份:createcreate table newtablename asasselect * from oldtablename 修改表结构增增加加列列:alter table emp addadd birthday date 超过一列要加括号修改列修改列: alter table emp modifymodify empno char(8) 删删 除除 列列 alter table emp drop drop column
8、 column birthday删除修改表删除修改表2)删除表可以用drop table命令例:drop table emp3)修改表名 rename 原表名 to 新表名例:rename emp to newemp Select (从一个或多个表或视图中检索数据) 1、简单的单表查询 select empno from emp2、指定列别名 select empno asas empnumber from emp3、保证唯一性 select distinctdistinct empno from emp 限制行查询 where子句 select empno from emp where em
9、pno=10select empno from emp where name like a%比较运算 =、=、like逻辑运算 and、not、or其他运算 in和not in、between、exists、is null和not null 排序、分组排序、分组5、排序 order by子句 select empno from emp order by sal6、分组 group byselect deptno,min(sal),max(sal) from emp group by deptno; 数据的修改(DMLDML) 数据的插入 insert into emp values(0001,
10、zhangsan,3000,1001) 插入值的个数必须与列的个数相同指定列插入insert into emp(empno,name,sal) values(0001,zhangsan,3000)从其他表中插入insert into 表名(列名) select 语句; 1、数据的修改update emp set sal=1000 where empno=7369;2、数据的删除delete (从表与视图中删除行)delete from emp where deptno=10 视图视图(VIEW)是从一个或多个表中使用SELECT FROM 语句导出的,那些用来导出视图的表称为基表,视图也可以从
11、一个或多个其他视图中产生。视图优点:分割数据增强安全性简化数据存取建立视图:CREATEVIEWview_name(column_name,column_name,)ASselect_statement例:CREATEVIEWemp_viewasselect*fromemp删除视图:dropviewview_name索引管理 索引可以改善性能加速对表中数据行的检索索引要占用一定的空间会减慢了数据的修改速度插入、删除和更新数据都要对索引进行维护没有必要对表中的所有列建索引。何时建立索引?何时建立索引?出现以下几种情况,可以为表建索引:、经常用于检索、查询的列,可以基于该列建索引。、用于两表连接的
12、列(外键),建索引能很快执行连接。、在表中建唯一索引可以增强数据完整性出现以下几种情况,建议不要建索引:、很少或从不在查询中引用的列。、只有两个或三个值的列(如性别列:男、女),建索引带来的好处不大。、小表或行数很少的表可以不用建索引。 建立索引:createindex索引名on表名(列名,列名)例:createindexemp_noonemp(empno)删除索引:dropindex索引名数据字典 定义:数据字典是Oracle的系统表是数据库的重要组成。它由一组只读表组成,包括:数据库所有对象的定义空间的分配和使用状况,逻辑和物理结构的信息列的缺省值完整性约束信息用户名已授予用户的角色和权限
13、审计信息等 数据字典所有者 数据字典通过不同的视图呈现给不同的用户,这些视 图 拥 有 带 有 不 同 前 缀 的 相 同 名 称 。 如 :user_tables、all_tables、dba_tables。User_xxx 当前用户所拥有的数据对象All_xxx 当前用户可以访问的数据对象Dba_xxx 数据库中所有的数据库对象,只有DBA可以访问。 Oracle体系结构 本章的学习目标:本章的学习目标:l掌握Oracle服务器的结构组成:实例+文件l掌握Oracle服务器实例的概念,了解结构和各个部分的功能l掌握组成Oracle服务器的几类文件l熟悉控制文件的功能l熟悉重做日志文件的功能
14、和作用实例的定义实例的定义 实例实例 = 内存分配内存分配 + 一组后台进程一组后台进程 如果把如果把Oracle比作一部汽车,比作一部汽车,instance相当相当于汽车的发动机一样于汽车的发动机一样,启动启动oracle前提应先启动前提应先启动instance.内存被分配,进程被启动内存被分配,进程被启动SGAbackground process内存结构内存结构System Global AreaSGA是存储数据库进程共享的数据库信息的内存区域。它包含Oracle Server 数据和控制信息。分配在Oracle Server驻留的计算机虚拟内存中。SGA包含如下内存结构: 共享池共享池(
15、shared pool) 数据缓冲区数据缓冲区(database buffer cache) 重作日志缓冲区重作日志缓冲区(redo log buffer)另外在SGA中还有两个可选的内存结构: Java pool: 用来存储Java代码。 Large pool: 用来存储不与SQL直接相关的大型内存结构。例如:在备份和恢复时的数据拷贝。进程结构进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。ORACLE进程的体系结构设计使性能最大。后台进程是在实例启动时自动地建立 ,几个主要的后台进程的名字为:
16、 Database Writer (DBW0DBW0) Log Writer (LGWRLGWR). System Monitor (SMONSMON) Process Monitor (PMONPMON) Process (CKPTCKPT) Oracle数据库的物理结构Oracle文件Oracle数据库的物理组成主要有:数据文件、控制文件和重做日志文件数据文件主要用来存储数据库数据控制文件主要用来存储数据库的物理结构重做日志文件主要用来存储外部程序对数据库的修改。 其它文件其他文件参数文件参数文件 用来定义Oracle实例的特性。例如:他包含SGA内存的大小。 口令验证文件口令验证文件 用
17、来验证启动和关闭Oracle实例的用户。 存档重做日志文件存档重做日志文件 是重做日志的备份用以恢复数据。ORACLE逻辑结构 本章的学习目标 掌握表空间与数据文件的概念及相互关系掌握表空间的日常管理内容和方法掌握数据块和扩展区的概念掌握回滚段的分类、作用和管理掌握数据库启动和关闭的过程 表空间定义:一个数据库划分为一个或多个逻辑单位该逻辑单位称为表空间 。目的:控制数据库数据的磁盘分配,克服操作系统文件的限制。2G将确定的空间份额分配给数据库用户。通过使单个表空间在线或离线,控制数据的可用性。执行部分数据库后备或恢复操作。为提高性能,跨越设备分配数据存储。 表空间特性: 一个 tablesp
18、ace 只能同时属于一个database。每个 tablespace 包含一个或多个操作系统文件数据文件(data files).一个 tablespace 可能包含一个或多个segments.Tablespaces 可以在数据库运行时使其在线。除了SYSTEM tablespace 或 有活动回滚段的 tablespace ,tablespaces 可以被离线(offline)。 Tablespaces 可以在读/写之间切换。 SYSTEM 和非SYSTEM 表空间SYSTEM 表空间包含:数据字典信息SYSTEM 回滚段非SYSTEM表空间包含:回滚段临时段应用数据应用索引临时表空间 用于
19、排序操作 不能包含永久性数据CREATE TABLESPACE sortDATAFILE ?DISK2/sort01.dbf?SIZE 50M MINIMUM EXTENT 1MDEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 500 PCTINCREASE 0) TEMPORARY;回滚表空间 用于 保存回滚段 不 要包含其他永久性数据CREATE TABLESPACE rbsDATAFILE ?DISK2/sort01.dbf?SIZE 50M MINIMUM EXTENT 1MDEFAULT STORAGE (INITIAL 2M NEXT 2
20、M MAXEXTENTS 500 PCTINCREASE 0) ;建立表空间CREATE TABLESPACE app_dataDATAFILE ?DISK4/app01.dbf?SIZE 100M,?DISK5/app02.dbf?SIZE 100MMINIMUM EXTENT 500KDEFAULT STORAGE (INITIAL 500K NEXT 500K MAXEXTENTS 500 PCTINCREASE 0);存储参数 下述参数影响段的空间分配: INITIAL NEXT MAXEXTENTS MINEXTENTS PCTINCREASE表空间管理的一般原则 使用同样大小的子段
21、只在表空间上指定存储参数子段大小为160K,5120KB,160MB监视子段个数超过1024的段非常大的表应单独建立表空间TEMP段应放在TEMP表空间回滚段应单独放在回滚段的表空间给表空间增加数据文件给表空间增加数据文件ALTER TABLESPACE APP_data ADD DATAFILE ?DISK5/app03.dbf?SIZE 200M;允许数据文件自动扩展允许数据文件自动扩展ALTER TABLESPACE app_data ADD DATAFILE ?DISK6/app04.dbf?SIZE 200MAUTOEXTEND ON NEXT 10MMAXSIZE 500M; AL
22、TER DATABASE DATAFILE ?DISK5/app02.dbf?RESIZE 200M;手工改变数据文件的大小手工改变数据文件的大小改变存储参数ALTER TABLESPACE app_data MINIMUM EXTENT 2M; ALTER TABLESPACE app_dataDEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999);将表空间将表空间OFFLINE不能访问处于OFFLINE状态的表空间的数据 SYSTEM 和包含活动回滚段的表空间不能OFFLINEALTER TABLESPACE app_data OFFLINE
23、;移动数据文件移动数据文件表空间 APP_DATA 必须OFFLINE目标文件必须存在ALTER TABLESPACE app_data RENAME DATAFILE ?DISK4/app01.dbf?TO ?DISK5/app01.dbf?只读表空间只读表空间ALTER TABLESPACE app_data READ ONLY; 表空间必须在表空间必须在ONLINEONLINE状态状态 表空间中不含活动的表空间中不含活动的 事物事物. . 表空间中不含活动的表空间中不含活动的 回滚段回滚段 表空间中不在作在线备份表空间中不在作在线备份删除表空间删除表空间DROP TABLESPACE a
24、pp_data INCLUDING CONTENTS;下述命令删除下述命令删除下述命令删除下述命令删除 APP_DATA APP_DATA表空间及其表空间及其表空间及其表空间及其中的内容中的内容中的内容中的内容. .获取表空间有关的信息获取表空间有关的信息DBA_TABLESPACES TABLESPACE_NAMENEXT_EXTENTMAX_EXTENTSPCT_INCREASEMIN_EXTLENSTATUSCONTENTS获取数据文件有关的信息获取数据文件有关的信息 DBA_DATA_FILESFILE_NAMETABLESPACE_NAMEBYTESAUTOEXTENSIBLE MA
25、XBYTESINCREMENT_BY 小 结ORACLE数据库中一表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间想联系。当为一表空间建立一数据文件时,ORACLE建立该文件,分配指定的磁盘空间容量。在数据文件初时建立后,所分配的磁盘不包含任何数据。表空间可以在线或离线。在ORACLE中还允许单独数据文件在线或离线。 段、范围和数据块 段(SEGMENT)包含表空间中比表空间小一级的一种指定类型的逻辑存储结构,是由一组范围组成。根据访问频率、内容对象和生命周期在ORACLE数据库中有几种类型的段:数据段、索引段、回滚段和临时段。 段的类型段的类型数据段数据段:对于每一个非聚集
26、的表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中。 索引段索引段:每一个索引有一索引段,存储索引数据。 回滚段回滚段:保存数据修改前的映象,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务。Rollback时用得着。一个事务只能使用一个回滚段。 建立回滚段建立回滚段CREATE ROLLBACK SEGMENT rbs01TABLESPACE rbsSTORAGE (INITIAL 100K NEXT 100K OPTIMAL 4M MINEXTENTS 20 MAXEXTENTS 100);使回滚段使回滚段ONLINEAL
27、TER ROLLBACK SEGMENT rbs01 ONLINE;ROLLBACK_SEGMENTS=(rbs01)在初始化参数中指定,以保证数据库启动在初始化参数中指定,以保证数据库启动 时时ONLINE用下述命令使回滚段可用用下述命令使回滚段可用事物如何使用回滚段事物如何使用回滚段将所有回滚段将所有回滚段 ONLINE获得私有回滚获得私有回滚段段有足够有足够的回的回滚段滚段获取公用回获取公用回滚段滚段计算需要的回计算需要的回滚段个数滚段个数YesNo修改回滚段存储参数修改回滚段存储参数ALTER ROLLBACK SEGMENT rbs01STORAGE( MAXEXTENTS 200
28、);使用使用使用使用 ALTER ROLLBACK SEGMENTALTER ROLLBACK SEGMENT命令命令命令命令从回滚段中释放空间从回滚段中释放空间ALTER ROLLBACK SEGMENT rbs01SHRINK TO 4M;使用使用使用使用ALTER ROLLBACK SEGMENTALTER ROLLBACK SEGMENT命令命令命令命令使回滚段使回滚段OfflineALTER ROLLBACK SEGMENT rbs01 OFFLINE;删除回滚段删除回滚段DROP ROLLBACK SEGMENT rbs01;ALTER ROLLBACK SEGMENT rbs01
29、 OFFLINE;回滚段在删除之前必须回滚段在删除之前必须OFFLINE将回滚段将回滚段offline后回滚段不可用后回滚段不可用数据库中的回滚段数据库中的回滚段查询回滚段信息查询回滚段信息DBA_ROLLBACK_SEGS标识SEGMENT_ID SEGMENT_NAME 所在表空间,类型和状态TABLESPACE_NAMEOWNER (PUBLIC or SYS)STATUS (ONLINE or OFFLINE)回滚段统计信息V$ROLLNAMEUSNNAMEV$ROLLSTAT USNEXTENTSRSSIZE XACTS OPTSIZE HWMSIZE AVEACTIVESTATUS
30、 CUREXT CURBLK回滚段常见问题空间不够读一致性错误阻塞事物表空间offline时出错空间不够表空间中无空闲空间表空间中无空闲空间增大文件增大文件允许文件自动扩充允许文件自动扩充增加文件增加文件达到段的达到段的MAXEXTENTS增大增大 MAXEXTENTS用更大的子段参数重建回滚段用更大的子段参数重建回滚段范围范围( (区间区间) )一个范围(EXTENT)是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。每一个段是由一个或多个范围组成。当一段中间所有空间已完全使用时,ORACLE为该段分配一个新的范围。数据块数据块数据块(数据块(data blockdata block
31、)是)是ORACLEORACLE管理数据文件中存储空管理数据文件中存储空间的单位间的单位,为数据库使用的I/O的最小单位,其大小可不同于操作系统的标准I/O块大小。 数据库和实例的启动和关闭 启动启动数据库并使它可用有三步操作:启动一个实例 startup startup nomountnomount启动一实例的处理包含分配一个SGA(数据库信息使用的内存共享区)和后台进程的建立。实例起动的执行先于该实例装配一数据库。如果仅启动实例,则没有数据库与内存储结构和进程相联系。此时读参数文件 装配数据库 alter database mountalter database mount装配数据库是将一
32、数据库与已启动的实例相联。当实例安装一数据库之后,该数据库保持关闭,仅DBA可存取。此时读控制文件打开数据库 alter database openalter database open 打开一数据库是使数据库可以进行正常数据库操作的处理。当一数据库打开所有用户可连接到该数据库用存取其信息。在数据库打开时,在线数据文件和在线日志文件也被打开。 1)关闭数据库 数据库停止的第一步是关闭数据库。当数据库关闭后,所有在SGA中的数据库数据和恢复数据相应地写入到数据文件和日志文件。在这操作之后,所有联机数据文件和联机的日志文件也被关闭,任何离线表空间中数据文件夹是已关闭的。在数据库关闭后但还安装时,控
33、制文件仍保持打开。2)卸下数据库停止数据库的第二步是从实例卸下数据库。在数据库卸下后,在计算机内存中仅保留实例。在数据库卸下后,数据库的控制文件也被关闭。3)停止实例停止数据库的最后一步是停止实例。当实例停止后,SAG是从内存中撤消,后台进程被中止。Shutdown normal 等待所有的用户退出Shutdown immdiatly回滚未提交事务Shutdown abort强制退出,数据库置于不可知状态 用户管理1、创建、改变、删除和监控oracle的新用户用户管理用户管理(1)赋于合法的用户或和密码SVRMGLCREATE USER username IDENTIFIED BY userp
34、assword DEFAULT TABLESPACE tablespace1 TEMPORARY TABLESPACE tablespace2QUOTA n K ON tablespace1; M UNLIMITED空间限额(2)授于用户连接Oracle数据库的权限SVRMGLgrant connect tousername with grant option;rolenameprivelege.常用的几个角色role (权限的集合)connect (8) 连上Oracle,做最基本操作 resource(5) 具有程序开发最基本的权限 dba (77)数据库管理员所有权限 exp-full-
35、database 可把数据库整个备份输出的 权限 imp-full-datsabase 可把数据库整个备份恢复输 入的权限(3)alter user;(4)drop user cascade;(5)revoke role from user;2、权限的管理权限的分类system privilege 针对整个系统操作的权限object privilege 针对整个具体object操作的权限可查看dba-sys-privs,dba-fab-privs;视图dba-col-privs;Oracle的备份与恢复的备份与恢复课程目标课程目标 了解各种备份的工作原理熟练掌握通过exp/imp备份恢复的方法
36、熟练掌握通过维护工具备份恢复的方法备份的必要性备份的必要性因为各种人为或外界的因素可能会造成数据库中灾难性的数据丢失,为了保证数据库中数据的安全,必须采取备份措施保证RDBMS中包含的数据免遭破坏,而有效的备份是十分简单和普通的,是在数据库处于无法使用状态时用于重建数据库的重要信息拷贝。在重要的修改如删除段或者表空间以前或以后执行适当的备份是相当必要的。 备份的种类冷备份 联机热备 用导出用导出exp应用程序备份应用程序备份 浪潮财务软件维护工具备份浪潮财务软件维护工具备份 浪潮公司提示浪潮公司提示:建议采用最后两种及以上方法备:建议采用最后两种及以上方法备份数据库!份数据库! 各种备份的原理
37、和步骤各种备份的原理和步骤 冷备份冷备份:关闭数据库,采取操作系统拷贝命令来完成对数据库的备份,然后启动数据库。 热备份热备份:数据库必须运行在ARCHIVELOG模式下备份控制文件;备份数据文件;归档当前的联机日志文件;备份归档日志文件。EXPEXP导出数据库作备份导出数据库作备份 利用SQL语句读出数据库数据,并在操作系统层将数据和定义存入二进制文件 维护工具备份:维护工具备份:导出文本文件数据库的实用程序数据库的实用程序Export它是Oracle数据库的一个实用程序。它将Oracle数据库的数据和结构移出Oracle放入到一个二进制的export 文件中。它 转出的数据只有Oracle
38、的import程序能够处理。Import它将读取转出的数据将重建数据库的内容与结构。Export举例举例全数据库的备份exp system/manager full=Y file=dba.dmp grants=Y rows=Y用户级的数据库备份exp lc0019999/aaaaaa file=exp.dmp owner=lc0019999表级数据库备份exp lc0019999/aaaaaa file=zwkmzd.dmp tables=(zwkmzd, manager)例子:(推荐用此方法)例子:(推荐用此方法) exp lc0019999/aaaaaaserver file=d:cwdataaaa.dmp 删除用户lc0019999 drop user lc0019999 cascade增加lc0019999并授予dba角色,口令与原口令相同,指定默认的表空间。 Imp lc0019999/aaaaaa server file= d:cwdataaaa.dmp fromuser=lc0019999自动备份自动备份 1.建立一批处理文件backup.dat2.文件内容:exp lc0019999/aaaaaaserver file=d:cwdataaaa.dmp3.在win2000计划任务中指定执行时间或周期4.实现自动备份。 The End