首页 > 数据库 >图文深入理解Oracle DB实例管理

图文深入理解Oracle DB实例管理

时间:2024-09-22 09:23:25浏览次数:9  
标签:文件 数据库 DB 视图 关闭 Oracle 图文

本来这篇打算承接上篇,接着介绍Oracle数据库表的管理的,但考虑到需要实操,在这之前先深入介绍下Oracle DB实例的基本管理,包括一些常用的管理工具和数据库启动过程的各个阶段和几种带选项的关闭方式的会有什么影响。学习知识就得循序渐进,每个知识点揉碎了再彻底消化。
一。Oracle(实例)管理工具:常用的Oracle管理工具主要有:

  1. SQL*Plus 为数据库操作提供了一个命令行界面
    – 执行数据库管理操作 ;
    – 通过执行 SQL 命令在数据库中查询、插入、更新或删除数据;
    2.SQL Developer:
    – 是一个用于访问 Oracle DB 实例的图形用户界面 ;
    – 支持以 SQL 和 PL/SQL 进行开发 – 在 Oracle DB 的默认安装中包含,免费。
  2. Oracle Enterprise Manager(OEM): Oracle企业管理器(Oracle Enterprise Manager, OEM)是基于Web界面的Oracle数据库管理工具。后续会重点介绍;
  3. 数据库配置助手(DBCA):后续会介绍。
  4. 其他第三方管理工具。
    以上管理软件的使用都很简单,再次不做太多介绍(OEM后续会重点介绍下),大家跟着操作即可。

二.Oracle DB 实例的启动过程:

1.初始化参数文件的配置:
在这里插入图片描述
• 服务器参数文件(SPFILE):是首选的初始化参数文件,数据库启动时会自动搜
索此文件。这个文件是由数据库服务器写入和读取的二进制文件,不能手动进行编
辑。此文件不受数据库关闭和启动的影响。文件的默认名称为 spfile.ora。
• 文本初始化参数文件(PFILE):这个初始化参数文件可由数据库服务器读取,但
不由其写入。必须使用文本编辑器手动设置和更改其中的初始化参数设置,这些设
置也不受数据库关闭或启动的影响。此文件的默认名称为 init.ora,如果启动
时未找到 SPFILE,则自动搜索此文件。
在这里插入图片描述
• 基本参数是指为了让数据库能够良好运行而可能需要设置的参数。
• 其它所有参数都被视为高级参数,高级参数大约有 300多 个(11g以上版本更多)。只有极少数情况下,
才需要修改高级参数来获得最优性能。
•以下参数Oracle数据库正常运行所必需的,它们的正确配置对于确保数据库的性能、安全性和可靠性至关重要‌:
‌**CLUSTER_DATABASE‌:**与集群数据库相关的参数;
**‌COMPATIBLE‌:**数据库的兼容性级别,影响数据库的一些特性和行为;
**‌CONTROL_FILES‌:**控制文件的路径和数量,用于数据库的恢复和备份;
**‌DB_BLOCK_SIZE‌:**数据库块的尺寸,影响数据库的存储和性能;
‌DB_CREATE_FILE_DEST‌ 和 ‌DB_CREATE_ONLINE_LOG_DEST_n‌:指定创建文件和在线日志文件的存储位置;
DB_DOMAIN‌
:数据库域名,用于网络通信;
**‌DB_NAME‌:**数据库的名称;
**‌DB_RECOVERY_FILE_DEST‌ 和 ‌DB_RECOVERY_FILE_DEST_SIZE‌:**指定恢复文件的存储位置和大小,用于数据恢复;
**‌INSTANCE_NUMBER‌:**实例编号,用于多实例环境;
‌NLS_DATE_LANGUAGE‌ 和 ‌NLS_TERRITORY‌:影响日期和货币的格式化显示;
**‌OPEN_CURSORS‌:**允许同时打开的游标数量,影响并发性能;
**‌PGA_AGGREGATE_TARGET‌ 和 ‌SGA_TARGET‌:**指定PGA和SGA的大小,影响数据库的性能;
**‌PROCESSES‌:**允许的最大进程数,影响并发连接数;
**‌REMOTE_LOGIN_PASSWORDFILE‌:指定远程登录密码文件的位置,用于外部认证;
SESSIONS‌:**允许的最大会话数,影响用户同时访问数据库的能力;
**‌UNDO_TABLESPACE‌:**指定撤销数据的存储空间,用于事务回滚和多点恢复;
在这里插入图片描述

最最重要的初始化参数:

• MEMORY_TARGET 指定数据库实例的可用内存。数据库将内存调整为 MEMORY_TARGET 值,并根据需要自动减小或增加 SGA 和 PGA。
• SGA_TARGET 指定所有 SGA 组件的可用内存总量。如果没有设置 MEMORY_TARGET,而是指定了 SGA_TARGET,则只会自动调整以下内存池的大小:
a 缓冲区高速缓存 (DB_CACHE_SIZE)
b.共享池 (SHARED_POOL_SIZE)
c. 大型池 (LARGE_POOL_SIZE)
d. Java 池 (JAVA_POOL_SIZE)
e. 流池 (STREAMS_POOL_SIZE)

修改初始化参数值

• 静态参数:
– 只能在参数文件中更改;
– 修改命令:ALTER SYSTEM SET = SCOPE=SPFILE;
– 必须重新启动实例才能生效
– 总共约 100多个参数 ;
• 动态参数:
– 可以在数据库联机时更改
– 可以在以下级别更改:
1.会话级别(ALTER SESSION SET …)
2. 系统级别(ALTER SYSTEM SET …)
– 在会话持续期间有效,或有效性取决于 SCOPE 设置: SCOPE=MEMORY 或 SPFILE 或 BOTH

启动 Oracle DB 实例的阶段

Oracle数据库启动时会经历三个主要的阶段,每个阶段都有特定的任务和过程:
启动实例(Startup Instance):这个阶段主要是分配内存和启动后台进程,以便数据库可以运行。
装载数据库(Mount Database):在这个阶段,Oracle将数据库文件(如数据文件、控制文件和日志文件)装载到实例中,但此时不对数据进行操作。
打开数据库(Open Database):在这个阶段,Oracle将打开数据库,使其对用户可见并允许访问和修改数据。
平时维护和管理可以根据不同的DB所处的当前环境(比如:冷备份/恢复,故障处理),有选择地启动DB到以上三个阶段。

1.NOMOUNT阶段:

在这里插入图片描述
这个阶段DB的任务:
1. 搜索参数文件:spfile.ora -> spfile.ora -> init.ora;
2. 分配 SGA 内存;
3. 启动后台进程 ;
4. 打开 alert_.log 文件和跟踪文件;

2.MOUNT阶段

在这里插入图片描述
这个阶段DB的任务:

  1. 将数据库与之前启动的实例关联。
  2. 定位并打开参数文件中指定的所有控制文件。
  3. 读取控制文件,获取数据文件和联机重做日志文件的名称和状态。

3.OPEN阶段:

在这里插入图片描述

  1. 打开数据文件
  2. 打开联机重做日志文件
    4.对应SQLPLUS脚本:
    SQL> startup
    SQL> startup nomount
    SQL> alter database mount;
    SQL> alter database open;

关闭 Oracle DB 实例

1.DB关闭模式

在这里插入图片描述
Shutdown modes:
A = ABORT 强制终止/强制关闭
I = IMMEDIATE 立即关闭
T = TRANSACTIONAL 事务保证关闭
N = NORMAL 普通关闭
SHUTDOWN默认为SHUTDOWN NORMAL

2.不同关闭选项对应的DB状况

在这里插入图片描述
SHUTDOWN NORMAL 正常关闭模式,如果未指定任何模式,则NORMAL是默认的关机模式。正常关闭模式下关闭将继续进行以下情况:
1.无法建立新的连接。
2.Oracle服务器在完成关闭之前会等待所有用户断开连接。
3.数据库高速缓冲区缓存和重做日志缓冲区被写入磁盘。
4.终止后台进程,并从内存中删除SGA。
5.在关闭实例之前,Oracle服务器会关闭并卸除数据库。
6.下次启动不需要实例恢复。

SHUTDOWN TRANSACTIONAL 以保证事务方式关闭模式,在TRANSACTIONAL模式下的关闭可防止客户端丢失数据,包括其当前活动会话的结果。以保证事务方式关闭下关闭将继续进行以下情况:
1.没有客户端可以在此实例上启动新事务。
2.当客户端结束正在进行的事务时,客户端将断开连接。
3.完成所有事务后,将立即关闭。
4.下次启动不需要实例恢复。

SHUTDOWN IMMEDIATE 立即关闭模式,在立即关闭模式下关闭将继续进行以下情况:
1.Oracle数据库抛弃尚未完成的语句
2.Oracle服务器不等待当前连接到数据库的用户直接断开连接。
3.Oracle服务器回滚,活动事务并断开所有已连接用户的连接。
4.在关闭实例之前,Oracle服务器会关闭并卸除数据库。
5.下次启动不需要实例恢复。
在这里插入图片描述
SHUTDOWN ABORT 强制关闭模式,如果在NORMAL,TRANSACTIONAL和IMMEDIATE模式下关闭均无效,则可以以强制关闭模式关闭当前数据库实例。强制关闭模式会造成:
1.Oracle服务器正在处理的当前SQL语句将立即终止。
2.Oracle服务器不等待当前连接到数据库的用户直接断开连接。
3.数据库高速缓冲区缓存和重做缓冲区未写入磁盘。
4.未提交的事务不会回滚。
5.该实例将终止而不关闭文件。
6.数据库未关闭或卸载。
7.下次启动时需要实例恢复,该恢复将自动发生。
注意:建议不要备份状态不一致的数据库。
startup force 命令:
startup force=shutdown abort + startup的组合,即强制关闭数据库+ 正常启动数据库

日志管理

1.查看预警日志
由于预警文件的大小会不断增长,因此可以定期备份该文件,并删除当前的预警文件。当数据库尝试再次写入预警文件时,就会重新创建一个新预警文件。 在以下目录都有一个预警日志文件:
• $ORACLE_BASE/diag/rdbms/<db_name>//alert 目录中有一个 XML 预警日志 log.xml 。
• $ORACLE_BASE/diag/rdbms/<db_name>//trace 目录中有一个 TEXT 预警日志 alter_.log 。
2.使用跟踪文件
• 每个服务器和后台进程都会向关联的跟踪文件写入信息。
• 错误信息写入相应的跟踪文件中。
• 自动诊断资料档案库 (ADR)。
– 包含整个系统的跟踪和事件记录信息的中央资料档案库;
– 存储数据库诊断数据,例如:
— 事件跟踪
— 预警日志
— 健康状况监视器报告
3.DDL日志文件
•通过将ENABLE_DDL_LOGGING设置为TRUE,可以将某些DDL语句捕获到DDL日志文件中。
•DDL日志包含每个DDL语句的日志记录。
•两个包含相同信息的DDL日志:
-XML DDL log: log.xml written to $ORACLE_BASE/diag/rdbms///log/ddl
-Text DDL: ddlsid.log written to $ORACLE_BASE/diag/rdbms///log
4.调试日志文件 BUG LOG
• 调试日志包含有关不会妨碍Oracle数据库组件正确运行的条件,状态或事件的警告。
•该日志供Oracle支持人员在诊断问题时使用。
•它包含在事件打包服务(IPS)事件包中。
•写入到 $ORACLE_BASE/diag/rdbms/<db_name>//debug.

动态性能视图

1.DICT 和 DICT_COLUMNS 视图包含这些动态性能视图的名称。动态性能视图以前缀“v$”开头,其数量超
过 590,可用于访问实例中不断变化的状态信息。
在这里插入图片描述

2.动态性能视图注意事项
• 动态性能视图是由 SYS 用户所有。
• 不同场合可使用的视图也不同:
– 实例已启动。
– 数据库已装载。
– 数据库已打开。
• 可以通过查询 V F I X E D T A B L E 查看所有视图名称。•动态性能视图通常称为“ v FIXED_TABLE 查看所有视图名称。 • 动态性能视图通常称为“v FIXEDT​ABLE查看所有视图名称。•动态性能视图通常称为“v 视图”,因为其数据是动态的,所以在这些视图上不能保证读取一致性。
• V$ 视图名称通常是单数形式,而数据字典中的 DBA_ 视图名称是复数形式。

数据字典

在这里插入图片描述
1.数据字典概述:
•数据字典记录了数据库的元数据,其中包含数据库中所有对象的名称和属性。
• 创建或修改任何对象都会同时更新数据字典的内容。
2.数据字典视图:
在这里插入图片描述
本篇暂时完结,有些知识后续会再深入介绍。

码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB基本知识和排障案例及经验、性能调优等。

标签:文件,数据库,DB,视图,关闭,Oracle,图文
From: https://blog.csdn.net/qq_45732829/article/details/142364519

相关文章

  • 自制CANTool_DBC_Layout仿制_基本框架练习(一)
    1、工具制作用途    模仿DBC中对于Layout方案的模仿,先完成一些基本功能,数据导入和信号解析2、工具UI1、初始化CAN的布局2、导入CANMessage信号3、导入CANSignal1、初始化CANFD的布局2、导入CANFDMessage信号3、导入CANFDSignal3、工具代码#reg......
  • Proteus.Pro.8.17.SP2图文安装教程及下载
    ProteusDesignSuite8.17SP2包含多项新功能和改进,旨在增强电子设计自动化。此版本的主要更新包括:推挤布线编辑:这一功能允许动态移动导线和过孔,以创建更高效的布线路径,使PCB设计更加顺畅和直观。它支持推模式布线编辑操作,能够自动调整现有的布线以适应新的布线需求。Proteu......
  • 构建高可用和高防御力的云服务架构:从DDoS高防到PolarDB
    引言随着互联网技术的飞速发展,网络环境已经成为我们日常生活和商业活动中不可或缺的一部分。然而,这种依赖也带来了新的挑战,尤其是在网络安全领域。其中,分布式拒绝服务(DDoS)攻击因其破坏性强、难以防御而成为网络安全的主要威胁之一。本文主要讲解架构:DDOS高防->SLB负载均衡->EC......
  • JDBC中Druid连接池的配置与使用
    Druid连接池:        支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、SQLServer等。        简单SQL语句用时10微秒以内,复杂SQL用时30微秒。        网站:https://github.com/alibaba/druid/releases应用: 1.复制上面的链接下载druid.文件,......
  • Project 2021图文安装教程及下载
    MicrosoftProject是一个国际上享有盛誉的通用的项目管理工具软件,凝集了许多成熟的项目管理现代理论和方法,可以帮助项目管理者实现时间、资源、成本的计划、控制。MicrosoftProject不仅可以快速、准确地创建项目计划,而且可以帮助项目经理实现项目进度、成本的控制、分析和预......
  • ghidra---配置获取加载pdb文件
    ghidra---配置获取加载pdb文件在不配置"SymbolServerConfig"的情况下,如果自己有pdb文件且和可执行程序在同一文件夹下,ghidra会自动加载相应pdb文件。分析Windows自身的可执行程序时,如果可以获取微软提供的符号文件,可以极大提高分析效率。打开一个可执行程序,界面操作Edit->......
  • 网络高级day01(Modbus 通信协议:Modbus TCP)
    目录1》modbus分类1>ModbusRTU2>ModbusASCLL3>ModbusTCP 2》ModbusTCP的特点 3》ModbusTCP协议 1>报文头(一共7个字节) 2>寄存器3>功能码 4>数据 01H 功能码分析 05H功能码分析0FH功能码分析1》modbus分类1>ModbusRTU运行在串口上......
  • oracle 事务的管理
    事务的特性事务是由一组SQL语句组成的逻辑工作单元,这些语句要么全部执行,要么不执行,只要有一条SQL语句执行失败,则已执行的SQL语句会回滚到执行之前的状态,这样就保证了数据库数据的一致性,不产生混乱的数据信息。通过事务,可以实现数据的共享,事务可以保证数据的一致性。只有CO......
  • Linux系统离线部署MySQL详细教程(带每步骤图文教程)
    1、登录官网下载对应的安装包MySQL::DeveloperZone2、将压缩包上传到服务器上,这里直接上传到/usr/local路径上使用sftp工具上传到/usr/local目录上3、解压压缩包 tar-xfmysql-8.0.39-linux-glibc2.17-x86_64.tar.xz4、将mysql-8.0.39-linux-glibc2.17-x86......
  • 为什么MDB-RS232支付适配器一上电,串口会一直收到通信数据,而且MDB转换盒上的PC指示灯一
    MDB-RS232支付通信适配器通电后,RS232端口就会不停地收到数据,而且MDB适配器上的“PC”指示灯也一直在闪烁。MDB协议里有的数据,是报告一次。有的数据是持续报告。比如设备在线状态,硬币器如果不在线,是不是在线,只能靠读取。而纸币器是会一直主动报告这个状态数据。而且如果不使能......