• 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、数据库状态检查

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

    2、创建用户

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

    3、检查监听

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

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

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

    1. lsnrctl stop
    2. lsnrctl start

    4、检查归档模式

            查看是否开启归档模式

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

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

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

    5、检查自动备份状态

            关闭自动备份。

            首先进入 rman 终端

    1. su - oracle
    2. rman # 进入RMAN
    3. RMAN> connect target / # 连接到实例
    4. MAN> show all # //查看默认设置,看自动备份是否开启
    5. 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

  • 相关阅读:
    上海钢联朱军红:产业互联网的“双创”之路
    minio文件存储 安装
    java计算机毕业设计课程与成绩管理源码+mysql数据库+系统+lw文档+部署
    foo 是什么意思
    C- ssize_t & size_t
    链表的简单介绍
    vue3 项目
    ORA-1142 signalled during: ALTER DATABASE END BACKUP...
    自动化产线集控系统(西门子CNC 840D/840DSL远程控制)
    【CSS】伪元素与伪类
  • 原文地址:https://blog.csdn.net/qq_37437983/article/details/127457485