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,一经查实,立即删除!

相关文章

使用Linux命令修改服务器时间及设置时区

在服务器管理和维护中&#xff0c;准确的系统时间对于保证服务器正常运行和数据一致性至关重要。 而有时候&#xff0c;我们可能需要手动修改服务器上的系统时间&#xff0c;以调整时区、修复时间漂移等问题。 本文将介绍如何使用Linux命令来修改服务器时间。 一、检查当前时…

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

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

Halcon 深度学习语义分割

1.1根据txt格式标签生成Label图片 (1) 经过测试验证&#xff0c;使用python代码或者halcon代码生成的Label图片是一样的。但要注意&#xff0c;最后要生成png格式的Label图片。 (2) 使用python代码生成Label图片 import cv2 import os import numpy as npdef gen_label_img(…

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开源项目的使用感受和意见…

爬虫中Cookies 和 Sission的区别 , 超时设置

Cookies 和 Sission 1.1 cookie和session的区别 cookie数据存放在客户的浏览器上&#xff0c;session数据放在服务器上 cookie不是很安全&#xff0c;别人可以分析存放在本地的cookie并进行cookie欺骗 session会在一定时间内保b存在服务器上&#xff0c;当访问增多&#xf…

QEMU源码全解析 —— virtio(8)

接前一篇文章&#xff1a; 上一回讲解了virtio balloon相关类所涉及的realize函数&#xff0c;如下表所示&#xff1a; realize函数parent_dc_realize函数DeviceClassvirtio_pci_dc_realizePCIDeviceClassvirtio_pci_realizeVirtioPCIClassvirtio_balloon_pci_realizepci_qdev…

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

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

什么是WebSocket?在PHP中如何使用WebSocket?

WebSocket&#xff1a; WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它提供了与 HTTP 不同的通信方式&#xff0c;允许服务器主动向客户端推送数据&#xff0c;而不需要客户端明确地请求。WebSocket 通信始于一个握手过程&#xff0c;之后就可以在双方之间建立持…

学习软件测试建议看些什么书?

测试入门软件测试&#xff08;第2版&#xff09;Software Testing (2e), Ron Patton 一本测试入门的好书&#xff0c;较全面地介绍了各种测试领域和方法&#xff0c;为测试新手提供了正确的观念和宽泛的基础。 软件测试的艺术&#xff08;第2版&#xff09;The Art of Softwar…

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

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

Linux 服务器使用 ssh 密钥登录

背景 我们平时登录云服务器都是直接输入 IP、账号、密码进行登录&#xff0c;这种方式当是你自己的服务器的时候就没什么关系。 但是如果在企业中&#xff0c;当员工人数日渐增多时&#xff0c;又需要给后端开放测试服务器、或正式服务器的权限时。 不得不面临的一个问题就是…

node-red中输出当前时间

在node-red中输出当前时间&#xff0c;并指定时区为北京时间&#xff0c;时间格式为&#xff1a;YYYY-MM-DD HH:mm:ss 可以使用moment.js库&#xff0c;也可以自行写一个function&#xff0c;介绍一下使用自定义function的方法。 var now new Date(); var formattedDate …

SpringDataRedis 基本使用

1.1 简介 1.1.1 概述 Spring Data 中有一个成员 Spring Data Redis&#xff0c;他提供了 RedisTemplate 可以在 Spring 应用中更简便的访问 Redis 以及异常处理及序列化&#xff0c;支持发布订阅等操作。 1.2 RedisTemplate 常见 API   RedisTemplate 针对 jedis 客户端中大…

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 内联能提高函数的执行效率,为什么不把所有的函数都定…

程序是怎么跑起来的

前言 本篇文章从整体流程上描述一下一个程序是怎么在计算机中运行的&#xff0c;整个流程分为三大块&#xff1a; 程序的创造程序的编译程序的运行 程序的创造 一般来说&#xff0c;创造一个程序是代码工程师的责任&#xff0c;虽然现在有很多工具可以不经过编码就能创造一…

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

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

等保2.0的变化

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

1-SaaS通识

云计算 讲SaaS必须先讲云计算。云计算通过互联网提供计算服务&#xff0c;包括服务器、存储、数据库、网络、应用等&#xff0c;采用按需付费的定价模式。 云计算的4种部署模式 公有云&#xff1a;由云服务商拥有和管理&#xff0c;就好比水电&#xff0c;居民共享&#xff…