Oracle基本介绍与基本使用

Posted 我要出家当道士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle基本介绍与基本使用相关的知识,希望对你有一定的参考价值。

目录

一、基本架构与相关概念

1、整体逻辑架构

2、数据库与实例

2.1 数据库(文件)

2.2 实例(内存)

二、常用语句

三、功能检查与开启

1、数据库状态检查

2、创建用户

3、检查监听

4、检查归档模式

5、检查自动备份状态

四、参考


一、基本架构与相关概念

1、整体逻辑架构

    (1)、数据文件(dbf)是数据库的物理存储单位,表空间是数据库的逻辑组成部分。表空间可以包含多个数据文件,但数据文件只能属于一个表空间。数据文件一旦加入表空间后就无法改变,也无法删除,只能通过删除其所属表空间进行删除。

    (2)、表空间是Oracle对物理数据库上相关文件的逻辑映射,一个数据库在逻辑上分为一到多个表空间。

    (3)、用户是在数据库实例下创建的,实例之间相互隔离(不同实例可以创建相同名称的用户)。

    (4)、表是由用户维护的,表数据存放在表空间中,表空间会随机把这些数据存放到一个或多个数据文件中。用户之间数据相互隔离(即使一个表空间下,不同用户也可以创建同名表)。

2、数据库与实例

        Oracle 数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件,而数据库实例则是管理数据库文件的内存结构。简单的说,Oracle数据库服务器包含两部分:文件(数据库)+ 内存(实例)。

        数据库和实例是紧密相连的,所以我们一般说的 Oracle 数据库,通常指的就是实例和数据库。

 

2.1 数据库(文件)

Oracle 数据库的一个基本任务是存储数据,其包含物理与逻辑存储结构。

2.1.1 物理存储结构

        物理存储结构是存储数据的纯文件。当执行一个 CREATE DATABASE 语句来创建一个新的数据库时,将创建下列文件:

        数据文件:数据文件包含真实数据,例如销售订单和客户等。逻辑数据库结构(如表和索引)的数据被物理存储在数据文件中。

        控制文件:每个 Oracle 数据库都有一个包含元数据的控制文件。元数据用来描述包括数据库名称和数据文件位置的数据库物理结构。

        联机重做日志文件:每个 Oracle 数据库都有一个联机重做日志,里面包含两个或多个联机重做日志文件。联机重做日志由重做条目组成,能够记录下所有对数据所做的更改。

        除这些文件外,Oracle 数据库还包括如参数文件、网络文件、备份文件以及用于备份和恢复的归档重做日志文件等重要文件。

 2.1.2 逻辑存储结构

        Oracle 数据库使用逻辑存储结构对磁盘空间使用情况进行精细控制。以下是 Oracle 数据库中的逻辑存储结构:

        数据块(Data blocks):Oracle 将数据存储在数据块中。数据块也被称为逻辑块,Oracle 块或页,对应于磁盘上的字节数。

        范围(Extents):范围是用于存储特定类型信息的逻辑连续数据块的具体数量。

        段(Segments):段是分配用于存储用户对象(例如表或索引)的一组范围。

        表空间(Tablespaces):数据库被分成称为表空间的逻辑存储单元。 表空间是段的逻辑容器。 每个表空间至少包含一个数据文件。

        下图说明了表空间中的段,范围和数据块:

2.2 实例(内存)

        Oracle 实例是客户端应用程序(用户)和数据库之间的接口。Oracle 实例由三个主要部分组成:系统全局区 (SGA),程序全局区 (PGA) 和后台进程

        如下图所示 :

        DBWr(DBWR)在后来允许多进程写data file,所以改成DBWn了。

 

        SGA 是实例启动时分配的共享内存结构,关闭时释放。 SGA 是一组包含一个数据库实例的数据和控制信息的共享内存结构

        不同于所有进程都可用的 SGA,PGA 是会话开始时为每个会话分配的私有内存区,当会话结束时释放。

        以下是 Oracle 实例的主要后台进程:

        PMON 是 Oracle 数据库中最活跃的一个进程,是调节所有其他进程的进程监视器。PMON 能够清理异常连接的数据库连接,并自动向侦听器进程注册数据库实例。

        SMON 是执行系统级清理操作的系统监视进程。它有两个主要职责,包括在发生故障的情况下自动恢复实例,例如断电和清理临时文件。

        DBWn 是数据库编写器。Oracle 在内存中执行每个操作而不是磁盘。因为在内存中的处理速度比在磁盘上快。DBWn 进程从磁盘读取数据并将其写回到磁盘。 一个 Oracle 实例有许多数据库编写器,如:DBW0,DBW1,DBW2等等。

        CKPT 是检查点进程。 在 Oracle 中,磁盘上的数据称为块,内存中的数据称为缓冲区。 当该块写入缓冲区并更改时,缓冲区变脏,需要将其写入磁盘。CKPT 进程使用检查点信息更新控制和数据文件头,并向脏盘写入脏缓冲区的信号。 请注意,Oracle 12c 允许全面和增量检查点。

 

        LGWR 是日志写入过程,是可恢复架构的关键。 在数据库中发生的每一个变化都被写出到一个名为 redo 日志文件中用于恢复目的。 而这些变化是由 LGWR 进程编写和记录的。 LGWR 进程首先将更改写入内存,然后将重做日志写入磁盘,可将其用于恢复。

        ARCn 是归档进程,它将重做日志的内容复制到归档重做日志文件。存档程序进程可以有多个进程,如:ARC0,ARC1 和 ARC3,允许存档程序写入多个目标,如 D:驱动器,E:驱动器或其他存储。

        MMON 是收集性能指标的可管理性监控流程。

        MMAN 是自动管理 Oracle 数据库内存的内存管理器。

        LREG 是监听器注册过程,它使用 Oracle Net Listener 在数据库实例和调度程序进程上注册信息。

二、常用语句

控制

        登陆 sqlplus:sqlplus /nolog

        使用sysdba链接oracle:connect /as sysdba

        使用自定义 u1 连接oracle:connect u1 /123456

        开启数据库:startup

        关闭数据库:shutdown immediate;

        查看数据库状态:select * from v$instance;

        监听状态($ORACLE_HOME/bin):lsnrctl status

        开启监听:lsnrctl start

        关闭监听:lsnrctl stop

查询

        查询当前数据库 : select name from v$database;

        查询当前实例名 : select instance_name from v$instance;

        查询表空间:select default_tablespace, d.username from dba_users d;

        查看数据库用户:select * from dbs_users;

        查询表空间路径:select status,fuzzy,tablespace_name,name from v$datafile_header;

        显示当前连接用户:show user;

        显示系统下所有用户:select * from all_users;

        显示用户空间下所有表格:select table_name from user_tables;

        显示用户下表格中的数据:select * from "HFTEST"."stu";

创建

        创建表空间:create TableSpace 表空间名称 DataFile 表空间数据文件路径 Size 初始大小 AutoExtend on;

        创建用户:create user 用户名 identified by 密码 default tablespace 表空间;

        用户授权:Grant connect, backup any table, select any dictionary, dba to 用户;

删除

        删除用户:drop user 用户名 cascade;

        删除表空间:Drop tablespace 表空间名 including contents and datafiles CASCADE CONSTRAINTS;

        删除表:drop table "stu";

三、功能检查与开启

1、数据库状态检查

su - oracle  # 进入 oracle 系统账户
sqlplus /nolog  # 登录sqlplus
connect /as sysdba  # 用sysdba连接Oracle
startup  # 启动数据库
select status from v$instance;  # 查询数据库状态

2、创建用户

# 创建授权高级权限用户,既可以备份又可以恢复数据库
create user 【USERNAME】 identified by 【PASSWORD】;
grant dba,sysdba to 【USERNAME】;
# 创建低级权限用户,只能备份数据库,恢复数据库需要用具有sysdba权限的用户。
create user 【USERNAME】 identified by 【PASSWORD】;
Grant connect,backup any table,elect any dictionary to 【USERNAME】;

3、检查监听

        $ORACLE_HOME/bin目录输入:lsnrctl status.如未出现如下界面则需要开启监听。

su - oracle  # 进入 oracle 系统账户
sqlplus /nolog  # 登录sqlplus
connect /as sysdba  # 用sysdba连接Oracle
select instance_name from v$instance。 # 查看 SID_NAME,设置监听需要一致。

 监听配置完成,重新启动监听服务

lsnrctl stop
lsnrctl start

4、检查归档模式

        查看是否开启归档模式

su - oracle  # 进入 oracle 系统账户
sqlplus /nolog  # 登录sqlplus
connect /as sysdba  # 用sysdba连接Oracle
archive log list

         如果没有开启归档模式,则显示:No Archive Mode

shutdown immediate;        # 关闭数据库
startup mount;             # 启动数据库实例到mount状态
alter database archivelog; # 启动归档模式
alter database open;       # 打开数据库并将其装入
archive log list;          # 配置完成之后再次检查归档日志类型

5、检查自动备份状态

        关闭自动备份。

        首先进入 rman 终端

su - oracle
rman          # 进入RMAN
RMAN> connect target /  # 连接到实例
MAN> show all   # //查看默认设置,看自动备份是否开启
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF; // 关闭自动备份

四、参考

Oracle COMMIT语句(提交事务)_w3cschoolhttps://www.w3cschool.cn/oraclejc/oraclejc-grjn2r0x.htmlOracle Database Online Documentation 11ghttps://docs.oracle.com/cd/E11882_01/index.htm

以上是关于Oracle基本介绍与基本使用的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库的基本语法与SQL一样吗?

oracle基础(基本介绍)

Python连接Oracle,从安装到基本用法

Oracle数据库基本操作 —— Oracle数据库体系结构介绍DDLDCLDML

Vuexvuex基本介绍与使用

Oracle04基本查询+条件查询+排序+单行函数+通用函数介绍