AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-122615

Jeff Bauersfeld's questions

Martin Hope
Jeff Bauersfeld
Asked: 2024-06-28 09:23:58 +0800 CST

SQL Server 更新后出现“长异步 API 调用”

  • 6

在最新的 SQL Server 2019 CU、KB5037331 之后,我在我的几个 SqlServer Server 日志中反复收到以下消息:“长异步 API 调用:调度程序的调度公平性可能会受到异步 API 调用意外超过 [8 位大数字] 毫秒的影响。”

我在更新说明中看到以下变化:

“当由于底层存储的性能问题而在 Bufferpool Lazy Writer(ntdll!ZwWriteFile 系统调用)中检测到高 I/O 延迟时,添加以下日志消息:

警告长异步 API 调用:异步 API 调用意外超过 xxx 毫秒可能会影响调度程序的调度公平性。”

问题是,除了基本的 I/O 故障排除之外,我不知道该如何处理这些信息。我需要终止什么才能停止此消息?我如何确定 I/O 问题涉及哪些文件/对象以解决潜在问题?

sql-server-2019
  • 2 个回答
  • 611 Views
Martin Hope
Jeff Bauersfeld
Asked: 2019-02-08 09:05:36 +0800 CST

$X 表不存在?

  • 0

在排除为什么数据库应用程序在测试中比在生产中运行得更好时,我遇到了这种现象:我无法在生产中查询 X$ 表。

SQL> desc x$ksppi
ERROR:
ORA-04043: object "SYS"."X_$KSPPI" does not exist


SQL> select * from dba_synonyms where synonym_name = 'X$KSPPI';

OWNER                          SYNONYM_NAME                   TABLE_OWNER                    TABLE_NAME
------------------------------ ------------------------------ ------------------------------ ------------------------------
DB_LINK
--------------------------------------------------------------------------------------------------------------------------------
PUBLIC                         X$KSPPI                        SYS                            X_$KSPPI



SQL> desc sys.x$ksppi;
ERROR:
ORA-04043: object sys.x$ksppi does not exist

在测试中,我实际上收到了表格描述。

据我有限的理解,这些实际上是在数据库外部定义为 C 结构或类似的东西,并在启动时创建以填充 V$ 视图。如果我的生产数据库,特别是优化器,无法访问隐藏参数,我肯定能明白为什么它会对性能产生负面影响。

为什么不在启动时创建 X$ 表?此应用程序在升级到 11.2.0.4 一段时间后开始出现问题,那么是否可能是升级失败造成的?我可以采取哪些故障排除步骤来分析根本问题?

oracle performance
  • 1 个回答
  • 1426 Views
Martin Hope
Jeff Bauersfeld
Asked: 2018-05-12 09:58:35 +0800 CST

Oracle 11g 快速添加列耗时 11 小时

  • 1

据我所知,Oracle 11g 的一个新特性是能够非常快速地添加具有默认值的非空列,因为它不再使用新列中的默认值自动更新表中的每一行。但是,对于刚刚从 10.2.0.5 升级的 11.2.0.4 数据库上具有约 12 亿行的表,以下命令需要约 11 小时:

alter table table_name add column_name varchar2(6) default "DEFLT' not null;

尽管我在文档中看到了以下内容:

“但是,优化的行为受到以下限制: • 表不能有任何 LOB 列。它不能是索引组织的、临时的或集群的一部分。它也不能是队列表、对象表或物化视图的容器表。​​ • 添加的列不能加密,不能是对象列、嵌套表列或LOB列。

据我所知,我的桌子不符合任何这些条件。Describe 显示没有 LOB,ORGANIZATION INDEX 不在 create 语句中,它不是临时表,也不是集群、队列、对象或容器表。该列当然是一个 varchar 列。是否有我遗漏的东西,或者答案只是我误认为我的桌子满足这些要求之一?

ETA:不确定这是否有帮助,但我在一篇论文中注意到快速列添加的标志是在过滤谓词中使用 NVL。从测试表上的解释计划来看,我的数据库似乎没有执行快速添加:

SQL_ID  f78gwf6cz50uq, child number 0
-------------------------------------
select count(1) from t where z = 123456

Plan hash value: 1842905362

---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |       |       |   133 (100)|          |
|   1 |  SORT AGGREGATE    |      |     1 |    13 |            |          |
|*  2 |   TABLE ACCESS FULL| T    |   110K|  1406K|   133   (4)| 00:00:02 |
---------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("Z"=123456)

Note
-----
   - dynamic sampling used for this statement (level=2)
oracle oracle-11g-r2
  • 1 个回答
  • 2084 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-09-12 07:30:24 +0800 CST

DBA_TABLESPACE_USAGE_METRICS 为空

  • 0

对于我的 11.2g 数据库之一,select * from dba_tablespace_usage_metrics 不返回任何行。

为什么会这样,我该如何解决?

先感谢您。

oracle-11g-r2 tablespaces
  • 1 个回答
  • 1073 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-08-30 09:59:14 +0800 CST

在生产环境中卸载 Oracle 组件

  • 1

因此,根据我负责使我的数据库符合的标准,我们的数据库上不应安装任何未使用的 Oracle 组件。Oracle 版本多种多样。从阅读 Oracle 文档来看,似乎在创建数据库后无法卸载组件,而是不必在创建数据库时首先安装组件。在我之前创建这些数据库的人都没有这样做。

对生产造成最少干扰的最有效方法是什么?我(没有经验的)直觉是,必须创建一个只安装使用过的组件的并行数据库,将当前活动的生产数据库中的数据文件恢复到新数据库上,然后在生产中切换到新填充的数据库。

oracle installation
  • 1 个回答
  • 89 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-06-27 11:12:09 +0800 CST

如果 sys.aud$ 在 Oracle 中已满,会发生什么?

  • 2

我在文档中没有看到这一点,但是当 Oracle 10.2 审计跟踪已满时会发生什么?它只是不再制作任何审计记录吗?覆盖最旧的记录?关闭数据库?有什么办法可以改变吗?

是的,我知道不支持 10.2,但我无法控制它。是的,有一些程序不需要我亲自去发现。但是在审计操作紧急失败的情况下,如果审计线索已满,默认行为是什么?

oracle audit
  • 2 个回答
  • 6139 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-06-24 08:07:57 +0800 CST

查看未被审计的用户

  • 0

我需要确认特权用户的操作正在被审计。据我所知,从诸如 dba_stmt_audit_opts 之类的视图可以看出,我希望审计的特权用户的语句正在被不分青红皂白地审计,所以这看起来不错。

我知道 NOAUDIT 可用于停止审计特定用户的语句。我如何检查过去是否有人为特权用户这样做过?

oracle audit
  • 1 个回答
  • 547 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-06-24 07:05:48 +0800 CST

Windows 事件日志中的 SYS 审计条目在哪里?

  • 0

我将 audit_sys_operations 设置为 true,将 audit_trail 设置为 DB,设置后重新启动数据库,并以 sysdba 身份登录并执行操作。但是,我无法在 Windows 事件日志查看器中找到这些条目。根据我的阅读,它们应该在 Windows Logs->Application 下。在那里查看时,我看不到事件 ID 为 34 或包含 Oracle 的源。

我是不是遗漏了什么,或者配置不正确?

oracle audit
  • 1 个回答
  • 535 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-06-13 08:49:36 +0800 CST

Oracle 数据库升级助手“Failed in bringing up...”错误

  • 0

所以我将 3 个数据库从 10.2.0.5 升级到 11.2.0.4。其中两个进展顺利。最后一个长话短说,升级在接近尾声时中断(如果需要更多详细信息,请告诉我)。尝试了几件事,然后决定恢复,因为我以前从未手动完成过数据库升级。这不会节省时间。

恢复,再次运行准备升级的步骤,运行第三个数据库的升级助手脚本。第一个屏幕正确指出 Oracle Home = 10.2.0.5,但在点击下一步后被告知需要在升级开始之前安装数据库。数据库处于启动模式。所以我再次单击下一步,看看是否会收到不同的消息。我读到的下一条消息,

“升级助手在启动数据库 [name] 时提交。Oracle >Home /oracle/product/11.2.0.4/db_1 从 >file /var/opt/oracle/oratab 获取用于连接到数据库。要么>数据库未从 Oracle Home /oracle/product/11.2.0.4/db_1 运行,或者未找到 >正确的初始化参数文件 (pfile)。”

然后它提示我提供初始化文件的路径。但在那之前,我检查了oratab;它为该数据库正确声明了 10.2.0.5。继续提供初始化文件的路径,返回相同的错误而没有选择初始化文件的选项。尝试带一份好的 pfile 副本,更改我需要更改的参数,删除 spfile 并从 pfile 创建一个新的,然后再次尝试,结果相同。

所以我猜有人在那个中断的升级过程中,一些我不知道的参考被改变了,它告诉升级助手原始数据库 Oracle Home 在 11.2.0.4 而不是 oratab 和监听器实际上比如,10.2.0.5。任何对我需要在此处更改的内容的洞察力都将不胜感激,因为我不想在没有计划与上次不同的情况下进行另一次恢复。

oracle upgrade
  • 1 个回答
  • 1093 Views
Martin Hope
Jeff Bauersfeld
Asked: 2017-06-03 10:47:12 +0800 CST

谁应该拥有应用程序对象?

  • 3

所以我最近才开始做类似于成熟的 Oracle DBA 工作的东西,所以我仍在学习我工作中管理部分的许多基础知识。我的任务是使多个应用程序数据库达到一定的专业标准(我故意含糊其辞)。这些标准之一是支持应用程序的对象的所有者通常也不应该经常使用它们。主要的例外是 DBA,但仅适用于我们定期维护的某些类对象,例如索引。除了执行安装和维护任务时,应禁用应用程序对象所有者。

这最终让我想到了我的问题:谁应该拥有这些应用程序对象。我们是否应该让一个创建对象的用户在其余下的生命周期中基本上被禁用,并为这个或那个角色提供必要的使用权限?DBA 是否可以拥有所有应用程序对象,或者他们应该只拥有每天/每周维护的那些对象?显然,确切的答案将取决于组织的需求和该标准具体要求的内容,但是这里应用程序对象所有权的最佳实践是什么?

这个问题可能太宽泛了,所以如果我需要编辑它以使其更具体,请告诉我。我真的不知道从哪里开始,甚至不知道该问什么问题。感谢您的任何帮助,您可以提供。

oracle development
  • 3 个回答
  • 99 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve