好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

oracle数据库教程课件.ppt

156页
  • 卖家[上传人]:工****
  • 文档编号:591327876
  • 上传时间:2024-09-17
  • 文档格式:PPT
  • 文档大小:1.01MB
  • / 156 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 欢迎参加学习 ORACLE数据库实用教程 培训中心oracle数据库教程课件 什么是数据库?什么是数据库?•数据库是管理数据的一种方法,•如何组织和存储数据,•如何高效地获取和处理数据oracle数据库教程课件 数据管理的发展的数据管理的发展的3个阶段个阶段•人工管理阶段–无数据管理的专用软件,数据和程序在一起•文件系统阶段–软件进行数据管理,程序和数据分离–数据冗余度大,数据和程序缺乏独立性–文件之间不能建立联系•数据库系统阶段–数据具有更高的独立性–数据库管理系统-DBMS:数据库的定义、操作和管理oracle数据库教程课件 关系型数据库关系型数据库•关系型数据库 支持关系模型,以关系(表)形式组织数据• 著名的关系型数据库 DB2,ORACLE,INFORMIX,SYBASE等•关系型数据库=Datafile+RDBMSRDBMSOSDBdatafile1datafile2oracle数据库教程课件 实验环境•%telnet 200.1.1.115 •用户名/口令:oracle8/oracle8•%sqlplus scott/tiger•sql>connect scott/tiger•sql>show user•sql>quitoracle数据库教程课件 表•表---关系型DB数据组织的形式•报道表–空表--表的结构–白纸--设计一张表--多少项内容(列)--画表时,每项多宽–列列---字段;列类型( 宽、 类型)---数据类型(长度、类型)–行行---记录记录–表表=列列+行行-------字段字段+记录记录姓名编号单位性别oracle数据库教程课件 表看scott用户有哪些表然后查看其中一个表的结构和内容#sqlplus scott/tigersql>select table_name from tabs; (user_tables)sql>desc emp;sql>select * from emp;oracle数据库教程课件 表•表结构(DDL)•create table•alter table•drop table•truncate table•表内容(DML)•insert•update•delete•desc table_name •select field_name from table_name oracle数据库教程课件 基本数据类型=CHAR[(n)]n<=255=VARCHAR2(n) n<=2000=LONG(n) n<=2G •NUMBER[(m[,n])]m精度(1-38) n小数后位数•RAW(n)二进制数据 n<=2000•LONG RAW(n)n<=2G =DATE 缺省形式‘DD-MON-YY’=ROWID 内部数据类型 (数据库序号.行序号.数据文件号)=NULL字符串用单引号括起来字符串用单引号括起来可以存储声音、图片oracle数据库教程课件 日期型数据的格式说明•Days–dd number12–dyabbreviated fri–dayspelledoutFriday–ddspthspelled out,ordinaltwelfth•Month–mmnumber03–monabbreviatedmar–monthspelled outmarch•Year–yyyear87–yyyyyear and century1987oracle数据库教程课件 日期型数据的格式说明•缺省日期型:dd-mon-yyselect sysdate from dual; 系统:date,time•改变日期形式:•1.本次会话SQL> ALTER SESSION SET NLS_DATE_FORMAT='YY-MM-DD';•2.下次启动后永久生效----改文件设置INITSID.ORA中的NLS_DATE_FORMAT参数可改变缺省日期的格式。

      oracle数据库教程课件 表结构•1.建立sql>create table table_name (column_name1 datatype [not null|unique], column_name2 datatype [not null|unique], column_name2 datatype [not null|unique]);;oracle数据库教程课件 表内容•1.插入记录sql>insert into table_name [column_name-a, …,column_name-x] values (column_value-a,…,column_value-x);oracle数据库教程课件 表结构•2.变更1>修改 sql>alter table table_name modify(column_name datatype );2>增加 sql>alter table table_name add(column_name datatype );oracle数据库教程课件 表内容•2.修改记录sql>update table_name set column_name1= values1,column_name2=values2 [where search_conditions];oracle数据库教程课件 表内容•3.删除记录sql>delete [from] table_name [where search_conditions];sql>truncate tabletruncate table table_name; ;oracle数据库教程课件 表结构•3.删除1>删结构及内容sql>drop tabledrop table table_name; ;oracle数据库教程课件 事物处理•事物处理命令提交:commit回滚:rollback保留点:savepoint•SQL> SAVEPOINT CLARK_SAL;•SQL> ROLLBACK TO SAVEPOINT BLAKE_SAL;oracle数据库教程课件 2. 命令修改a 当前行末追加c/old/new 更改cl buff 清缓存del 删除(n, last, m n)i 加入(i, i text)save 保存edit、vi 编辑start @3.保存命令4.执行命令1.显示命令l 显示(l,l n ,l m n,l last)SQL*PLUSSQL*PLUSoracle数据库教程课件 练习•建表•注意利用SQL命令缓冲区•插入、修改、删除数据(注意条件)•提交、回滚oracle数据库教程课件 练习•表名txl-n•结构:学号 数字型 3 唯一 姓名 可变长字符串 10 非空 出生 日期型 数字型 10•查看结构、查看内容oracle数据库教程课件 练习•1.增加字段 单位 可变长字符串 12•2.修改字段 出生 可变长字符串 5(原日期)oracle数据库教程课件 练习•插入数据 至少5条•修改数据 (根据条件)•删除数据(根据条件)oracle数据库教程课件 SQL语句中的函数•字符函数–substr、length 、lower 、rtrim 、ltrim•数值函数–abs 、mod 、round 、trunc 、nvl•日期函数–months_between 、add_months 、next_day•转换函数–to_char 、to_dateoracle数据库教程课件 数据查询语言(DML)命令•SELECT语句SELECT <查询内容>FROM <表名>WHERE <条件>GROUP <分组内容>HAVING <组内条件>ORDER BY <排序内容>oracle数据库教程课件 简单查询•无条件查询•条件查询•排序•统计•分组统计oracle数据库教程课件 分组函数(统计函数)•完成对一组记录的统计处理–count({*| [distinct|all] x}): 行数–sum(x):数据列求和–avg([distinct|all] x):数据列平均值–max(x):列的最大值–min(x): 列的最小值 除count(*)外,当使用分组函数时,均忽略空值oracle数据库教程课件 分组函数(统计函数)•练习1 工资的平均值2 奖金的最大值3 工资的总和4 最低工资5 表中数据行的总数6 有多少个不同的部门oracle数据库教程课件 分组查询与排序•数据分组:对有重复值的列进行分组。

      •查询: SELECT col1,col2,分组函数 FROM table1 WHERE conditions GROUP BY col1,col2 HAVING condition ORDER BY col1,col2 SELECT选择的列,必须出现在GROUP BY 子句中;GROUP BY 子句中的列只能是SELECT选择的列或分组函数中的列顺序无关oracle数据库教程课件 分组查询练习:1)编写SQL语句,从EMP表中返回---部门编号、部门平 均工资2)编写SQL语句,从EMP表中返回----部门编号、部门工资总和条件是:部门工资总和大于80003)编写SQL语句,从EMP表中返回----部门编号、部门平均工资条件是:除了部门10,部门工资平均值大于1500的部门的情况oracle数据库教程课件 2多表查询---连接•等值连接•非等值连接--------------------•自连接•外连接oracle数据库教程课件 select ename,dnamefrom emp e,dept dwhere e.deptno=d.deptno 2 等值连接(EQUIJOIN)•基于列的相等性来连接两张或多张表。

      题目: 查找雇员姓名及所在部门的名称.oracle数据库教程课件 2非等值连接(NON-EQUIJOIN)•基于列的不等性来连接两张或多张表题目:请查找雇员SMITH的工资和工资等级情况, 希望显示的信息---员工名、工资、工资等级.oracle数据库教程课件 2非等值连接(NON-EQUIJOIN)请分析下列语句:请分析下列语句:SELECT ENAME,SAL,GRADE FROM EMP,SALGRADWHERE ENAME=‘SMITH’;SELECT * FROM SALGRAD;SELECT ENAME,SAL,GRADE FROM EMP,SALGRADWHERE ENAME=‘SMITH’AND SAL BETWEEN LOSAL AND HISALoracle数据库教程课件 2等值连接和非等值连接题目:查找工资级别为2的雇员的信息 要求显示的信息:雇员的姓名,部门的名称, 工资、工资级别SELECT ENAME,DNAME,SAL,GRADEFROM EMP,DEPT,SALGRADEWHERE GRADE=2 AND SAL BETWEEN LOSAL AND HISAL AND EMP.DEPTNO=DEPT.DEPTNO;oracle数据库教程课件 2自我连接(SELF JOIN)•将表连接到自身–在SQL语句中一个表暂时重新命名为两个表。

      题目:EMP中查找员工和其经理的对应关系:要求-员工名称和其经理的名称同一基表的不同行做联接,如同两个独立的基表,在FROM子句中至少要为一个基表起别名,以区别联接条件中的列名oracle数据库教程课件 2自连接(SELF JOIN)SELECT WORKER.ENAME, MANAGER.ENAME MANAGERFROM EMP WORKER, EMP MANAGERWHERE WORKER.MGR=MANAGER.EMPNO;oracle数据库教程课件 2外连接(OUTER JOIN)•用于返回存在在一张表上 的所有数据行,甚至相对 应的行 在连接的表中不存 在•(+)号用于在查询中的 OUTERJOIN• 带(+)的表是那些没有 相应行的表oracle数据库教程课件 2外连接(OUTER JOIN)题目1:EMP中查找员工和其经理的对应关系: 要求-员工名称和其经理的名称,请注意使用外连接及(+)放置位置SELECT WORKER.ENAME, MANAGER.ENAME MANAGERFROM EMP WORKER,EMP MANAGERWHERE WORKER.MGR=MANAGER.EMPNO(+);oracle数据库教程课件 2外连接(OUTER JOIN)题目2:查找哪些部门有叫SMITH的人 显示:雇员名称、部门名称(所有部门都要列出来)ENAME DNAME---------- -------------- ACCOUNTINGSMITH RESEARCH SALES OPERATIONS SELECT ENAME,DNAMEFROM EMP E,DEPT DWHERE E.DEPTNO(+)=D.DEPTNO AND E.ENAME(+)=’SMITH’;oracle数据库教程课件 2外连接(OUTER JOIN)题目3:查找哪些部门没有叫SMITH的人 要求显示信息:雇员名称、部门名称ENAME DNAME---------- -------------- ACCOUNTINGSMITH RESEARCH SALES OPERATIONS select ename,dnamefrom emp e,dept dwhere e.deptno(+)=d.deptnoand e.ename(+)='SMITH'and e.ename is null oracle数据库教程课件 子查询•单行值子查询•多行值子查询•多列子查询•相关子查询oracle数据库教程课件 单行值子查询•工资高于7698号雇员,并且工种与他相同的雇员情况SQL>SELECT ENAME,SAL,JOB FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE EMPNO=7698) AND JOB=(SELECT JOB FROM EMP WHERE EMPNO=7698);oracle数据库教程课件 多行值子查询•谓词IN, NOT IN–哪些部门没有叫SMITH的雇员。

      SQL> select dept.deptno,dname,loc from dept 2 where dept.deptno not innot in 3 ( select deptno from emp 4 where ename='SMITH');oracle数据库教程课件 多行值子查询•ANY: 子查询返回结果中的任一值满足条件即可•ANY前可以使用!=、>、<、>=、<=•查询工种不为销售员,并且工资小于其中任一销售员的雇员信息SQL> SELECT EMPNO,ENAME,SAL 2 FROM EMP 3 WHERE SAL SELECT EMPNO,ENAME,SAL FROM EMP 2 WHERE SAL>ALL( SELECT SAL FROM EMP WHERE DEPTNO=20);•也可表达为:SQL> SELECT EMPNO,ENAME,SAL FROM EMP 2 WHERE SAL>( SELECT MAX(SAL) FROM EMP WHERE DEPTNO=20);oracle数据库教程课件 多行值子查询•EXISTS: 子查询至少返回一行时条件成立。

      •NOT EXISTS:子查询不返回任何行时条件成立用途确定一个表中的哪些信息在另一个表中没有匹配•用NOT EXISTS代替NOT INoracle数据库教程课件 多列子查询•例:查出工资、奖金与20号雇员匹配的人员SQL> select ename from emp where (nvl(comm,0),sal) in (select nvl(comm,0),sal from emp where deptno=20);oracle数据库教程课件 相关子查询•例:查出工资、奖金与20号雇员匹配的人员SQL> select ename from emp where (nvl(comm,0),sal) in (select nvl(comm,0),sal from emp where deptno=20);oracle数据库教程课件 其它查询•集合–UNION –INTERSECT–MINUS•树查询oracle数据库教程课件 UNION•UNION:将表和视图中的记录合并在一起所有部门中有哪些雇员的工资超过2OOO?SQL> select * from emp where sal>2000SQL>select ename,sal from dept10 where sal>2000 union select ename,sal from dept20 where sal>2000 union select ename,sal from dept30 where sal>2000;oracle数据库教程课件 视图SQL> create view dept10 as 2 select ename,job,sal from emp 3 where deptno=10;dept20、dept30的创建过程同dept10oracle数据库教程课件 INTERSECTl返回查询结果中相同的部分。

      哪些部门有相同的工种?SQL>select distinct a.job from emp a,emp b where a.deptno<>b.deptno and a.job=b.jobSQL> select job from dept30 intersect select job from dept20 intersect select job from dept10;oracle数据库教程课件 MINUSl返回第一个查询结果中与第二个查询结果不相同的那部分行记录 有哪些工种是在财会部有,而在销售部中没有?SQL>select job from emp where deptno=10 and job not in (select job from emp where deptno=30);SQL> select job from dept10 minus select job from dept30;oracle数据库教程课件 子查询注意•子查询必须用括号括住;•子查询必须只有一列,或者子查询的多列与主查询中用括号括起来的多个列连接;•单行值子查询可以使用单值或多值运算符,多行子查询必须使用多值运算符;•BETWEEN AND不能用于子查询;•子查询中不能使用ORDER BY子句;oracle数据库教程课件 测试操作运算符单值: =、>、>=、<、<=、!= 、^=、<> LIKE、IS NULL、IS NOT NULL。

      多值: IN、NOT IN; (BETWEEN AND、NOT BETWEEN AND) ANY、NOT ANY; ALL、NOT ALL; EXISTS、NOT EXISTSoracle数据库教程课件 ORACLE数据库体系结构•ORACLE数据库的存储结构•ORACLE数据库的软件体系结构1. 逻辑存储结构逻辑存储结构2. 物理存储结构物理存储结构1. 实例实例2. Oracle 8网络网络* 锁机制和锁机制和SCNoracle数据库教程课件 数据库存储结构•物理结构–是实际数据的存储单元,例如数据库文件•逻辑结构–是数据概念上的组织,例如表空间 因为物理和逻辑结构是分开的,数据物理存储的管理并不影响逻辑结构,能灵活的独立管理oracle数据库教程课件 表空间和数据文件oracle数据库教程课件 •由组成数据库的操作系统文件决定•数据库的文件提供了数据库信息的实际物理存储•三种类型的文件–控制文件:记录数据库的物理结构–数据文件:包括全部数据库数据–日志文件:记录对数据库所做的修改物理结构--数据库文件oracle数据库教程课件 Oracle数据库结构组成 Parameter FileDatafilesControl FilesRedo Log FilesOracle Databaseoracle数据库教程课件 物理结构-控制文件控制文件oracle数据库教程课件 物理结构-控制文件控制文件oracle数据库教程课件 物理结构-控制文件1. $ORACLE_HOME/dbs目 录 下 , ls *.ora : initTX08.ora configTX08.ora control_files = (/data1/oracle8//oradata/TX08/control01.ctl, /data1/oracle8/oradata/TX08/control02.ctl, /data1/oracle8/oradata/TX08/control03.ctl) 2. SQL> select * from V$controlfile;oracle数据库教程课件 物理结构-日志文件联机重做日志文件归档日志文件oracle数据库教程课件 以ORACLE FOR SOLARIS为例:数据文件:mount_point/oradata/ora_sid/system01.dbfmount_point/oradata/ora_sid/tools01.dbfmount_point/oradata/ora_sid/users01.dbfmount_point/oradata/ora_sid/temp01.dbfmount_point/oradata/ora_sid/rbs01.dbf控制文件:mount_point/oradata/ora_sid/control01.ctlmount_point/oradata/ora_sid/control02.ctlmount_point/oradata/ora_sid/control03.ctl日志文件:mount_point/oradata/ora_sid/redoora_sid01.logmount_point/oradata/ora_sid/redoora_sid02.logmount_point/oradata/ora_sid/redoora_sid03.logoracle数据库教程课件 逻辑组成•多个表空间(tablespace)组成•一个表空间是一个逻辑存储区•数据库模式(schema)对象•模式是对象的集合。

      模式对象直接涉及数据库数据的逻辑结构 ,包括表、视图、序列、存储过程、同义词、索引等 逻辑存储结构包括表空间、段逻辑存储结构包括表空间、段(segment)、区、区(extent)、块、块(block),指明如何使用数据库物理空间指明如何使用数据库物理空间oracle数据库教程课件 表空间的几个概念•表空间分类: – System表空间、其它表空间–只读表空间、可读写表空间 •表空间的状态: 脱机、联机--控制数据的可用性•表空间大小的管理:建立、增加、修改oracle数据库教程课件 表空间的几个概念•表空间的状态: 脱机、联机--控制数据的可用性•SQL> alter tablespace name offline normal;•SQL> select * from user_tablespaces;•SQL> alter tablespace test online;•SQL> select table_name , tablespace_name from tabs; oracle数据库教程课件 单一表空间-system表空间oracle数据库教程课件 多个表空间-system表空间和其它表空间oracle数据库教程课件 表空间中数据文件的自动增长oracle数据库教程课件 表空间的物理存储区-数据文件oracle数据库教程课件 数据库对象的物理存储区-段oracle数据库教程课件 例子:表空间与表空间中对象CREATE TABLESPACE user_dataDATAFILE '\data\user1Tx08.dbf ' SIZE 5MONLINEDEFAULT STORAGE (INITIAL 10KNEXT 10KMINEXTENTS 2MAXEXTENTS 50PCTINCREASE 0 ); ;oracle数据库教程课件 逻辑结构—段、区和数据块•数据库空间的分配单元是段、区和数据块。

      段:决定数据库对象使用的全部区的集合区:由连续的数据块的集合块:Oracle数据库磁盘存取的最小的单元oracle数据库教程课件 保存表和簇的所有数据的区的聚集保存特殊索引的所有数据的区的聚集1.数据段2.索引段逻辑结构—段类型oracle数据库教程课件 4.临时段回滚段回滚段记录一个事务的回滚数据记录一个事务的回滚数据事务可以使用提交或回滚结束回滚即撤消事务的全部作用,就象事务从未发生过要实现回滚,必须跟踪事务所更改的数据,直到提交或回滚保存属于临时对象的数据的区的聚集保存属于临时对象的数据的区的聚集SQLSQL语句经常要求临时工作区语句经常要求临时工作区例如,当为一个大表创建索引时,必须分配临时空间,排序全部的索引项;当处理一条需要临时工作空间的SQL,就从数据库的表空间中分配小的临时段语句完成后,将段释放回表空间3.回滚段逻辑结构—段类型oracle数据库教程课件 查询有哪些类型的段:SQL> select distinct segment_type from dba_segments;(以SYS和SYSTEM用户身份登录)逻辑结构—段类型•查询某一用户在某一表空间中段的占有情况:SQL> column segment_name format a10SQL> select * from user_segments;SQL> select * from user_segments where tablespace_name='TEST';oracle数据库教程课件 •数据段每张非聚簇表有一个单独的数据段来存放所有的数据。

      SQL> select segment_name from dba_segments where segment_type='TABLE';逻辑结构—段类型•索引段每个索引有单独的索引段来存放数据SQL> select segment_name from dba_segments where segment_type='INDEX';•ROLLBACK•TEMPORARYoracle数据库教程课件 逻辑结构—区•当创建新的数据对象(表、索引等)时,Oracle为对象的段分配一个或多个区•区是存储对象段的表空间数据文件中的一系列连续的数据块oracle数据库教程课件 逻辑结构—区•区的设置(决定区的参数)–创建段时,可以决定分配区的数目maxextents 最大分配的区数,minextents 最小分配的区数–可以控制区的大小能够设置段的初始区间和后续区间的大小initial 最初分配的空间数(缺省为10k,5个数据块)next 下一步分配的空间数pctincrease 增长率,指数级增长oracle数据库教程课件 逻辑结构—区•SQL> select * from user_extents;•SQL> select * from dba_extents;(SYS用户和SYSTEM用户)oracle数据库教程课件 逻辑结构—数据块•最小最小的磁盘存取单元,当操作一个数据库时,Oracle使用数据块存储和提取磁盘上的数据。

      当查询一个表时,Oracle将含有查询结果集记录的全部数据快读取到服务器的内存中•由一个或多个O/S 块组成•在数据库创建时设定块大小块大小,块大小必须等于O/S 块的大小或它的倍数 如果服务器的操作系统块大小是512K,数据块大小可以是512K、1024K和2048K等oracle数据库教程课件 InsertsInsertsInsertsInserts1234PCTFREE=2080%80%40%逻辑结构— 数据块空间PCTUSED=40oracle数据库教程课件 Made up ofPart ofTemporaryIndexCacheClusterRollbackDataSegmentTablespaceDatabaseLocation ofFreeExtentUsedMade up ofI nLocation ofInstanceDB BlockPart ofMade up ofOS BlockControllingControlled byFileLogical DiscPart ofMade up ofPart ofMade up ofMade up ofPart ofMade up ofPart ofPart ofPart of数据库结构组成oracle数据库教程课件 实例实例oracle数据库教程课件 实例实例=PGA+SGA+后台进程后台进程oracle数据库教程课件 程序全局区(PGA)•程序全局区(程序全局区(PGA))–用于保存用于保存服务器进程服务器进程的的数据数据和和控制信息控制信息。

      –当当用用户户进进程程要要连连接接到到Oracle数数据据库库服服务务器器时时,,会在实例中为其分配相应的服务器进程会在实例中为其分配相应的服务器进程oracle数据库教程课件 SGA组成Shared PoolDatabase Buffer CacheRedo LogBuffer System Global Area(SGA)Shared SQL AreasData Dictionaryoracle数据库教程课件 系统全局区(系统全局区(SGA))1.数据库高速缓存(数据库高速缓存(Data Block Buffer Cache))oracle数据库教程课件 系统全局区(系统全局区(SGA))2.重做日志缓冲区(重做日志缓冲区(Redo Log Buffers))oracle数据库教程课件 系统全局区(系统全局区(SGA))3.数据字典高速缓存(数据字典高速缓存(Dictionary Cache))该高速缓存用于存放该高速缓存用于存放最近使用和经常使用最近使用和经常使用的数据字典的数据字典信息当下次需要这些信息时,就可以直接从数据字信息当下次需要这些信息时,就可以直接从数据字典高速缓存中读取到这些信息,从而提高系统性能典高速缓存中读取到这些信息,从而提高系统性能.oracle数据库教程课件 系统全局区(系统全局区(SGA))•共享共享SQL池用于保存池用于保存SQL语句的语句的执行计划和分析树执行计划和分析树。

      •当当执执行行SQL语语句句时时,,系系统统会会将将相相应应的的执执行行计计划划和和分分析析树树保保存存到到共共享享SQL池池中中然然后后当当再再次次执执行行这这些些SQL语语句句时时,,系系统统会会自自动动使使用用原原有有执执行行计计划划和和分分析析树树,,从从而而提提高高了了系系统统性性能能4. 共享共享SQL池(池(Shared SQL Pool)oracle数据库教程课件 Oracle后台线程后台线程oracle数据库教程课件 后台进程后台进程1. DBWRoracle数据库教程课件 后台进程后台进程 2. LGWRoracle数据库教程课件 后台进程后台进程3. ARCHoracle数据库教程课件 实例与数据库的关系一对一一对多oracle数据库教程课件 创建实例oracle数据库教程课件 OPENOPENMOUNTMOUNTNOMOUNTNOMOUNTSHUTDOWNSHUTDOWNAll files opened as All files opened as described by the described by the control thiscontrol thisinstance.instance.Control for this Control for this instance.instance.Instance Instance started.started.START UPSTART UP 启动一个实例START UPSTART UPoracle数据库教程课件 数据库的启动•启动实例启动实例-----nomount打开初始化参数文件 svrmgr>connect internal svrmgr>startup nomount; svrmgr>select * from v$process; svrmgr>select * from v$controlfile; svrmgr>select * from v$logfile; svrmgr>select * from v$datafile;oracle数据库教程课件 数据库的启动•装配数据库装配数据库-----mount 打开控制文件 方法1: svrmgr>alter database mount; 方法2: svrmgr>connect internal svrmgr>startup mount; 查询操作同前页。

      oracle数据库教程课件 数据库的启动•打开数据库------open 打开数据文件和日志文件 方法1: svrmgr> alter database open; 方法2: svrmgr>connect internal svrmgr>startup; svrmgr>select * from user_tablespaces; svrmgr>select * from dba_data_files;oracle数据库教程课件 OPENOPENMOUNTMOUNTNOMOUNTNOMOUNTSHUTDOWNSHUTDOWNAll files opened as All files opened as described by the described by the control thiscontrol thisinstance.instance.Control for this Control for this instance.instance.Instance Instance started.started.SHUTDOWNSHUTDOWN 关闭一个实例SHUTDOWNSHUTDOWNoracle数据库教程课件 数据库实例的关闭•关闭数据库 关闭数据文件和日志文件 svrmgr>shutdown;•卸下数据库 关闭控制文件 svrmgr>shutdown;•停止实例 关闭初始化参数文件 svrmgr>shutdown;oracle数据库教程课件 Oracle8网络与Net8•Net8----Oracle的网络连接软件•连接描述器与tnsnames.ora•监听进程与listener.ora•监听进程的操作命令•配置服务器•配置客户机•调试连接问题oracle数据库教程课件 Net8oracle数据库教程课件 SQL*NET原理及所需配置文件原理及所需配置文件listener.oratnsnames.oraProcessServeroracle数据库教程课件 连接描述器与tnsnames.ora•TX08=( DESCREPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=200.1.1.115) (PORT=1521) ) (CONNECT DATA= (SID=TX08) )… …)•$ORACLE_HOME/network/admin-----tnsnames.ora•tnsnames.ora 2个要求个要求oracle数据库教程课件 监听进程与listener.ora•Listener=(ADDRESS LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=200.1.1.115) ) ) ---------------------------------------------------------------------------- (SID_LIST_LISTENER= (SID LIST= ( SID_DESC= SID_NAME=TX08 ORACLE_HOME=/DATA1/ORACLE/TX08 ) ) )1.地址列表地址列表2.监听服务的实例列表监听服务的实例列表oracle数据库教程课件 监听进程的操作命令•lsnrctl•lsnrctl> start listenername• stop listenername• • status listenername• version listenername• set current_listener listenername•-----检查监听进程是否启动检查监听进程是否启动: ps -ef|grep tnslsnroracle数据库教程课件 配置服务器•识别可用宿主识别可用宿主 /etc/hosts ------解决地址映射解决地址映射•识别可用服务识别可用服务 /etc/services ----listener 1521•识别可用数据库识别可用数据库 /var/opt/oracle/oratab Oracle_SID:ORACLE_HOME:N/Y•启动启动Net 8 ----lsnrctloracle数据库教程课件 配置客户机•识别可用宿主识别可用宿主 /etc/hosts (or ..)------解决地解决地址映射址映射•识别可用服务识别可用服务 /etc/services (or.. )----listener 1521•NIC(网络接口卡网络接口卡)、、OS、、TCP/IP、、NET8•运行运行NET8oracle数据库教程课件 远程访问数据库•Sqlplus 用户名用户名/密码密码@ 服务名(连接串)服务名(连接串)•Sqlplus scott/tiger@TX08oracle数据库教程课件 调试-连接问题•可达?可达?telnet、、ping (客户端(客户端--远程主机)远程主机)•监听?监听? 服务器服务器---通过通过@连自己连自己 客户端客户端---tnsping 服务名服务名 次数次数oracle数据库教程课件 安全管理•用户管理–创建用户create user–修改用户alter user–删除用户drop useroracle数据库教程课件 用户与模式oracle数据库教程课件 用户分类l超级用户l数据库管理员l普通用户oracle数据库教程课件 超级用户internaloracle数据库教程课件 数据库管理员•数据库管理员(数据库管理员(DBA)) 是指具有是指具有DBA角色的用户,它们用于管理发生角色的用户,它们用于管理发生在数据库内的操作。

      如在数据库内的操作如SYS、、SYSTEMoracle数据库教程课件 普通用户•普通用户是指根据特定需求使用命令普通用户是指根据特定需求使用命令CREATE USER所创建的用户所创建的用户oracle数据库教程课件 数据库验证CREATE USER aca IDENTIFIED BY asiainfo;CONNECT aca/asiainfooracle数据库教程课件 外部验证CREATE USER OPS$administrator IDENTIFIED EXTERNALLY;oracle数据库教程课件 企业验证•企业验证是指由企业验证是指由Oracle Security Service (OSS)来验证数据库用户的方式当使用这种来验证数据库用户的方式当使用这种方式验证数据库用户时,由方式验证数据库用户时,由Oracle数据库来数据库来管理用户帐户,并且口令和用户鉴定则由管理用户帐户,并且口令和用户鉴定则由OSS来完成oracle数据库教程课件 创建用户•创建用户ACAoracle数据库教程课件 创建用户CREATE USER username IDENTIFIED BY userpassword [DEFAULT TABLESPACE tablespace1] [TEMPORARY TABLESPACE tablespace2][QUOTA n K ON tablespace1]; M UNLIMITED空间限额oracle数据库教程课件 修改用户•修改用户username所使用的缺省表空间•修改用户的口令ALTER USER username TABLESPACE user_data;ALTER USER username IDENTIFIED BY userpasswd;oracle数据库教程课件 删除用户•DROP USER username [cascade]oracle数据库教程课件 特权管理•特权简介•系统特权的授予和收回•对象特权的授予和收回oracle数据库教程课件 系统特权oracle数据库教程课件 对象特权oracle数据库教程课件 特权管理•系统权限(system privilege )–针对整个系统操作的权限–dba_sys_privs,•用户权限(object privilege)–针对具体object操作权限–dba_tab_privs;视图–dba_col_privs;oracle数据库教程课件 系统特权的授予和收回•授予用户系统特权GRANT systemprivs TO username [WITH ADMIN OPTION] •收回系统特权REVOKE systemprivs FROM username ;oracle数据库教程课件 对象特权的授予和收回•授予用户对象特权GRANT 对象特权对象特权 TO username [WITH GRANT OPTION];•收回对象特权REVOKE 对象特权对象特权 FROM username ;oracle数据库教程课件 授于用户连接Oracle数据库的权限Sgrant connect tousername [with grant option];rolenameprivilege......oracle数据库教程课件 Object PrivilegeSELECT UPDATE INSERT ALTER DELETE EXECUTE INDEX REFERENCESTypes of Object PrivilegesTableView Sequence Procedure1 12 23 31包括存储过程、函数和包2该权限不能授予角色3授予快照对象权限种类表oracle数据库教程课件 角色管理•角色简介•创建、修改、删除角色•授予和收回角色特权•授予和收回用户角色•禁止和激活角色oracle数据库教程课件 角色简介oracle数据库教程课件 角色简介•角色分类角色分类•角色特权角色特权•授予和收回用户角色授予和收回用户角色•角色口令角色口令•禁止和激活角色禁止和激活角色oracle数据库教程课件 角色•连接角色–connect连上Oracle,做最基本操作•资源角色–resource 具有程序开发最基本的权限•数据库管理员角色–dba数据库管理员所有权限oracle数据库教程课件 角色•卸出数据库角色–exp-full-database 可把数据库整个备份输出的权限•卸入数据库角色–imp-full-database 可把数据库整个备份恢复输入的权限oracle数据库教程课件 创建角色•创建角色CONNECT system/securityCREATE ROLE connect_role;CREATE ROLE insert_role IDENTIFIED BY insert_data;;oracle数据库教程课件 授予角色特权授予角色特权CONNECT system/securityGRANT CREATE SESSION TO connect_role;CONNECT aca/asiainfoGRANT insert ON dept TO insert_role;GRANT update ON emp TO update_role;oracle数据库教程课件 授予用户角色授予用户角色 CONNECT system/securityGRANT connect_role,update_role TO username;CONNECT username/passwdupdate username.emp set salary=salary+100 where salary<2000;oracle数据库教程课件 禁止角色禁止角色•CONNECT username/passwd•SET ROLE NONE;•update aca.auths set salary=salary+100;oracle数据库教程课件 激活角色激活角色•SET ROLE update_role IDENTIFIED BY update_data;•update username.emp set salary=salary+100;oracle数据库教程课件 设置用户的缺省角色设置用户的缺省角色CONNECT system/securityALTER USER username DEFAULT ROLE connect_role;oracle数据库教程课件 修改和删除角色•修改角色•ALTER ROLE•删除角色•DROP ROLEoracle数据库教程课件 完整性约束•主码完整性约束•非空完整性约束•唯一完整性约束•check完整性约束•引用完整性约束oracle数据库教程课件 完整性约束Create table emp1(empno number(4) not null check(empno between 1000 and 9999) unique, ename char(10), job char(9), mgr number(4) constraint emp1_self_key references emp1(empno), hiredate date, sal number(7,2), comm number(7,2), deptno number(2) not null, constraint emp1_foreign_key foreign key(deptno) reference dept(deptno), constraint emp1_primary_key primary key(empno));oracle数据库教程课件 数据定义语言(DDL)•建立DB结构(DB,表空间)•建立DB对象–TABLE,VIEW,CLUSTER,INDEX•实现分布式DB机制(数据透明性)–VIEW,同义词,DB链,快照,快照日志•安全性控制–用户,角色,授权,环境文件,审计•完整性控制–完整性约束,触发器•提供应用处理–过程,函数,包oracle数据库教程课件 数据定义语言命令•表空间•表•视图•索引oracle数据库教程课件 会话控制命令•ALTER SESSION命令•SET ROLE命令系统控制命令•ALTER SYSTEM命令oracle数据库教程课件 视图•结构–create view–alter view–drop view•内容–insert–update–deleteoracle数据库教程课件 索引•结构–create index–alter index–drop index–reindexoracle数据库教程课件 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.