oracle基本认识
概要图
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. 预习:表空间的相关知识
作者:8亩田
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
本文如对您有帮助,还请多帮 【推荐】 下此文。
如果喜欢我的文章,请关注我的公众号
如果有疑问,请下面留言