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. 预习:表空间的相关知识
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数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
随机推荐
- SQLite C++操作类
为了方便SQLite的使用,封装了一个SQLite的C++类,同时支持ANSI 和UNICODE编码.代码如下: 头文件(SQLite.h) [cpp] view plaincopy /***** ...
- shell与crontab定时器的结合
crond服务 以守护进程方式在无需人工干预的情况下来处理一些列的作业指令与服务 查看服务状态 systemctl status cron.service 停止服务 systemctl stop cr ...
- github上创建java项目简单操作
github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客http://blog.csdn.net/qq_29392425/article/detail ...
- Netty ByteBuf泄露定位修改。
1. ByteBuf 2. 问题描述 日志记录中报堆外内存溢出. 3. 问题定位及修改 Netty提供了ByteBuf泄露的检测机制. JVM启动参数中添加: -Dio.netty.leakDetec ...
- 第二周——1.项目中MySQL版本问题
1.版本升级 经组长推荐,本地安装的是mysql-8.0.11,而主项目用的还是版本5.6, 因此需要升级版本. 首先,更新驱动:下载mysql-connector-java-8.0.11,将E:\P ...
- C#控件的闪烁问题解决方法总结
最近对代码作了一些优化,试验后效果还可以,但是发现界面会闪烁,具体是TreeView控件会闪烁,语言为C#,IDE为VS2005.在查阅一些资料,使用了一些基本技术后(如开启双缓冲),发现没什么效果. ...
- Luogu P1850 换教室(期望dp)
P1850 换教室 题意 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有\(2n\)节课程安排在\(n\)个时间段上.在第\(i(1\l ...
- ROCR包中ROC曲线计算是取大于cutoff还是大于等于cutoff
找到对应的代码如下 .compute.unnormalized.roc.curve function (predictions, labels) { pos.label <- levels(la ...
- 事务一致性理解 事务ACID特性的完全解答
A 原子性 事务管理者多个小操作,他们同时完成或者同时不完成就是原子性 C 一致性 一致性,是一个很相对的,很主观的概念, 一致性 描述的是 事务 从一个一致的状态变成 另一个一致的状态. 一致性需 ...
- 023-linux(2)
1. head 查看文件的前N行 -n ,表示查看前几行 head - test.txt 2. tail 查看文件的后N行 -n,表示查看文件的后几行 tail - test.txt -f(循环读取) ...