Oracle数据库基础
Posted 波涛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库基础相关的知识,希望对你有一定的参考价值。
1.Oracle数据库简介
数据库系统和数据库管理系统的区别?
解析:数据库系统=数据库的管理系统+oper+操作员+硬件
Oracle数据库管理系统
Oracle公司的核心产品
目前最流行的数据库
主要版本Oracle8i/9i(internet)、Oracle10g/11g(grid)
基于C/S系统结构
2. Oracle主要组件
PGA:
SGA: System global area 系统全局区
DBWR(数据文件的读写)
LGWR (日志的读写)
PMON (监控数据的运行状态)异常中断之后的清理,处理和释放资源
SMON (清理临时表空间)
CKPT checkpoint(检查点 保证数据库的一致性,这是指将脏数据写入到硬盘,保证内存和硬盘上的数据是一样的)
数据库
磁盘上存储的数据的集合
在物理上表现为数据文件、日志文件和控制文件等
在逻辑上以表空间形式存在
必须首先创建数据库,然后才能使用Oracle
数据库实例
每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库
为了运行数据库,Oracle系统所运行的所有进程和分配的内存结构的组合体
数据文件
扩展名是.DBF,用于存储数据库数据的文件
数据库表和数据文件不存在一对一对应关系
控制文件
扩展名是.CTL,是数据库启动及运行所必需的文件
默认包含3个控制文件,各个控制文件内容相同
日志文件
扩展名是.LOG,它记录了对数据的所有更改信息
多个日志文件组之间循环使用
2. 实例和数据库的关系
解析:
实例:数据库服务启动后,在内存中的单元
数据库:硬盘上的文件
4.Oracle安装注意是事项
路径不要有中文 特殊字符 空格 (任何路径)
5.监听文件的位置
6. 启动Oracle服务
开启顺序:先开启监听服务,后开启Oracle服务
TNSListener 监听服务
OracleServiceORCL Oracle服务
连接数据库:
常用的连接方式:
6. 数据库用户
sys:超级管理员 管理普通的管理员和普通用户
System:普通管理员
Scott:普通用户
7. 数据类型
6. 角色和权限
注意:Oracle中是根据用户来隔离表的
每个用户只能看到自己创建的表
创建用户和授权
1 --创建一个用户 2 create user liutao identified by 123 3 4 --授权 5 grant connect to liutao 6 grant RESOURCE to liutao
Oracle包括两大类权限(Privileges),一种是系统权限,另外一种是对象权限。
CONNECT角色: --是授予最终用户的典型权利,最基本的
CREATE SESSION --建立会话
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
CREATE OPERATOR --创建操作者
CREATE INDEXTYPE --创建索引类型
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
7.如何查看该用户管理着的所有表
1 --如何查看该用户管理着的所有表 2 select * from all_tables where owner=\'LIUTAO\'
6. 伪列
什么是伪列?
Oracle中伪列就像表中的列但是它并没有存储在表中,伪列可以在表中查询,但是不能增加,删除,和修改。
常用的伪列有ROWID 和 ROWNUM
1. ROWID
2.ROWNUM
ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数
问题一:
数据表
--查询自然顺序查询第记录
1 select * from 2 ( 3 select STUDENT.*,ROWNUM rn from STUDENT 4 )temp 5 where rn=5
--分页查询第二页的4-5条记录
1 select * from 2 ( 3 select temp.*,ROWNUM rn from 4 ( 5 select * from STUDENT 6 )temp 7 where ROWNUM<=6 8 ) 9 where rn>=4
--between and写法
1 SELECT * FROM 2 ( 3 SELECT A.*, ROWNUM RN 4 FROM (SELECT * FROM STUDENT) A 5 ) 6 WHERE RN BETWEEN 4 AND 6
以上是关于Oracle数据库基础的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段
Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段
[vscode]--HTML代码片段(基础版,reactvuejquery)
Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析
续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段