Oracle 基本概念

252 阅读6分钟

一、基本概念

1.1 文件类型

由数据文件、控制文件、日志文件构成

1.1.1 数据文件(.DBF)

是一个二进制文件,用于保存用户应用程序数据和Oracle系统内部数据的文件,

这些文件在操作系统中就是普通的操作系统文件。

Oracle在创建表空间的同时会创建数据文件。

1.1.2 控制文件(.CTL) =>配置文件

是一个二进制文件,主要记录数据库的名称、数据文件存放位置等。

一个控制文件只能属于一个数据库,如果控制文件丢失,这数据库就无法操作。

1.1.3 日志文件(.LOG)

分为重做日志文件(Redo Log)和归档日志文件。

重做日志文件是Oracle数据库正常运行不可获取的文件。 (停电、磁盘损坏)

归档日志文件主要记录数据库操作过程,用于备份和还原数据库,以达到数据库的最新状态。

1.2 实例

1.2.1 概念

就是数据库启动后分配内存和建立的后台进程。

数据库关闭后,物理上的文件还存在,但实例(分配的内存和建立的进程)就没有了。

1.3 实例与数据库的关系

实例就是一组操作系统进程以及一些内存,这些进程可以操作数据库;

而数据库只是一个文件集合(数据文件、临时文件、重做日志文件和控制文件)

在任何时候,一个实例只能有一组相关的文件(与一个数据库管理)

在大多数情况下反过来也成立,一个数据库只能对一个实例进行操作

二、版本说明

Oracle 8i

Oracle 9i

Oracle 10g

Oracle 11g

Oracle 12c

I : i代表Internet,8i开启了对Internet的支持

G:g代表Grid网络,10g加入了网格计算的功能

C: c代表云(cloud)计算设计

三、目录解析

image.png

3.1 admin 目录

记录Oracle实例的配置,运行日志等文件,每一个实例一个目录

orcl 对应一个实例

image.png

SID(system IDentifier),是Oracle实例的唯一标志,在Oracle中一个实例只能操作一个数据库;

如果安装了多个库,那么就会有多个实例,我们可以通过实例SID来区分;

由于Oralce中一个实例只能操作一个数据库的原因,Oracle也会使用SID作为库的名称。

3.2 cfgtoollogs

分别存储当运行dbca,emca,netca等图形化配置程序时的log

image.png

3.3 checkpoings

存放检查点文件

image.png

3.4 diag

11g以后新添加的一个目录

其中的子目录,基本上oracle每个组件都有自己单独的目录,

所有组件都需要被用来诊断的log文件都放在了这个新的目录下

image.png

3.5 flah_recovery_area(闪回区)

分配一个特定的位置,存放一些特定的文件

用于集中和简化管理数据库恢复操作

闪回区可存储完全的数据备份文件增量备份数据文件副本

image.png

3.6 oradata

存放数据文件

image.png

3.6.1 文件介绍

3.6.1.1 CONTROL.CTL

数据库的控制文件

3.6.1.2 EXAMPLE.DBF

表空间文件

3.6.1.3 REDO.LOG

数据库的重做日志文件

3.6.1.4 SYSAUX.DBF

主要存储删除数据字典以外的其他数据对象,由系统自动维护

3.6.1.5 SYSTEM.DBF

用于存放Oracle系统内部表和数据字典的数据

比如表名、列名、用户名等

3.6.1.6 TEMP.DBF

临时表空间文件

3.6.1.7 UNDITBS.DBF

撤销表空间文件。用来保存回滚数据

3.6.1.8 USERS.DBF

用户表空间

3.7 product

软件存放目录

image.png

四、系统用户

4.1 sys 用户

超级账户,拥有的权限最大,可以完成数据库的所有管理任务

4.2 system 用户

没有sys权限大,通常用于创建一些用户查看管理信息的表或者视图

不建议用system创建一些与管理无关的表或者视图

4.2.1 两者区别

sys和system在登录时,sys只能以 管理员(sysdbc) 或者 系统管理员(sysoper) 的权限登录,

而system可以直接登录

4.3 scott用户

是oracle 的示例用户,提供了一些学习oracle操作的数据表

如:emp、dept、salgrade、bonux 表

五、Oracle的启动与关闭

5.1 启动

5.1.1 OracleSericeORCL(必须启动)

数据库服务,是核心服务程序,数据库启动的基础

image.png

5.1.2 OracleOraDB19Home1TNSListener

监听器服务,只有在数据库需要远程访问的时候或者需要使用PL/SQL Developer等第三方工具的时候才需要

image.png

六、客户端工具

6.1 SQL Plus

image.png

6.1.1 sys 登录

Enter user-name: sys as sysdba
Enter password:
image.png

6.1.1 查询所有用户

select * from all_users;

image.png

6.1.2 退出

quit

image.png

6.2 PL/SQL Developer

6.2.1 sys登录

image.png

6.2.2 新建查询

image.png

查询所有用户:select * from all_users;

image.png

七、Oracle的使用

7.1 表空间

表空间是数据库的逻辑划分,一个表只能属于一个数据库

所有的数据库对象都存放在指定的表空间内,但主要存放的是表,所有称为表空间

7.1.1 分类

7.1.1.1 永久表空间 (默认表空间)

持久化存储

7.1.1.2 临时表空间

主要用来查询和存放一些缓冲区数据

临时表空间小号的主要原因是需要对查询中的中间结果进行排序

重启数据库可以释放临时表空间

7.1.2 创建表空间

7.1.2.1 创建用永久表空间

create tablespace 永久表空间名称
datafile '永久表空间物理文件位置' 
size 初始化大小
autoextend on next 当表空间满了之后,自动扩展的大小
permanent online;

image.png

此时orcl文件多出一条记录

image.png

7.1.3 创建新用户

image.png

image.png

如有报错,可参考:Oracle invaild common user or role name - 掘金 (juejin.cn)

7.1.4 权限分配

7.1.4.1 分类

7.1.4.1.1 对象权限

在指定的表、视图、序列上指定执行动作的权限或权力

7.1.4.1.2 角色权限

角色是可以授予用户的相关权限的组,该方法使权限的授予、撤回更容易管理

7.1.4.1.3 系统权限

为用户分配创建表、创建用户、创建视图、创建存储过程等权限

7.1.4.2 分配链接权限 (connect)

为当前用户分配一个connect链接角色

image.png

分配后才可登录

image.png

7.1.4.3 分配系统权限

-- 建表权限
grant create any table to C##TEST;
-- 建视图权限
grant create any view to C##TEST;
-- 建序列权限
grant create any sequence to C##TEST;
-- 无限制使用表空间
grant unlimited tablespace to C##TEST;

image.png

八、 链接配置

8.1 文件位置

oracle\WINDOWS.X64_193000_db_home\network\admin

image.png

8.2 文件介绍

8.2.1 sqlnet.ora

名称解析,通过这个文件夹来决定怎么找一个连接中出现的连接字符串

image.png

image.png

登录时数据库也受这个配置影响

image.png

8.2.2 tnsnames.ora

用在oracle client 端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样

8.2.2.1 orcl

客户端连接服务器端使用的服务别名,注意一定要顶行书写,否则会无法识别服务别名

8.2.2.2 protocol

客户端与服务端通讯的协议,一般为TCP,该内容一般不用改

8.2.2.3 host

oracle 服务器ip地址或者hostname,确保服务器端的监听启动正常

8.2.2.4 port

数据库监听正在侦听的端口,此处port的值一定要与数据库侦听正在侦听的端口一样

8.2.3 listener.ora

用在oracle server端,可配置Oracle的监听端口

8.2.3.1 listener

监听名称,可以配置多个监听,多个监听的端口要区别分开

8.2.3.2 protocol

监听协议,一般都使用tcp

8.2.3.3 host

本机ip或者localhostname

8.2.3.4 port

监听端口

九、Net Configuration Assistant 工具

9.1 配置监听

image.png

image.png

image.png

image.png

image.png

image.png

image.png

9.2 本地网络配置

要求

  1. 防火墙需要关闭
  2. 相互可以Ping通

配置方式

image.png

image.png

image.png

image.png

所访问的Oracle设置的IP地址

image.png

image.png

image.png

image.png

image.png

image.png

image.png

重启plsql,会多出刚刚配置的选项

image.png