概要图

1. 环境搭建

1.1 Oracle的安装

数据库的三个常用的用户及默认密码
sys:change_on_install
system:manager
scott:tiger

Oracle客户端:
 sqlplus:Oracle自带的

1.2 sqlplus的启用

(1)Oracle的安装目录中找到sqlplus
(2)命令行中输入:sqlplus username/password@ip:port/database sid
(3)开始菜单->运行:输入sqlplus username/password@ip:port/database sid
注意:
(1)@ip:port:登录远程数据库使用,登录本地数据库可以省略,可以写成:sqlplus username/password
(2)database sid:选择数据库的意思。
(3)问题:登陆本地数据库:sqlplus username/password@ORCL

 PL/SQL DEVELOPER:第三方软件,需要自行安装

1.3 解锁用户和修改密码

(1)sqlplus连接到数据库:sqlplus sys/123456 as sysdba
(2)输入解锁语句:alter user scott account unlock;
(3)修改密码:alter user scott identified by 654321;
passw【ord】用户名:可以去修改其他用户的密码。
passw:表示修改自己的密码。
 如果配置了企业管理器的,可以使用Web登录数据库
企业管理器访问数据库地址:https://localhost:1158/em

2. 引言

2.1 为什么要使用数据库?

淘宝网订单数据保存什么地方的?文件,数据库
文件保存数据不方便:
(1) 安全性问题
(2) 不利于查询和管理
(3) 不利于海量数据的存储
(4) 文件在程序中不容易控制

2.2  什么是数据库?

数据库:数据的仓库,数据库是一个软件,是专家们设计出来的便于进行数据管理的软件。可以类比图书馆:图书馆:存放图书的 数据库:存放数据的

2.3  数据库的三层结构@

2.4 主流数据库

微软:sqlserver 和 access(小巧,免费,不占资源,数据量不大,系统功能不多,安全性要求不高的时候,可以使用)
Mysql:MySQL(开源的)较轻量级的数据库
Ibm:db2(主要做海量数据的存储和处理)
Oracle:Oracle 大型数据库,比较安全,服务好
Sysbase:(专注于Linux下的开发,金融领域用比较多)
思考题:(1)项目中如何去选择数据库?
1. 项目标的是什么?
2. 功能要求
3. 安全性和稳定的要求
4. 多少人用?(考虑并发)
5. 操作系统(Linux/Unix/Windows/MacOS)

Oracle的服务:
必须开启的服务:OracleService<SID> OracleOraDb11g_home1TNSListener
如果使用企业管理器,还需启动:OracleDBConsoleorcl

3 .数据库和数据库实例的概念

3.1 数据库

磁盘上存储的数据的集合
在物理上表现为数据文件、日志文件和控制文件等
在逻辑上以表空间形式存在
必须首先创建数据库,然后才能使用Oracle

3.2 数据库实例 @

每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
为了运行数据库,Oracle系统所运行的所有进程和分配的内存结构的组合体

注意:数据库:磁盘上,永久的 数据库实例:内存中的,临时的。

数据文件,控制文件,日志文件,表空间:

 1 数据文件dbf  2 控制文件.ctl  3 日志文件log    4 表空间 SYSAUX  SYSTEM  TEMP  USER  UNDO,分别对应Oradata目录下的5个DBF文件。

 1 2 3物理  4 逻辑

数据文件
扩展名是.DBF,用于存储数据库数据的文件
数据库表和数据文件不存在一对一对应关系

控制文件
扩展名是.CTL,是数据库启动及运行所必需的文件
默认包含3个控制文件,各个控制文件内容相同

日志文件
扩展名是.LOG,它记录了对数据的所有更改信息
多个日志文件组之间循环使用

表空间
每个Oracle数据库都是由若干个表空间构成,用户在数据库中建立的所有内容都被存储到表空间中
创建数据库时会自动创建若干表空间:SYSAUX SYSTEM TEMP USER UNDO,分别对应Oradata目录下的5个DBF文件。

3.3 表空间

我们知道oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间。

表空间属性:

一个数据库可以包含多个表空间,一个表空间只能属于一个数据库

一个表空间包含多个数据文件,一个数据文件只能属于一个表空间

表这空间可以划分成更细的逻辑存储单元

Oracle数据库的存储结构:

从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment )。 一个段(segment)由多个 区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。

  那么从物理的角度上看,一个表空间由多个数据文件组成,数据文件是实实在在存在的磁盘上的文件。这些文件是由oracle数据库操作系统的block 组成的。

Segment(段) :段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

Extent (区间):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.

3.3 基本概念区别图

4. Oracle的系统用户

4.1 sys和system用户的区别?@

【system】用户只能用normal身份登陆em。
【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。
“SYSOPER”权限,即数据库操作员权限,权限包括:
打开数据库服务器 关闭数据库服务器
备份数据库 恢复数据库
日志归档 会话限制
“SYSDBA”权限,即数据库管理员权限,权限包括:
打开数据库服务器 关闭数据库服务器
备份数据库 恢复数据库
日志归档 会话限制
管理功能 创建数据库

4.2 normal 、sysdba、 sysoper有什么区别?@

normal 是普通用户
sysdba拥有最高的系统权限
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
sysdba登陆后是 sys

5. sql*plus常用命令

(1) conn[ect]:切换用户
(2) disc[onnect]:断开某个用户和数据库的连接
(3) passw[ord]:修改用户密码
(4) show user:查看当前用户
(5) exit:退出数据库
(6) desc[ribe] 表名:查看表结构
交互式命令:
(1)&:可以替代变量,而在变量执行的时候,需要用户输入
Select * from emp where deptno=’&deptno’;
注意:Oracle中字符串用单引号
(2)ed[it]:编辑指定的.sql文件的 edit C:\a.sql
(3)spool:可以将sqlplus屏幕上的内容输出到指定的文件中
Spool d:\a.sql
Select * from emp;
。。。查询结果
Spool off

6. 创建数据库

在数据库配置助手可以创建,配置数据库,删除数据库,管理数据库模板
7. 配置监听:
Oracle Net Manager按照配置向导配置一下监听
监听的信息写在Listener.ora和tnsnames.ora中的。

作业:
1. 在Win7 64位虚拟机上安装Oracle和PL/SQL Developer
2. 如果你忘记了sys和system的密码,怎么办?
3. sql*plus命令练习
4. 创建数据库,配置监听
5. 预习:表空间的相关知识

oracle基本认识的更多相关文章

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. 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. ...

  3. 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 服务器安装操 ...

  4. Oracle 的基本操作符

    != 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...

  5. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  6. 基于Oracle安装Zabbix

    软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...

  7. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  8. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

  9. 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断

    概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...

  10. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

随机推荐

  1. 一个Js开发者学习Python的第一天

    原文地址:小寒的博客 https://www.dodoblog.cn/blogs/5bf6b8fa0c09883d0f8aad13 作为一个有着足足两年半学习经验和一年半开发经验的js开发者,看着js ...

  2. PKUSC2019 D2T2

    PKUSC2019 D2T2 把n(n<=100)的树(无边权)放在m维空间上(坐标都是整点),使得任意两个点的曼哈顿距离都是原树上的距离 求最小的m,并给出构造方案 性质好题,巧妙构造题. 原 ...

  3. opencv-阈值分割

    关于自适应阈值,可参考:Wellner 自适应阈值二值化算法 一.大津法OTSU(最大类间方差法) 参考:非黑即白——图像分割入门篇之Otsu阈值 自适应阈值分割—大津法(OTSU算法)C++实现 灰 ...

  4. jeecms v9开发资料

    开发文档 . 系统架构概述 本系统核心架构为 FreeMarker+hibernate+Spirng 的 mvc 分层架构. 1.1 分层架构模型 img 1.2 数据流转模型 (前端) img . ...

  5. Matlab系列作业

    (2019年2月19日注:Matlab这门课是在我大四上学期经历的,那时候开这篇文章是为了记录学习Matlab的时候遇到的坑,所以将所有的作业题合并到一篇文章中) 1.创建一个10*10的矩阵,矩阵所 ...

  6. java中 &&与& ||与| 的区别

    public class Demo { public static void main(String[] args) { int i = 5; int j = 3; // || 与 | 的区别 boo ...

  7. 【机器学习】机器学习入门02 - 数据拆分与测试&算法评价与调整

    0. 前情回顾 上一周的文章中,我们通过kNN算法了解了机器学习的一些基本概念.我们自己实现了简单的kNN算法,体会了其过程.这一周,让我们继续机器学习的探索. 1. 数据集的拆分 上次的kNN算法介 ...

  8. Leetcode152. Maximum Product Subarray乘积的最大子序列

    给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6. 示例 2 ...

  9. Python_day01——字符串

    https://www.cnblogs.com/A-FM/p/5691468.html def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 # 获 ...

  10. 学习mysql数据库

    1.数据库是怎么回事 数据库是存储数据的永久空间,通过一种特殊的方式存储到硬盘中 数据库分为关系型数据库和非关系型数据库 mysql查看数据的方式为:结构化查询语言(SQL语句) 访问mysql数据库 ...