小编Mat*_*Mat的帖子

备份非常大的表

我必须更新一个大表的某些值(为了一个假定的例子,它被称为“资源”,它超过 500 万行),因此我必须在执行更改之前进行备份。我们没有足够的数据库可用空间来存储完整的备份表。

哪种方法最好?有没有办法通过块来做到这一点?我的意思是:备份原始表中的前 100K 行,更新原始表中的那 100K 行,从备份表中删除那 100K 行,备份原始表中的以下 100K 行,然后进行类似的操作. 这可行吗?

sql-server backup sql-server-2008-r2 update

7
推荐指数
1
解决办法
6486
查看次数

让 Oracle 优化器使用虚拟列来查找分区

我有一个包含三列的大表,如下所示:

"START_DATE" DATE,
"START_VALUE" NUMBER(10,7)
"START_DATE_VALUE" NUMBER(18,7) 
  GENERATED ALWAYS AS 
  (
    (extract(YEAR FROM START_DATE) * 10000 + 
     extract(MONTH FROM START_DATE)*100 + 
     extract(DAY FROM START_DATE))*power(10,3) + 
     (START_VALUE+180)
  ) VIRTUAL
Run Code Online (Sandbox Code Playgroud)

START_DATE_VALUE列是用于分区的虚拟列。但是,当我有这样的查询时:

select * 
from mytable
where
      start_date > to_date('02-01-2012', 'MM-DD-YYYY')
 and start_value > 120.23452
Run Code Online (Sandbox Code Playgroud)

它扫描所有分区以获取结果。如何让 Oracle 使用虚拟列,然后选择正确的分区来处理它?

抱歉,我的表定义非常大,我无法将其复制到此处。

oracle partitioning

6
推荐指数
1
解决办法
2288
查看次数

使用不同的数据类型存储应用程序设置

我正在开发一个 Web 应用程序,我计划将应用程序设置存储在数据库中的名称、值字段(一行 = 一个设置)中。

这些设置范围从目录路径到简单的是/否标志。显然,我无法将路径(字符串)存储到布尔字段中。

我唯一的选择是将值字段设为字符串,然后根据设置根据需要解释该值,还是有其他一些策略?

(我使用的是 PostgreSQL,但答案可能适用于任何数据库服务器。)

postgresql configuration

6
推荐指数
1
解决办法
915
查看次数

备用控制文件错误

我在做数据卫士。我已经手动完成了备用数据库的备份。它工作正常。当我使用备用控制文件时出现问题。在主服务器上,我创建了一个备用控制文件并将其传输到备用。

scp test_sdy oracle@db3.oracle.com:/u03/app/oracle/oradata/TEST1/control01.ctl
cp /u03/app/oracle/oradata/TEST1/control01.ctl \
   /u03/app/oracle/flash_recover_area/TEST1/control02.ctl
Run Code Online (Sandbox Code Playgroud)

备用设备init.ora包含:

*.control_files='/u03/app/oracle/oradata/TEST1/control01.ctl','/u03/app/oracle/flash_recovery_area/TEST1/control02.ctl'
Run Code Online (Sandbox Code Playgroud)

当我使用 pfile 启动备用数据库时,出现此错误:

ORA-10458: standby database requires recovery
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/u03/app/oracle/oradata/TEST1_SDY/system01.dbf'
Run Code Online (Sandbox Code Playgroud)

我是不是对备用控制文件做错了什么?我怎样才能解决这个问题?

oracle dataguard

6
推荐指数
1
解决办法
1695
查看次数

Oracle 执行哪些查询、执行的频率和时间?

我有一个(Java)Web 应用程序,它当然会对 Oracle 数据库执行许多查询(选择、插入、更新、删除)。

我想了解过去 7 天的以下内容:

    SQLQuery          Times-Executed   Average-Resp-Time    Average-Rows-Returned
====================================================================================
    SELECT whatever     981            330ms                1201
    UPDATE whatever     45             99ms                 0
Run Code Online (Sandbox Code Playgroud)

这是 Oracle 可以给我的东西吗?如果是这样,我怎样才能得到它?如果不是 Oracle,我应该看看 JDBC 驱动程序吗?

performance oracle

6
推荐指数
1
解决办法
5万
查看次数

实现软删除

有人可以向我展示或描述如何实现软删除吗?

我有包含以下字段的凭证表:id, username, password, serial

我想根据客户的请求显示给定的行数,一旦显示,它们应该被删除,以便不再显示。(它们已经无效了。)

我认为软删除将确保不会显示两次凭证。如果您对我将如何做有任何其他想法,我将不胜感激。

mysql php

6
推荐指数
1
解决办法
1万
查看次数

Berkeley DB 如何管理其文件?

我使用 Berkeley DB (BDB) 作为 JMS 队列的持久存储。当我使用队列中的条目时,底层 BDB 文件不会立即缩小,但最终会缩小。我遇到了 BDB 文件在文件系统上占用大量空间而检索性能下降的问题。

我的条目大小变化很大,但在持久队列中有 400,000 条大约 32kb 的消息并不少见。

我想了解 BDB 如何管理文件,以便我可以限制文件大小/检索性能的条目数。或者我可以排除 BDB 作为我的持久存储机制。

我可能正在搜索错误的术语,但在Oracle 文档The Berkeley DB Book 中没有找到我要查找的内容。如果 BDB 不想让我弄乱它的内部结构,我不会感到惊讶,但如果(至少)没有关于它如何处理其内部结构的概述,我会感到惊讶。

database-internals berkeley-db

6
推荐指数
1
解决办法
1819
查看次数

MySQL 中的多个“root”用户

Mysql 显示 5 个 root 用户:

| root   | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
| root   | localhost |
| root   | mysrverhostname |
Run Code Online (Sandbox Code Playgroud)

这5个有什么用?有可以删的吗?

mysql

6
推荐指数
1
解决办法
1万
查看次数

SQL Server“TOP 101”比“TOP 100”慢得多

当查询编写如下时,SQL Server 显示性能大幅下降:

select top 101 name
from Dogs
order by name
Run Code Online (Sandbox Code Playgroud)

与选择前 100 名相比。

据我所知,发生这种情况的原因是top 100+查询中的 SQL Server只是简单地对所有数据集进行排序并选择顶部记录(而前 100 个和更少的查询使用更复杂的算法)。

是否有任何解决方法?

performance sql-server

6
推荐指数
1
解决办法
1998
查看次数

最大服务器内存

我们有一个 Windows 2008 r2 服务器(在 hyper v 上),我们正在运行一个 SQL 服务器。这个数据库大约有 300 GB。服务器有 32 GB 内存。在 SQL Server 属性中,我看到了以下内容:

在此处输入图片说明

在此处输入图片说明

我只是想知道这是可以的还是内存过多。根据 www.sqlservercentral.com/blogs/glennberry/2009/10/29/suggested-max-memory-settings-for-sql-server-2005_2F00_2008/ 我读到 32 GB 的服务器需要最大 29000

有人可以建议。谢谢

sql-server

6
推荐指数
2
解决办法
1422
查看次数