Oracle数据库基础

1.Oracle数据库简介

数据库系统和数据库管理系统的区别?

解析:数据库系统=数据库的管理系统+oper+操作员+硬件

Oracle数据库管理系统

Oracle公司的核心产品

目前最流行的数据库

主要版本Oracle8i/9i(internet)Oracle10g/11g(grid)

基于C/S系统结构

 

 

2. Oracle主要组件

PGA

SGASystem 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
原文地址:https://www.cnblogs.com/liutao1122/p/8051439.html