Oracle从入门到精通-经典.ppt
《Oracle从入门到精通-经典.ppt》由会员分享,可在线阅读,更多相关《Oracle从入门到精通-经典.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2课程地位.Net & C#SQL ServerXMLSPMASP.NET & WebServiceOracleUMLSPR: Computer BaseHTML&JavaScriptSQL Server BaseOOP&Java BaseCSTBJSP/ServletEJB&WebServiceWinFormsStruts&JSFTesting&SQALinux3课程目标q理解 Oracle 数据库体系结构q熟练掌握 SQL 命令和 SQL 函数q使用 Oracle 的各种数据库对象q使用 PL/SQL 编写存储过程q掌握基本的数据库配置和管理4目标目标 q了解 Oracle 体系结构的各种
2、组件 q掌握 Oracle 中的基本用户管理 q了解 Oracle 的工具 q了解 Oracle 的安装和卸载5Oracle 数据库简介 2-1q对象关系型的数据库管理系统 (ORDBMS)q在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛q在数据安全性与数据完整性控制方面性能优越q跨操作系统、跨硬件平台的数据互操作能力qOracle数据库的主要特点q支持多用户、大事务量的事务处理q数据安全性和完整性控制q支持分布式数据处理q可移植性6Oracle 数据库简介 2-2q Oracle数据库基于客户端/服务器技术客户端应用程序通过向服务器请求并接收信息的方式与数据库进行交互。它充
3、当用户与数据库之间的接口请求 响应数据库服务器对数据库表进行最佳管理,处理多个客户端对同一数据的并发访问。全面地保持数据完整性,并控制数据库访问权限等安全性需求网络7Oracle 9i 体系结构Oracle 服务器 Oracle 数据库 Oracle 实例Oracle 数据库是一个数据的集合,该集合被视为一个逻辑单元管理数据库的后台进程和内存结构的集合称为 Oracle 实例 q 数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制q Oracle服务器提供开放、全面和综合的信息管理,它由Oracle数据库和Oracle实例组成8Oracle 主要组件 实 例
4、内存结构内存结构 后台进程后台进程 PMON SMON DBWR LGWR CKPT 其他 数据库数据库数据文件数据文件数据文件控制文件控制文件日志文件日志文件参数文件归档日志文件归档日志文件口令文件SGA用户进程服务器进程PGA共享池数据缓冲区日志缓冲区9Oracle 实例 qOracle 实例是后台进程和内存结构的集合Oracle 实例 系统全局区 后台进程 分配 启动 10Oracle 数据库qOracle 数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区qOracle 数据库包括逻辑结构和物理结构物理结构 逻辑结构 物理结构包含数据库中的一组操作系统文件。逻辑结构指数据
5、库创建之后形成的逻辑概念之间的关系Oracle 数据库数据库 11会话q会话是用户与 Oracle 服务器的单个连接q当用户与服务器建立连接时创建会话q当用户与服务器断开连接时关闭会话启动 Oracle 实例使用SQL*Plus连接至数据库创建用户进程创建服务器进程提交 SQL 查询12Oracle 实例内存结构系统全局区系统全局区 (SGA) 程序全局区程序全局区 (PGA) Oracle 实例启动时分配系统全局区当服务器进程启动时分配程序全局区qOracle 的内存结构包含以下两个内存区: 内存区内存区 13系统全局区 2-1q数据库信息存储于SGA,由多个数据库进程共享共享池共享池 数据
6、缓冲区数据缓冲区 日志缓冲区日志缓冲区 SGA的内存结构的内存结构 14系统全局区 2-2共享池 q 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域q 共享池由库缓存和数据字典缓存组成。q 共享池的大小直接影响数据库的性能。数据缓冲区 q 用于存储从磁盘数据文件中读入的数据,所有用户共享。q 服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。q 数据缓冲区的大小对数据库的读取速度有直接的影响。日志缓冲区 q 日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。 q 当日志缓冲区的日志数据达到一
7、定数量时,由后台进程将日志数据写入日志文件中。q 相对来说,日志缓冲区对数据库的性能影响较小。15程序全局区q 程序全局区(PGA)包含单个服务器进程所需的数据和控制信息q PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息q PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放16Oracle 实例进程结构q Oracle 实例有几种不同类型的进程,它们是: 实例进程实例进程用户进程 服务器进程 后台进程 用户进程是一个需要与Oracle服务器进行交互的程序。当用户运行一个应用程序准备向数据库服务器发送请求时,即创建
8、了用户进程服务器进程用于处理连接到该实例的用户进程的请求。当用户连接至 Oracle 数据库实例创建会话时,即产生服务器进程 后台进程是Oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的。 Oracle 实例启动时即创建一系列后台进程 17后台进程 2-1后台进程PMONq 实例的各种后台进程是:SMONDBWRLGWRCKPT其他 18后台进程 2-2PMON 进程监控进程进程监控进程q 清理出现故障的进程。 q 释放所有当前挂起的锁定。q 释放故障进程使用的资源。SMON 系统监控进程系统监控进程q 在实例失败之后,重新打开数据库时自动恢复实例。 q 整理数据文件的自由空间,
9、将相邻区域结合起来。q 释放不再使用的临时段。DBWR 数据写入进程数据写入进程q 管理数据缓冲区,将最近使用过的块保留在内存中。q 将修改后的缓冲区数据写入数据文件中。 LGWR 日志写入进程日志写入进程q 负责将日志缓冲区中的日志数据写入日志文件。 q 系统有多个日志文件,该进程以循环的方式将数据写入文件。19Oracle 物理组件q物理组件就是Oracle数据库所使用的操作系统物理文件。物理文件可分为三类:物理组件数据文件 控制文件日志文件数据文件用于存储数据库数据,如表、索引数据等。控制文件是记录数据库物理结构的二进制文件。日志文件记录对数据库的所有修改信息,用于故障恢复20Oracl
10、e 逻辑组件 3-1q数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:数据库 表空间 段 区 数据块 模式21Oracle 逻辑组件 3-2q 表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。q 每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。q 表空间的大小等于构成该表空间的所有数据文件大小之和。CREATE TABLESPACE tablespacenameDATAFILE filename SIZE integer K|M AUTOEXTEND OFF|ON;q 创建
11、表空间的语法是:22Oracle 逻辑组件 3-2qcreate tablespace test_data qdatafile D:oracleoradataOracle9iuser_data.dbf size 50mq autoextend onq next 50m maxsize 20480mq extent management local; 23Oracle 逻辑组件 3-3段段q 段是构成表空间的逻辑存储结构,段由一组区组成。 q 按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。区区q 区为段分配空间,它由连续的数据块组成。 q 当段中的所有空间已完全使用
12、时,系统自动为该段分配一个新区。q 区不能跨数据文件存在,只能存在于一个数据文件中。数据块数据块q 数据块是Oracle服务器所能分配、读取或写入的最小存储单元。q Oracle服务器以数据块为单位管理数据文件的存储空间。 模式模式q 模式是对用户所创建的数据库对象的总称。 q 模式对象包括表、视图、索引、同义词、序列、过程和程序包等。24Oracle 逻辑组件 3-425Oracle 网络配置 2-1qOracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。q 服务器端配置监听器,客户端配置网络服务名。tnsnames.oraOracle 客户端客户端listener.
13、oraOracle 服务器服务器26Oracle 网络配置 2-2q服务器端监听器配置信息包括监听协议、地址及其他相关信息。 配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器q客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中qOracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名27Oracle 查询工具 Oracle 查询工具查询工具SQL*PlusiSQL*PlusPL/SQLq
14、Oracle 提供的工具非常容易使用。Oracle 的查询工具包括:SQL*Plus是Oracle最常用的工具之一,用于接受和执行SQL命令以及PL/SQL块。 iSQL*Plus可以执行能用SQL*Plus完成的所有任务。该工具的优势在于能通过浏览器访问它。 PL/SQL 是 SQL 的扩展。PL/SQL 结合了SQL语言的数据操纵能力和过程语言的流程控制能力28Oracle 企业管理器 qOracle 企业管理器为管理员提供了图形化的用户界面,并集成了管理数据库的工具29Oracle 默认用户q只有用合法的用户帐号才能访问Oracle数据库qOracle 有几个默认的数据库用户 Oracl
15、e 默认用户SYSSYSTEMSCOTT数据库中所有数据字典表和视图都存储在 SYS 模式中。SYS用户主要用来维护系统信息和管理实例。SYSTEM 是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等SCOTT用户是Oracle 数据库的一个示范帐户,在数据库安装时创建30创建新用户q要连接到Oracle数据库,就需要创建一个用户帐户q每个用户都有一个默认表空间和一个临时表空间qCREATE USER命令用于创建新用户CREATE USER usernameIDENTIFIED BY passwordDEFAULT TAB
16、LESPACE tablespaceTEMPORARY TABLESPACE tablespace;qCREATE USER 命令的语法是:CREATE USER MARTINIDENTIFIED BY martinpwdDEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP;创建一个名称为 martin 的用户,其密码为 martinpwd31授予权限 3-1q权限指的是执行特定命令或访问数据库对象的权利q权限有两种类型,系统权限和对象权限q系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限q对象权限允许用户对数据库对象(如表、视图、序列
17、等)执行特定操作q角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。32授予权限 3-2qGRANT 命令可用于为用户分配权限或角色 GRANT CONNECT TO MARTIN; CONNECT角色允许用户连接至数据库,并创建数据库对象GRANT RESOURCE TO MARTIN; RESOURCE角色允许用户使用数据库中的存储空间GRANT CREATE SEQUENCE TO MARTIN; 此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中33授予权限 3-3q授予用户 MARTIN 操作TEST表对象的权限 GRANT SEL
18、ECT ON TEST TO MARTIN; 允许用户查询 TEST 表的记录GRANT UPDATE ON TEST TO MARTIN; 允许用户更新 TEST 表中的记录GRANT ALL ON TEST TO MARTIN; 允许用户插入、删除、更新和查询 TEST 表中的记录34更改和删除用户qALTER USER 命令可用于更改口令 ALTER USER MARTIN IDENTIFIED BY martinpass;修改 MARTIN 用户的密码qDROP USER 命令用于删除用户 DROP USER MARTIN CASCADE; 删除 MARTIN 用户模式35用户管理Co
19、nnect scott/tigerConnect System/sys as sysdba断开链接disconnect解锁:alter user scott account unlock;显示当前用户:show user;查看当前用户下所有对象:select * from tab;跨用户访问:select * from scott.emp;36用户管理创建用户:create user zs identified by zs;drop user zs;drop user zs cascade;创建session权限:Grant 权限 to 用户grant create session to zs
20、;Oracle提供了n种角色:ConnectResourceDBAGrant connect,resource to zs;但是仍然不能创建表,是因为还没有表空间的权限。(10G已经有了!)37用户管理提示密码失效:ALTER USER test PASSWORD expire ;对象授权:GRANT 权限(select、update、insert、delete) ON schema.table TO 用户|- GRANT select ON scott.emp TO test ;|- Grant all on scott.emp to test; -将表相关的所有权限付给test|- Gra
21、nt update(ename) on emp to test; 可以控制到列(还有insert)38用户管理权限回收REVOKE 权限 ON schema.table FROM 用户|- REVOKE select ON scott.emp FROM test ;查看权限 select * from user_sys_privs;权限传递Grant create session to test with admin option;(可以就可以实现权限传递)Q:如果权限sys-test-test1 ,这时断掉test的权限, test1还会有权限吗?A:在oracle9i是,答案是还会有。39
22、用户管理角色角色就是一堆权限的集合Create role myrole;Grant create table to myrole;Drop role myrole; 删除角色grant unlimited tablespace to user; 40用户管理grant connect,resource to user;然后,用户包括的权限然后,用户包括的权限:CONNECT角色:角色: -是授予最终用户的典型权利,最基本的是授予最终用户的典型权利,最基本的ALTER SESSION -修改会话修改会话CREATE CLUSTER -建立聚簇建立聚簇CREATE DATABASE LINK -建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 入门 精通 经典
限制150内