DBA面试题

在这里插入图片描述在这里插入图片描述

Oracle体系结构
(1)、Oracle实例内存中包含哪些部分?
答: sga与pga
sga:是一组共享的内存区域,包含数据字典缓存、库缓存、重做日志缓冲区
Pga:为每个服务器进程分配的非共享内存,存储会话状态和私有SOL工作区


在Oracle数据库中,实例内存主要包含以下几个关键部分:1. **SGA(System Global Area) - 系统全局区域:**- **Buffer Cache(缓冲区高速缓存):** 用于存储数据块的内存区域,提高对数据库块的访问速度。- **Shared Pool(共享池):** 包含共享SQL和PL/SQL的解析结果、游标、共享的PL/SQL过程等。- **Redo Log Buffer(重做日志缓冲区):** 用于暂存事务的重做信息,以便在发生故障时进行恢复。- **Java Pool:** 用于存储Java对象和代码的内存区域。2. **PGA(Program Global Area) - 程序全局区域:**- **Sort Area:** 用于执行排序操作的内存区域。- **Session Memory:** 包含每个会话的私有内存,如私有SQL区域、运行时连接信息等。这些区域共同构成了Oracle数据库实例的内存结构,其中SGA是由所有用户共享的,
而PGA是针对每个用户会话的私有内存。这种架构有助于提高数据库的性能和并发处理能力。

(2) Oracle redolog 是做什么的?
答:用于保证事务持久性和数据库一致性的重要机制。当用户对数据库进行修改时,重做日志会记录下这些修改操作的详细信息。如果在事务提交之前发生系统崩溃或电源故障,重做日志可以用来恢复未完成的事务,确保数据的一致性。

Oracle的Redo Log是一种关键的组件,
它记录数据库中发生的所有修改。Redo Log的主要目的是确保数据库的持久性和恢复性。以下是Redo Log的主要功能:1. **恢复:** Redo Log记录了数据库发生的所有变更,包括插入、更新和删除操作。在数据库发生故障时,可以使用Redo Log来还原数据库到故障发生前的状态,确保不会丢失已提交的事务数据。2. **事务持久性:** 在事务提交时,相应的Redo Log记录被生成。这确保了即使在事务提交后,如果系统崩溃,数据库也可以通过Redo Log进行恢复,保持数据的一致性。3. **并发控制:** Redo Log也用于支持数据库的并发控制。通过记录数据的修改,可以在需要的时候重演这些修改,以确保在多用户环境中事务的隔离性和一致性。4. **物理数据库备份:** Redo Log还用于支持物理数据库备份。备份工具可以使用Redo Log文件来获取数据库的变更,从而创建数据库的一致备份。Redo Log包括两部分:在线Redo Log和归档Redo Log。- **在线Redo Log:** 这是处于活动状态的Redo Log,它记录当前正在进行的事务的变更。在线Redo Log文件是一组物理文件,它们轮流用于记录Redo信息。这些文件的大小和数量可以进行配置。- **归档Redo Log:** 当在线Redo Log文件被写满时,或者在归档模式下,系统可以将Redo Log文件归档到归档Redo Log中。这些归档文件允许进行数据库恢复以及创建物理备份。总的来说,Oracle Redo Log是数据库的关键组件之一,确保了数据的持久性、一致性和可恢复性。

(3) Oracle启动的几种模式,各个阶段用到哪些文件?
答:nomount 用到参数文件
mount 用到控制文件
OPEN数据文件。

在Oracle数据库的启动过程中,通常会经历以下几个阶段,并涉及到一些特定的文件:1. **Nomount 阶段:**- **参数文件(init.ora 或 spfile.ora):** 包含了数据库的配置信息,如SGA大小、PGA大小、监听器信息等。- **控制文件(Control Files):** 包含数据库的结构信息,如数据文件和日志文件的位置,表空间和数据文件的关系等。2. **Mount 阶段:**- **控制文件:** 在这个阶段,Oracle数据库会读取控制文件,但不会打开数据库。这个阶段的目的是将数据库标记为已挂载状态,使得数据库文件能够被识别。3. **Open 阶段:**- **数据文件(Data Files):** 包含了实际存储数据的文件。在数据库打开时,这些文件会被访问。- **Redo Log Files:** 包含了数据库中所有事务的重做信息。这些文件在数据库打开时被读取,以确保事务的持久性和一致性。- **Undo Tablespaces 和 Undo Logs:** 用于存储回滚段信息,以支持事务的回滚操作。4. **恢复阶段:**- **Archived Redo Log Files:** 如果数据库配置为启用归档模式,数据库启动时可能需要应用归档的重做日志,以确保数据库处于最新的状态。在实际的启动过程中,可以使用不同的方式来启动Oracle数据库,比如使用SQL*Plus命令行工具、Enterprise Manager图形界面、或者使用操作系统的服务管理工具。无论采用何种方式,上述的文件都是在启动过程中被读取和使用的。

2.rac相关问题
(1) oracle rac有哪些IP?
答: Public ip
Private ip
Virtual ip (VIP)
Scan ip

Oracle Real Application Clusters(RAC)是一种Oracle数据库的配置,它允许在多个服务器上运行数据库实例,实现高可用性和负载均衡。在Oracle RAC中,可以涉及多个IP地址,其中一些主要的IP地址包括:1. **Public IP:** 这是集群中的公共IP地址,用于提供数据库服务给客户端应用程序。客户端通过此IP地址连接到Oracle数据库。每个节点通常都有一个公共IP地址。2. **Private IP:** 这是集群中的专用IP地址,用于节点之间的内部通信。私有IP地址用于实现高速、低延迟的节点之间通信,以确保集群的协同工作。每个节点通常都有一个私有IP地址。3. **Virtual IP(VIP):** RAC集群中的每个节点都有一个虚拟IP地址,这个地址是在节点发生故障时自动切换到另一个节点的。VIP地址用于确保客户端总是能够连接到运行的数据库实例,即使其中一个节点发生故障。VIP通常用于提供透明的故障切换。4. **SCAN IP:** SCAN(Single Client Access Name)是Oracle RAC引入的一项功能,它提供了一个虚拟的单一名称,客户端可以通过该名称连接到整个RAC集群,而不需要关心具体的节点信息。SCAN IP地址是由SCAN名称解析到的IP地址。这些IP地址的具体配置和使用方式可能会根据具体的Oracle版本和集群配置而有所不同。在配置Oracle RAC时,建议参考相关的Oracle文档和最新的官方指南以获取准确的信息。

(2)挑其中一个问一下是干嘛的?
1、PublicIP称为公网IP,它是网卡上的真实IP。每个节点在安装Oracle软件之前都需要事先配置Public IP。Oracl通过PublicIP对外提供网络服务。如果RAC中Public IP所在的网卡设备故障,那么该节点将无法继续对外提供服务
2、Private ip对于Oracle集群来说,私网通信是非常重要的,因为节点和节点之间的通信绝大部分都是要通过私网来实现的。与PublicIP一样,Private IP称为私网IP可心跳IP,它也是网卡上的真实IP,每个节点在安装Oracle集群软件之前都需要事先配置PrivateIP
3、VIP是在PublicIP所在的网卡上由Oracle集群软件虚拟出来的一个IP,需要和Public IP设置在同一个子网网段中。Oracle集群软件安装之前只需定义好 (/etc/hosts文件)即可,而无需事先配置。在正常情况下,VIP和PublicIP的功能是一模一样的。后台进程PMON对每个节点的VIP所在的监听器注册实例信息,本地监听器中一个是VIP。当会看到两个地址host,一个是Public IP,节点故障时,Oracle集群软件会把VIP自动飘逸到其它节点上,但是本地监听器却没有飘逸到其它节点上。客户端nsnames.ora文件中host选项不再需要配置PublicIP而选择配置VIP,这样做的好处是在双节点RAC架构中当第一个节点故障时,第二个节点会有两个VIP,客户端连接第一个VIP失败后会立即连接第二个VIP对应的实例,整个切换过程是非常短暂的,用户完全感受不到RAC架构中有节点故障
4 、Scan ip相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCANIP和SCAPIPLISTENER。在客户端的tnsnames.ora配置文件中,只需要配置SCANIP然后用户即可访问数据库,并且实现了负载均衡的功能。客户端通过SCANIP、SCANIPLISTENER来负载均衡地连接到RAC数据库

当配置 Oracle Real Application Clusters(RAC)时,不同的 IP 地址承担不同的角色,以支持集群的高可用性、负载均衡和透明的故障切换。下面是对上述四种 IP 地址的详细解释:1. **Public IP(公共 IP):**- **作用:** 用于提供数据库服务给客户端应用程序。客户端通过这个 IP 地址连接到 Oracle 数据库。- **特点:** 每个节点通常都有一个公共 IP 地址,它是客户端连接的目标地址。2. **Private IP(私有 IP):**- **作用:** 用于节点之间的内部通信,实现高速、低延迟的节点间通信,确保集群协同工作。- **特点:** 私有 IP 地址是为了集群内部通信而设计的,它不对外提供服务。节点之间使用私有 IP 地址进行数据同步、协调和其他内部通信。3. **Virtual IP(VIP,虚拟 IP):**- **作用:** 提供透明的故障切换,确保客户端总是能够连接到运行的数据库实例,即使某个节点发生故障。- **特点:** 每个节点都有一个 VIP 地址,该地址是由 Oracle Clusterware 在节点间进行故障切换时动态分配的。客户端连接到 VIP 地址,而不是直接连接到特定节点,从而实现透明的故障切换。4. **SCAN IP(单一客户端访问名称):**- **作用:** 提供了一个虚拟的单一名称,客户端可以通过该名称连接到整个 RAC 集群,而不需要关心具体的节点信息。- **特点:** SCAN IP 地址是由 SCAN 名称解析到的 IP 地址,通过 SCAN,客户端可以轻松连接到整个 RAC 集群,而不必担心具体节点的变化。SCAN 简化了客户端连接配置,尤其在集群配置发生变化时更为便捷。这些 IP 地址协同工作,共同确保 Oracle RAC 在分布式环境中提供高可用性、负载均衡和透明的故障切换。

(3)如何登录asm实例?
答: asmcmd

ASM(Autonomous Database Shared)
是Oracle Cloud Infrastructure (OCI) 上的一种托管数据库服务。
要登录到 ASM 实例,
您可以使用 SQL*Plus 工具或 SQLcl 工具。以下是使用 SQL*Plus 登录 ASM 实例的一般步骤:1. **打开终端或命令提示符:** 在本地计算机上打开终端或命令提示符。2. **使用 SQL*Plus 登录到 ASM:** 使用以下命令连接到 ASM 实例:sqlplus / as sysasm如果需要用户名和密码,您可以提供有效的 ASM 管理员认证。如果未提供用户名和密码,`/ as sysasm` 将使用 ASM 实例的操作系统身份验证。sqlplus sys/<your_sys_password>@<connect_identifier> as sysasm其中 `<your_sys_password>` 是 SYS 用户的密码,`<connect_identifier>` 是 ASM 实例的连接标识符。3. **输入密码:** 如果您没有使用操作系统身份验证登录,系统将提示您输入密码。4. **成功登录:** 成功提供正确的凭据后,您将看到 SQL*Plus 提示符,表示您已成功登录到 ASM 实例。请注意,ASM 实例的登录步骤可能会有所不同,具体取决于您的环境和安全设置。确保您有足够的权限来执行所需的操作,并且仅使用安全的连接方式。如果使用 SQLcl 或其他工具,请查阅相应的文档以获取详细信息。

(4) oracle sqlplus 是什么?
答: 客户端


Oracle SQLPlus 是 Oracle 数据库的命令行界面工具,
它允许用户与 Oracle 数据库进行交互并执行 SQL 和 PL/SQL 语句。
SQLPlus 提供了一个文本界面,通过这个界面,用户可以连接到数据库实例、执行 SQL 查询、运行存储过程、查看表结构等。

(5) Oracle 端口号是多少?

答: 1521

(6) Oracle19C怎么查看有几个pdb?
答:方法1: show pdb 方法 2: 查看进程

### 方法 1: 使用 SQL 查询连接到数据库,然后执行以下 SQL 查询语句:SELECT pdb_name FROM cdb_pdbs;或者SELECT name FROM v$pdbs;这两个查询将返回当前数据库实例中所有 PDB 的名称。### 方法 2: 使用 SQL*Plus 或 SQLcl 工具查看进程您可以使用 SQL*Plus 或 SQLcl 连接到数据库,然后运行以下查询:SELECT COUNT(*) FROM v$pdbs;或者在 SQLcl 中执行:SHOW PDBS这会显示当前数据库实例中的 PDB 数量。请注意,具体的查询语句可能会因您的具体情况而有所不同。在连接到数据库后,您可以根据需要选择适当的查询语句。

(7)oracle出现问题查看什么日志?
答: alert 日志

Alert Log:位置: alert_<SID>.log 文件,通常在 diag 目录下的 trace 子目录中。
用途: 记录数据库实例启动和关闭的信息,以及重要的错误和警告消息。

(8) Oracle 归档日志保存着什么?
答:数据更改错误和警告系统事件

Oracle 归档日志(Archived Logs)包含数据库的归档重做日志文件,
这些文件记录了数据库的所有变更。当数据库启用归档模式时,归档日志对于恢复和数据库备份非常重要。以下是归档日志保存的主要信息:1. **重做日志记录:** 归档日志包含了数据库中发生的所有事务的重做日志记录。这些记录包括了对数据库进行的插入、更新、删除等操作的详细信息。重做日志的目的是为了在需要时能够还原或重做这些事务。2. **事务的逻辑操作:** 归档日志不仅包含了对表中数据的物理更改,还包含了对数据的逻辑更改。这意味着它包含了对数据的修改、事务的开始和提交等信息。3. **数据库变更的时间戳:** 归档日志中包含有关每个事务的时间戳信息,以及事务何时提交的信息。这对于在某个特定时间点还原数据库状态非常有用。4. **支持恢复和备份:** 归档日志的主要目的是支持数据库的恢复和备份。通过保留归档日志,您可以在数据库故障或数据损坏时还原数据库到先前的状态。5. **与逻辑日志挂钩:** 归档日志与 Oracle 的逻辑日志(Redo Log)密切相关。逻辑日志记录了数据库的实时变更,而归档日志则保存了这些变更的归档版本,以便后续还原。在启用归档模式的情况下,Oracle 数据库会自动将逻辑日志中的信息归档到指定的归档目录中。这些归档日志文件以一种有序的方式生成,并且它们的命名通常基于时间戳和序列号。

(9) Oracle dg同步的几种机制?
答:实时应用,高延迟应用,异步应用,同步应用。

让我更详细地解释一下:1. **实时应用(Real-Time Apply):**- **特点:** 实时应用是一种同步模式,它确保主库提交的事务立即在备库上应用。- **适用场景:** 适用于对数据实时性要求非常高的业务场景。主库提交的事务在备库上立即可用。2. **高延迟应用(Max Availability):**- **特点:** 这是一种同步模式,但允许在备库上设置最大延迟以提高可用性。主库提交事务后,可以设置一定的延迟时间,之后再将重做日志应用到备库。- **适用场景:** 适用于需要实现高可用性,但对实时性要求稍低的场景。3. **异步应用(Max Performance):**- **特点:** 异步应用是一种非同步模式,主库提交事务后,不等待备库应用,而是异步地传输重做日志。- **适用场景:** 适用于需要降低主库的响应时间,而对实时性要求相对较低的场景。4. **同步应用(Max Protection):**- **特点:** 同步应用是一种同步模式,要求主库提交的事务必须在备库上同步应用后才能认为提交成功。- **适用场景:** 适用于对数据一致性和实时性要求非常高的关键业务场景,确保主备库之间的数据完全同步。这些同步机制的选择通常基于业务需求、性能要求和可用性要求。实时应用和高延迟应用提供了一种平衡,可以根据具体情况进行配置,而异步应用和同步应用则更侧重于不同的可用性和数据一致性要求。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

StarCCM+ 导入STL几何模型进行仿真

使用 StarCCM 进行仿真时&#xff0c;通常都是用 3D-CAD Model 导入 CAD 类型的几何模型。但对于一些特殊情况&#xff0c;例如通过三维重建等方法获得的几何模型是 STL 文件而非 CAD 文件&#xff0c;这种情况下可以通过 Import Surface Mesh 的方法导入 STL 文件进行仿真&…

ubuntu pycharm 死机,如何重启

1. 找出pycharm 进程的id 进入命令行&#xff1a; ps -ef 是查看当前运行的进程 值输入 ps -ef 会返回所有当前执行的进程&#xff0c;太多了&#xff0c;过滤一下&#xff0c;找到 pycharm : ps -ef | grep pycharm 2. 使用 kill -s 9 来杀死进程 如图所是&#xff0c;…

文字转语音自动合成系统源码:让你的语音自动转成文字 附带完整的搭建教程

人工智能技术的不断发展&#xff0c;语音识别和自然语言处理技术已经逐渐成熟。文字转语音自动合成系统就是结合了这两项技术&#xff0c;将文字信息转化为语音输出&#xff0c;为用户提供更加便捷、高效的信息获取方式。这种系统在语音助手、智能客服、教育学习等领域有着广泛…

11月,1Panel开源面板项目收到了这些评论

2023年11月24日&#xff0c;1Panel开源面板项目&#xff08;https://github.com/1Panel-dev&#xff09;发布了题为《10月&#xff0c;1Panel开源面板收到了这些评论》的社区评论合集。在该文章的评论区&#xff0c;很多社区用户跟帖发表了自己对1Panel开源项目的使用感受和意见…

二叉搜索树--二叉排序树

特性 搜索依据的关键码&#xff0c;所有节点的关键码互不相同非空左子树的所有键值小于其根结点的键值。非空右子树的所有键值大于其根结点的键值。左、右子树都是二叉搜索树。左 < 根 < 右&#xff0c;左右都是二叉排序树二叉搜索树-中序遍历从小到大有序 创建二叉搜…

精通Spring整合MyBatis:架构师的实践指南

引言&#xff1a; 介绍Spring和MyBatis的基本概念及其在Java应用开发中的重要性。 整合原理 在整合Spring和MyBatis时&#xff0c;关键在于理解两者是如何协同工作的。Spring框架主要负责管理Java应用的生命周期和依赖注入&#xff0c;而MyBatis则专注于数据库操作和映射。 …

c++知识总结

一 细碎知识 1.9 I 1.9.1 inline 参考 C语言中头文件中的 static inline 函数以及 __attribute__((always_inline)) 强制内联展开-CSDN博客https://blog.csdn.net/m0_37616597/article/details/104138980 慎用 inline 内联能提高函数的执行效率,为什么不把所有的函数都定…

高分辨率台阶仪,精准掌控细节测量

什么是台阶仪&#xff1f; 台阶仪是一款超精密接触式微观轮廓测量仪&#xff0c;可以对微米和纳米结构进行膜厚和薄膜高度、表面形貌、表面波纹和表面粗糙度等的测量。 什么是台阶仪分辨率&#xff1f; 台阶仪分辨率是指在台阶仪的测量范围内&#xff0c;仪器能够精确分辨出的…

等保2.0的变化

1法律地位得到确认 《中华人民共和国网络安全法》第21条规定“国家实行网络安全等级保护制度”&#xff0c;要求“网络运营者应当按照网络安全等级保护制度要求&#xff0c;履行安全保护义务”&#xff1b;第31条规定“对于国家关键信息基础设施&#xff0c;在网络安全等级保护…

外包干了2年,技术退步明显...

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

5.2 Linux FTP 服务

1、概念介绍 FTP&#xff08;File Transfer Protocol:文件传输协议&#xff09;作用Internet 上用来传送文件的协议 FTP Server&#xff08;File Transfer Protocol Server&#xff09;是在互联网/局域网上提供文件存储和访问服务的计算机&#xff0c;它们依照FTP协议提供服务…

Sqoop安装与配置-shell脚本一键安装配置

文章目录 前言一、使用shell脚本一键安装1. 复制脚本2. 增加执行权限3. 执行脚本4. 加载用户环境变量5. 查看是否安装成功 总结 前言 本文介绍了如何使用Shell脚本一键安装Sqoop。Sqoop是一个用于在Apache Hadoop和结构化数据存储&#xff08;如关系数据库&#xff09;之间传输…

优先考虑泛型

Java中的泛型&#xff08;Generics&#xff09;提供了一种参数化类型的机制&#xff0c;使得你可以编写更灵活、类型安全的代码。下面是一个例子&#xff0c;说明在Java中优先考虑泛型的好处&#xff1a; 考虑一个简单的容器类&#xff0c;它可以存储任意类型的元素&#xff0…

【Avue】点击新增再点击表单得radio选项出现新表单,且编辑页面关不掉新表单处理方法

一、问题描述 1、点击新增 2、 点击radio选择值 1、点击否得时候没反应 2、点击是得时候出现新表单 2.1、旧代码 {label: 是否危险源,prop: isBigdanger,searchLabelWidth: 120,overHidden: true,span: 24,rules: [{required: true,message: 请选择是否重大危险源,trigger: bl…

孟德尔随机化+WGCNA+预后模型,7+轻松get

今天给同学们分享一篇生信文章“Exploring the causality and pathogenesis of systemic lupus erythematosus in breast cancer based on Mendelian randomization and transcriptome data analyses”&#xff0c;这篇文章发表在Front Immunol期刊上&#xff0c;影响因子为7.3…

浅显易懂 @JsonIgnore 的作用

1.JsonIgnore作用   在json序列化/反序列化时将java bean中使用了该注解的属性忽略掉 2.这个注解可以用在类/属性上   例如&#xff1a;在返回user对象时&#xff0c;在pwd属性上使用这个注解&#xff0c;返回user对象时会直接去掉pwd这个字段&#xff0c;不管这个属性有没…

【Idea】SpringBoot项目中,jar包引用冲突异常的排查 / SM2算法中使用bcprov-jdk15to18的报错冲突问题

问题描述以及解决方法&#xff1a; 项目中使用了bcprov-jdk15to18 pom依赖&#xff0c;但是发现代码中引入的版本不正确。 追溯代码发现版本引入的是bcprov-jdk15on&#xff0c;而不是bcprov-jdk15to18&#xff0c;但是我找了半天pom依赖也没有发现有引入bcprov-jdk15on依赖。…

MySQL常见死锁的发生场景以及如何解决

死锁的产生是因为满足了四个条件&#xff1a; 互斥占有且等待不可强占用循环等待 这个网站收集了很多死锁场景 接下来介绍几种常见的死锁发生场景。其中&#xff0c;id 为主键&#xff0c;no&#xff08;学号&#xff09;为二级唯一索引&#xff0c;name&#xff08;姓名&am…

Vue.js 使用基础知识

Vue.js 是一款用于构建用户界面的渐进式框架&#xff0c;它专注于视图层。Vue.js 不同于传统的 JavaScript 框架&#xff0c;它采用了组件化的开发方式&#xff0c;使得开发者可以更加高效和灵活地构建交互式的 Web 应用程序。 目录 什么是 Vue.js安装 Vue.jsVue 实例模板语法插…

bat 脚本的常用特殊符号

1、 命令行回显屏蔽符 2、% 批处理变量引导符 3、> 重定向符 4、>> 重定向符 5、<、>&、<& 重定向符 6、| 命令管道符 7、^ 转义字符 8、& 组合命令 9、&& 组合命令 10、|| 组合命令 11、"" 字符串界定符 12、, 逗号…