Oracle日常运维(一线DBA必备技能)(二)

  1. List item

本篇接上篇,接着介绍Oracle DB几类重要文件的日常管理,和作为DBA需要掌握针对这些文件的哪些操作。本篇将重点介绍参数文件和控制文件,数据文件是和业务息息相关的文件,在后续的数据库备份恢复,优化篇将会针对不同管理粒度做重点介绍,其他文件都比较好理解,日常运维基本不怎么涉及,在此仅做基本介绍。
参数文件和控制文件对整个数据库实例的启动,备份恢复,优化等过程有非常重要的作用,是数据库必不可少的两类文件。参数文件在之前的文章中已经有所介绍,这篇把参数文件和控制文件放在一起介绍,方便大家集中对比了解学习。

OracleDB文件的分类及其各自的作用:

‌Oracle DB文件主要分为以下几类‌:
参数文件‌:用于定义实例启动时的配置。
‌控制文件‌:包含与数据库本身相关的数据,即物理数据库结构信息。这些文件对数据库至关重要,没有这些文件,就无法打开数据文件以访问数据库中的数据。
‌数据文件‌:包含数据库的用户或应用程序数据,以及元数据和数据字典。数据文件隶属于某个表空间,如数据表空间、undo表空间、临时表空间等。
联机重做日志文件‌:用于进行数据库的实例恢复。如果数据库服务器发生崩溃,但未丢失任何数据文件,那么实例便可使用这些文件中的信息恢复数据库。
‌口令文件‌: 允许sysdba、sysoper和sysasm远程连接到实例并执行管理任务。
‌备份文件‌:用于进行数据库恢复。如果原始文件在发生介质故障或用户错误时被损坏或删除,通常要还原备份文件。
‌归档重做日志文件‌:包含实例发生的数据更改(重做)的实时历史记录。使用这些文件和数据库备份,可以恢复丢失的数据文件。
跟踪文件‌:每个服务器和后台进程都可以写入关联的跟踪文件。当进程检测到内部错误时,进程会将有关该错误的信息转储到相应的跟踪文件中。
预警日志文件‌:这些文件包含特殊的跟踪条目,数据库的预警日志是按时间顺序列出的消息日志和错误日志。

数据库最重要的文件:参数文件和控制文件

STARTUP实例启动:

  1. startup nomount:加载参数文件
  2. startup mount:加载控制文件
  3. startup(alter database open):加载数据文件
    可见参数文件和控制文件贯穿DB实例启动和DB运行的全过程,DB必不可少的文件,参数文件和控制文件的维护至关重要。

参数文件

  1. 参数文件读取的优先级别:oracle 启动读取参数文件的顺序,以下文件至少要有一个存在且可用,
    spfile.ora --> spfile.ora -->init.ora -->init.ora
    如果每个文件都不存在,则Oracle会报错。
  2. 参数文件的默认存放目录:
    $ORACLE_HOME/db
  3. 参数文件之间的转换
    spfile–>pfile转换
    SQL> create pfile from spfile;
    SQL> !ls $ORACLE_HOME/dbs/initorcl.ora
    /u01/app/oracle/product/12.2.0/db_1/dbs/initorcl.ora

生成在指定路径
SQL> create pfile=‘/tmp/initorcl.ora’ from spfile;
pfile–>spfile 转换
SQL> create spfile=‘/tmp/spfileorcl.ora’ from pfile;
可以用strings命令查看创建的spfile文件,查出来的结过和pfile是一样的。

  1. 判断数据库是从SPFILE还是从PFILE启动
    方式1:
    如果是spfile,则value是有值的SQL> show parameter spfile
    在这里插入图片描述
    方式2:
SQL> set linesize 120
SQL> col name format a10
SQL> col value format a60
SQL> select name,value from v$parameter where name='spfile';


5. 修改参数文件的三种模式:
scope=both 立即并永久生效(此为默认模式);
scope=spfile 下次启动才能生效;
scope=memory 立即生效但下次启动时失效;

查询方法:v$parameter
isses_modifiable:
ISSES_MODIFIABLE=true
ture表明这个参数可以在session级别可以修改,并且立即生效,false表示不能修改。

issys_modifiable:
issys_modifiable=immediate
表示这个参数可以在system立即修改,并且立即生效。
若如果issys_modifiable=deferred
会话级别参数,直接通过alter session set 参数名=值;
issys_modifiable=false
表示这个参数不能在直接修改在内存中,需要加scope=spfile,重启后才能生效。
如:

SQL> select name, isses_modifiable,issys_modifiable  from v$parameter where name='sga_max_size';   
 NAME                    ISSES               ISSYS_MOD
-------------------------------------------------------------------------
 sga_max_size                FALSE                     FALSE           

两个都为false。
SQL> alter system set sga_max_size=1000M;
alter system set sga_max_size=1000M ;
*
第 1 行出现错误:ORA-02095: 无法修改指定的初始化参数
SQL> alter system set sga_max_size=800M scope=spfile;
系统已更改。
恢复参数到默认值SQL> alter system reset sga_max_size scope=spfile;
说明:一般scope常用的参数是both和spfile,如果临时测试会用到memory

控制文件

  1. 控制文件存储的主要信息
    数据库名称和SID标识
    数据文件和日志文件列表
    数据库创建的时间戳
    表空间信息
    当前重做日志文件序列号(scn)
    归档日志信息
    检查点信息
    回滚段的起始与结束
    备份数据文件信息

  2. 控制文件查看
    select name from v$controlfile;
    show parameter control_files

  3. 控制文件的多路复用
    为了提高数据库的安全性,至少要为数据库建立两个控制文件,而且这两个文件最好分别放在不同的磁盘中,这样可以避免产生由于某个磁盘故障而无法启动数据库的危险,该管理策略称为多路复用控制文件。当多路复用控制文件某个磁盘发生故障导致其包含的控制文件损坏,数据库将被关闭或者发生异常,此时可以用另一磁盘中保存的控制文件来恢复被损坏的控制位文件,然后再重启数据库,达到保护控制文件的目的。数据库建立时,一般会默认创建两个控制文件,我们可以手动的再创建多个控制文件且不要与默认的放在同一个磁盘中,首先我们可以修改control_files参数来增加控制文件。
    3.1 添加控制文件
    QL> alter system set control_files =‘/oradata/orcl/control01.ctl’,‘/u01/orafra/orcl/control02.ctl’,‘/oradata/orcl/oldguo.ctl’ scope=spfile;
    其实添加控制文件就是将之前可用的控制文件复制过去,重命名即可,关闭数据库,然后将/usr/oracle/app/oradata/orcl/control01.ctl 复制为/home/oracle/ControlFiles/control04.ctl
    3.2 重建控制文件

  4. 备份控制文件
    alter database backup controlfile to trace;
    可以查看控制文件的具体内容:
    select tracefile from v p r o c e s s w h e r e a d d r i n ( s e l e c t p a d d r f r o m v process where addr in (select paddr from v processwhereaddrin(selectpaddrfromvsession wheresid in (select sid from v$mystat));
    实操:数据库启动到nomount状态之后,执行create controlfile 命令

create controlfile
reuse database "orcl"
logfile
group 1 '/oradata/orcl/redo01.log',
group 2 '/oradata/orcl/redo02.log',
group 3 '/oradata/orcl/redo03.log'
datafile
'/oradata/orcl/system01.dbf',
'/oradata/orcl/sysaux01.dbf',
'/oradata/orcl/undotbs01.dbf',
'/oradata/orcl/users01.dbf'
maxlogfiles 50
maxlogmembers 4
maxinstances 6
maxdatafiles 200
noresetlogs
noarchivelog

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/882207.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Cloud Alibaba】Nacos

【Spring Cloud Alibaba】Nacos 1. 什么是Nacos,它都能干什么?1.1 注册中心演变及其思想1.2 Nacos Discovery1.3 远程调用流程图1.4 一个微服务的流程1.4 常用注册中心对比 2. Nacos Server部署3. Nacos Client搭建附录 1. 什么是Nacos,它都能…

【机器学习】11——矩阵求导

机器学习11——矩阵求导 打公式不太好标注,全图警告!!! 文章目录 机器学习11——矩阵求导1.1标量对向量1.2标量对矩阵2.1向量对标量2.2向量对向量2.3向量对矩阵 1.1标量对向量 1.2标量对矩阵 X是m*n的矩阵,不严谨&am…

鸿蒙OpenHarmony【轻量系统内核扩展组件(C++支持)】子系统开发

C支持 基本概念 C作为目前使用最广泛的编程语言之一,支持类、封装、重载等特性,是在C语言基础上开发的一种面向对象的编程语言。 运行机制 C代码的识别主要由编译器支持,系统主要对全局对象进行构造函数调用,进行初始化操作。…

数字病理图像处理:分割、合成与数据增强研究|顶刊精析·24-09-20

小罗碎碎念 今日精析:Medical Image Analysis 这篇文章介绍了一种结合了先进分割模型和生成对抗网络的病理切片图像分析流程,用于提高癌症诊断的准确性和效率。 作者角色姓名单位名称(中文)第一作者Muhammad Jehanzaib博阿齐奇大学…

【高效且应用广泛的排序 —— 快速排序算法】

高效且应用广泛的排序 —— 快速排序算法 快速排序是一种常用的排序算法,主要采用分治的思想。以下是对快速排序算法的详细介绍及代码示例: 快速排序的基本思路是,每次将一个位置上的数据归位,使得该数左边的所有数据都比该数小…

构建高效企业客户管理系统:SpringBoot应用

1 绪论 1.1研究背景 随着网络不断的普及发展,企业客户管理系统依靠网络技术的支持得到了快速的发展,首先要从员工的实际需求出发,通过了解员工的需求开发出具有针对性的首页、个人中心、员工管理、客户信息管理、行业类型管理、项目信息管理、…

自动化测试概念篇

目录 一、自动化 1.自动化概念 1.1 回归测试 2. 自动化分类 2.1 接口自动化 2.2 UI自动化 3. 自动化测试金字塔 二、web自动化测试 1. 驱动 1.1 安装驱动管理 1.2 selenium库 三、selenium 1. 一个简单的web自动化示例 2. selenium驱动浏览器的工作原理 一、自动化…

【Linux系统编程】第二十二弹---操作系统核心概念:进程创建与终止机制详解

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、进程创建 1.1、fork函数重识 1.2、fork函数返回值 1.3、写时拷贝 1.4、fork常规用法 1.5、fork调用失败的原因 2、进程…

图像压缩编码(4)--H.26x系列视频压缩编码_2

目录 H.261 视频编码标准 H.261的编码与解码 1) 帧内/帧间编码 2)运动补偿 3)量化 4)环路滤波器 5)缓存器 压缩数据的分层 数据复用结构 H.264的编码与解码 H.261 视频编码标准 实际应用时,要求有…

【C++】list详解及模拟实现

目录 1. list介绍 2. list使用 2.1 修改相关 2.2 遍历 2.3 构造 2.4 迭代器 2.5 容量相关 2.6 元素访问 2.7 操作相关 3. 模拟实现 3.1 节点类 3.1.1 初始结构 3.1.2 节点的构造函数 3.2 迭代器类 3.2.1 初始结构 3.2.2 迭代器 3.2.3 迭代器-- 3.2.4 解引…

基于VUE的医院抗生素使用审核流程信息化管理系统

开发背景 随着医疗行业的快速发展和信息技术的不断进步,医院内部管理系统的信息化建设变得尤为重要。抗生素作为治疗感染性疾病的重要药物,在临床使用过程中需要严格控制以避免滥用导致的耐药性问题。传统的抗生素使用审核流程往往依赖于人工审核&#x…

第十一章 从0-1搭建一个简单的JavaWeb系统(三)

目录 一、工程代码结构 二、代码实现 三、运行效果 四、未完待续 本章节的每一段代码,建议全部自己敲一遍,加深印象,切勿直接复制黏贴。 一、工程代码结构 本章节实现注销(退出)功能,以下图片中标红的…

苹果CMS插件:优化蜘蛛访问内容,提升百度收录率

确保蜘蛛抓取原始内容 专为苹果CMS设计的广告管理插件,能够智能识别搜索引擎蜘蛛与普通访客,确保蜘蛛访问时展示原始内容,从而提升被百度等搜索引擎收录的几率。 广告显示提升收益 对于普通访客,该插件则优先显示广告内容&#…

【网络】高级IO——select版本TCP服务器

目录 前言 一,select函数 1.1.参数一:nfds 1.2.参数二: readfds, writefds, exceptfds 1.2.1.fd_set类型和相关操作宏 1.2.2.readfds, writefds, exceptfds 1.2.3.怎么理解 readfds, writefds, exceptfds是输入输出型参数 1.3.参数三…

面试速通宝典——1

1. 内存有哪几种类型? ‌‌‌‌  内存分为五个区,堆(malloc)、栈(如局部变量、函数参数)、程序代码区(存放二进制代码)、全局/静态存储区(全局变量、static变量&#…

2024-1.2.12-Android-Studio配置

本地博客: https://k1t0111.github.io/ K1T0 最近在做一些app方向的移动技术开发学习,但是由于AS的配置问题,市面上找不到最新的2024版本的AS的相关配置。笔者也是踩了很多坑,因此想写一篇文章记录一下最新的AS 2024 1.2.12的对应java环境的一…

springboot框架VUE3学院网站系统开发mysql数据库设计java编程计算机网页源码maven项目

博主介绍:专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…

python 识别省市、区县并组建三级信息数据库

一、网址: 全国行政区划信息查询平台 二、分析并搭建框架 检查网页源码: 检查网页源码可以发现: 所有省级信息全部在javaScript下的json中,会在页面加载时加载json数据,填充到页面的option中。 1、第一步&#xff1a…

探秘 Web Bluetooth API:连接蓝牙设备的新利器

引言 随着物联网技术的快速发展,蓝牙设备在日常生活中扮演着越来越重要的角色。而在 Web 开发领域,Web Bluetooth API 的出现为我们提供了一种全新的方式来连接和控制蓝牙设备。本文将深入探讨 Web Bluetooth API 的使用方法和原理,帮助开发…

浅显易懂的Git教程

Git概述 SVN与Git的对比 SVN(Subversion) 类型:集中式版本控制系统 工作流程: 从中央服务器下载最新版本到本地。在本地进行开发。提交更改回中央服务器。 优点: 简单易用,适合小型团队。版本历史清…