Oracle总结一
1 数据库相关概念
1.1 数据
数据是描述事物的符号,它有多种表现形式:文本,图形,音频,视频。计算机处理数据的基本单位是字节。
1.2 数据库(Database, 简称DB)
同粮库,车库类似,数据库是计算机中存储和管理数据的仓库,可被用户共享。
1.3 数据库管理系统(Database Management System)
数据库管理系统(DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
常用的数据库管理系统有:Oracle, MySQL, SQL Server ,DB2,Access等
1.4 数据库应用系统(Database Application System)
数据库应用系统(DBAS)是在数据库管理系统基础上,使用数据库管理系统的语法,开发的直接面向最终用户的应用程序。例如:学生管理系统、人事管理系统、图书管理系统,京东商城等
1.5 数据库管理员(Database Administrator)
数据库管理员即数据库管理系统的操作者,简称DBA
1.6 最终用户
数据库应用程序的使用者称为最终用户
1.7 数据库系统( Database System, DBS)
数据库+数据库管理系统+数据库应用程序+数据库管理员+最终用户
1.8 数据库发展阶段
-- 1.网状数据库
-- 2.层次数据库
-- 3.关系型数据库
采用关系(二维表)结构储存与管理数据;采用结构化查询语言(SQL)作为客户端程序与数据库服务器间沟通的桥梁,关系型数据库是目前主流的数据库技术
-- 4.面向对象数据库
把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致
-- 5.NOSQL数据库
Not Only SQL数据库,泛指非关系型数据库。如MongoDB
关系型数据库在超大规模和高并发的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题。NoSQL数据库的产生就是为了解决大规模数据及多重数据种类带来的挑战,尤其是大数据应用难题。
2 认识Oracle
2.1 Oracle(甲骨文)公司
发展历程:
1,1977年,三个人在硅谷合伙创办名为软件开发实验室(Software Developement Laboratories,SDL)的计算机公司(ORACLE公司的前身)
2,1979年,更名为Relational Software Inc. RSI
3,1983年,为实出核心产品,RSI更名为Oracle
4,2002年04月26日,启用“甲骨文”作为中文注册商标
5,2009年4月20日,甲骨文公司收购SUN公司
6,2013年,甲骨文超越IBM,成为继Microsoft之后全球第二大软件公司
7,2014年10月01日甲骨文公司创始人拉里·埃里森,以500亿美元排名第三。
2.2 Oracle数据库管理系统
Oracle数据库管理系统是Oracle公司的核心产品 ,目前最流行的数据库管理系统。我们通常说的Oracle数据库就是指Oracle数据库管理系统。
主要版本:Oracle8i/9i(internet)、Oracle10g/11g(grid)
2013年6月26日,Oracle Database 12c(cloud)版本正式发布
3.Oracle安装,连接测试
3.1 Oracle安装
Oracle安装的注意事项如下:
-- 1.计算机硬件要求
主要是内存容量,建议8G及以上内存
-- 2.计算机软件要求
32位操作系统不要安装64位Oracle,注意操作系统和Oracle版本要匹配
-- 3.安装路径
Oracle会自动选择剩余空间最大的硬盘作为Oracle安装根路径,因此在安装时如果插上了移动硬盘则可能会把移动硬盘当成根路径,此时一定要修改成本地硬盘路径,并且路径上不要使用中文和特殊字符。例如:D:\app\lujun\Administrator
-- 4.其它注意事项
为了保证Oracle安装顺利进行,建议断网,关掉其他软件,关掉防火墙和杀毒软件
接下来按照安装向导,一步步安装即可,具体可参考“oracle11g安装教程.doc”
3.2 两个概念
A. 全局数据库名
唯一标识Oracle数据库的名称
B. 数据库实例名SID
实例名是和操作系统交互,Oracle数据库的一个引用。每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
以上两个名称通常相同(orcl)
3.3 Oracle服务
Windows下,安装Oracle 11g后生成多个服务。通过选择“控制面板”→“管理工具”→“服务”,打开“服务”窗口,可以看到Oracle的服务。如果要访问Oracle
数据库,需要开启监听器服务和实例服务
OracleService<SID>:数据库实例服务
OracleOraDb11g_hom1TNSListener :数据库监听服务
OracleDBConsoles<SID>:企业管理器服务
3.4 Oracle连接测试
连接Oracle数据库管理系统(Oracle服务器)的方式有两种:
3.4.1 使用”SQL Plus”来连接
选择开始菜单里的”Oracle11g”--->”应用程序开发”--->”SQL Plus”来连接
3.4.2 安装第三方客户端PLSQL Developer,用PLSQL Developer来连接
3.4.3常见错误
错误1:ORA-12541: TNS: 无监听程序
出现这个错误,请到服务窗口中启动“OracleOraDb11g_hom1TNSListener ”
错误2:ORA-12560: TNS: 协议适配器错误
出现这个错误,请到服务窗口中启动“OracleServiceORCL”
大家要牢记连接Oracle服务器必需启动上面的两个服务
错误3:Ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
正常情况下一般只要服务启动,客户端连接数据库没有什么问题,但是有时重复启动服务也会出现ORA-12514错误,此时过一段时间再去连接数据库就OK了,如果确认两个服务都已启动成功,但还是报ORA-12514错误,那就需要考虑监听实例名,具体
操作:
打开D:\app\lujun\product\11.2.0\dbhome_1\NETWORK\ADMIN下的文件listener.ora,在listener.ora中增加如下内容:
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\app\lujun\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
再保存listener.ora文件,关闭并重新启动服务,问题解决!
注意:ORACLE_HOME是安装oracle服务器产品的基目录,一直写到dbhome_1路径
3.5 卸载Oracle
1.停止Oracle所有服务
2.通过开始菜单下Oracle中选项执行自动卸载
Oracle安装产品---Universal Installer
3.删除Oracle安照主目录 ,如D:\app
4.删除C盘下Oracle工作目录
C:\Program Files (x86)\Oracle
5.删除注册表中Oracle相关项
运行窗口中运行regedit,进入注册表编辑窗口
具体删除内容到网上查询
6.最好也删除以下内容
删除内容C:\Users\用户名\Oracle
删除开始菜单Oracle组和图标
删除环境变量中path中Oracle相关项
4 Oracle目录
\app\administator\product\11.2.0\dbhome_1\jdbc\lib:
该目录存放JDBC访问Oracle的驱动jar包
\app\administator\product\11.2.0\dbhome_1\NETWORK\ADMIN:
listener.ora和tnsnames.ora,配置监听器和本地网络服务名
\app\administator\product\11.2.0\dbhome_1\jdk:
存放Oracle自带的JDK
\app\administator\product\11.2.0\dbhome_1\deinstall:
执行其中的deinstall.bat进行第一步卸载操作
\app\administator\product\11.2.0\dbhome_1\install:
其中有oracle常用访问的端口列表
\app\administator\oradata\orcl:
存放指定数据库实例下的数据文件,控制文件和日志文件
5 Oracle系统用户
5.1 SYS和SYSTEM用户
SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限。SYS是Oracle的超级管理员,SYSTEM是oracle默认的系统管理员。我们平时用system来管理数据库就可以了。这个用户的权限对于普通的数据库管理来说已经足够了。
5.2 SCOTT用户
Scott是oracle的测试账户,练习账户
5.3 SCOTT解锁
如果在安装Oracle服务器软件时,忘记给Scott解锁了,可按照如下步骤去解锁:
1.先用System登录,创建一个SQL窗口,输入如下命令:
alter user scott account unlock;// 解锁
2. 执行命令”alter user scott identified by 新密码”给scott修改密码
接下来就可以用scott来登录oracle服务器了
6 配置监听器和本地网络服务名(掌握)
Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接
服务器端配置监听器,客户端配置本地网络服务名(包括四个连接参数)
在安装Oracle服务器软件时自动配置了一个监听器,并且自动创建了和数据库实例名相同的本地网络服务名
listener.ora和tnsnames.ora分别用来存储监听器和本地网络服务名的信息
服务器端要使用监听器对客户端的访问进行监听,listener.ora监听器配置内容:
客户端配置本地网络服务名,tnsnames.ora网络服务名配置:
注意:网络服务名包含4个参数,分别是:
1. 访问协议-----TCP
2. 服务器IP地址 ------localhost
3. 服务器监听端口------1521
4. 服务器端的哪个数据库实例-------orcl
一般来说,安装好oracle服务器软件后不需要配置监听器和网络服务名,特殊情况下,如果被电脑上其它软件破坏了默认的配置信息,则可以使用Oracle中的
Net Configuration Assistant或 Net Manager工具来配置监听器和网络服务名
7 Oracle主要技能点
7.1交互式操作:SQL语句
- 数据库表 table
- 索引 index
- 视图 view
- 序列 sequence
- 同义词 synonym
- 表空间 tablespace
- 存储过程 procedure
- 函数 function
- 触发器 trigger
- 包 package
7.2批处理操作:PL/SQL编程
7.3 其他内容
事务 、安全、 备份和恢复 、系统优化
7.4 SQL语言
常用的SQL语言有如下三类
- DQL(数据查询语言) select
- DML(数据操作语言)insert、update、delete
- DDL(数据定义语言)create、alter、drop
注意:数据操作语言针对表中的数据,而数据定义语言针对数据库对象(表、索引、视图、触发器、存储过程、函数、表空间等)。最基本的是DQL和DML,内容最多最复杂的是DQL
8 SQL语言基础(掌握)
先睹为快:
-- 查询数据
select * from emp;
select * from emp order by sal desc ;
-- 插入数据
insert into student (id,name,age) values(2,'lkl',45);
-- 修改数据
update student set score=88 where id=2;
-- 删除数据
delete from student where id=2;
-- 创建用户
CREATE USER bjsxt IDENTIFIED BY bjsxt;
-- 授予用户权限
GRANT connect,resource TO bjsxt;
8.1 什么是SQL语言
结构化查询语言(Structured Query Language)(发音?es kju??)
SQL是最重要的关系数据库操作语言,是所有关系数据库管理系统的标准语言
许多数据库厂商在使用SQL的同时,都对SQL进行了扩展,比如ORACLE的PL/SQL语言,MS SQL-Server的T-SQL语言
SQL语言是一种非过程化语言,只需要提出”做什么”,而不需要指明“怎么做”
8.2 SQL可以做什么
- 数据库数据的增删改查操作(CRUD)
- 数据库对象的创建,修改和删除操作
- 用户权限/角色的授予和取消
- 事务控制
8.3 SQL语言分类
SQL语言共分为五大类,分别如下:
1) DQL(数据查询语言) select
2) DML(数据操作语言)insert、update、delete
3) DDL(数据定义语言)create、alter、drop
4) DCL(数据控制语言)grant、revoke
5) TCL(事务控制语言) ROLLBACK、SET TRANSACTION ,COMMIT
数据操作语言针对表中的数据,而数据定义语言针对数据库对象(表、索引、视图、触发器、存储过程、函数、表空间等)
8.4 练习表介绍
Oracle数据库安装成功后,scott用户共有4张表:
以后我们就把这4张表作为练习表,分别如下:
- Dept 部门表
- Emp 员工表
- Salgrade 工资等级表
- Bonus 奖金表
以上每个表的表结构如下:
表和表之间的关系:员工属于某个部门,emp表引用dept表
8.5 关系型数据库的基本概念
- 关系:整个行和列的二维表
- 关系名:表格名称
- 元组:表的一行数据,又叫一条记录
- 属性:表的列,又叫字段
- 主键:唯一确定一行的字段(关键字段)
- 域:属性的取值范围
8.6 Select单表查询
8.6.1 最简单的单表查询
语法:select 字段1,字段2,字段3... from 表
特殊:如果要查询表的所有字段,则用*代替,例如:
Select * from emp; //查员工的全部信息
select empno, ename,sal from emp; //只查员工编号,姓名和月薪
8.6.2使用算术表达式
在Select语句中,对数值型数据可以使用算术运算符创建表达式,例如:
select empno, ename, sal, sal*12 from emp;
select empno, ename, sal, sal*12 +5000 from emp;
8.6.3 使用字段别名
可以为字段取个别名,方便更直观的显示查询结果,增强可读性。
给字段取别名的语法:字段 [as] 别名,as可省略。例如:
select empno as 员工编号, ename 员工姓名,sal 月薪, sal*12 年薪 from emp;
注意:别名如果含有空格或其他特殊字符或大小写敏感,需用双引号引起来。
AS可以省略 ,例如:
select empno as 员工编号, ename 员工姓名,sal 月薪, sal*12 "Total Salary" from emp;
select empno as 员工编号, ename 员工姓名,sal 月薪, sal*12 +5000 "全年收入(年薪加年终奖)" from emp;
8.6.4 连接运算符
连接运算符‘||’可以把列与字符、或其它表达式连接在一起,得到一个新的字符串,实现‘合成’列的功能。例如:
select ename||' is a '|| job from emp;
select empno, ename||' ''s total salary is '||sal*12 from emp;
8.6.5 去除重复行
缺省情况下,查询结果中包含所有符合条件的记录行,包括重复行。例如:
select deptno from emp;
使用DISTINCT关键字可从查询结果中清除重复行。例如:
select distinct deptno from emp;
select distinct job from emp; //查询所有的职位
注意:DISTINCT的作用范围是后面所有字段的组合
select, distinct deptno job from emp;
8.6.6 order by子句
使用order by 子句对查询结果进行排序
排序方式包括升序(asc,缺省)和降序(desc)两种:
select empno, ename, sal from emp order by sal;
select empno, ename, sal from emp order by sal desc ;
按多个字段排序:
select deptno, empno, ename, sal from emp order by deptno, sal
使用字段别名排序:
select empno, ename, sal*12 totalSal from emp order by totalSal
Oracle总结一的更多相关文章
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- Oracle 的基本操作符
!= 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- 基于Oracle安装Zabbix
软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用Oracle官方巡检工具ORAchk巡检数据库
ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...
- 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断
概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
随机推荐
- google guava Multimap的学习介绍
1.https://blog.csdn.net/gongxinju/article/details/53634434
- DevExpress--TreeList节点添加图片
这个过程相对来说比较简单,网上也有不少资料,但是自己在做过之后为了记住,算是给自己写一个博客吧. 下面直接上具体的流程 1.前提 控件使用的都是DevExpress和winform的原生控件两种: 2 ...
- springboot学习笔记-thymeleaf
Thymeleaf的介绍 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下三个极吸引人的特点: ...
- javascript知识整理之this
js中的this是一个头疼的问题,尤其对于笔者这种初级的菜鸟来讲,下面梳理下this的知识,可以当做是初级进阶也好入门也罢,总归输出的才是自己掌握的: Js中this不是由词法作用域决定的 而是调用时 ...
- C3P0连接池、DBCP连接池
C3P0连接池: 配置文件:c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c ...
- mybatis-plus代码生成器
public class MyBatisPlusGenerator { public static void main(String[] args) throws SQLException { //1 ...
- Linux - 结合正则表达式使用grep命令
Grep with Regular Expression grep命令基本用法 grep [-acinv] [--color=auto] [-A n] [-B n] '搜寻字符串' 文件名参数说明: ...
- Python函数学习——作用域与嵌套函数
全局与局部变量 在函数中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的函数. 当全局变量与局部变量同名时,在定义局部变量的函数内 ...
- 异步与并行~CancellationTokenSource对线程的作用
返回目录 说起CancellationTokenSource我们应该不会陌生,对于Thread,Task来说,我们启动一个线程去做一些事,如果希望它在某个阶段去被动的停止,可以使用这个Cancella ...
- 自动化测试 | UI Automator 入门指南
自动化测试的定义,这里先引用一段维基百科的定义: 在软件测试中,测试自动化(英语:Test automation)是一种测试方法,使用特定的软件,去控制测试流程,并比较实际的结果与预期结果之间的差异. ...