Articles of 数据库

如何使用额外的专用服务器来实现冗余?

我是处理生产服务部署基础架构的新手。 我的直觉告诉我,如果我想让自己的服务尽可能地“起来”,而且只能承担2台专用服务器(启动时间!),那么我应该让一台服务器成为另一台服务器的冗余副本。 然后设置故障转移,复制等 然而,在阅读了一些案例研究之后,甚至听说Stack Overflow和OK Cupid只有一个数据库服务器,也许我是在过度揣测事情呢? 我有点讨厌不得不花费250美元/月。 在租用的服务器上充当备份以防万一 。 这一切都取决于您提供的服务,但是Stack Overflow 必须足够重要,以至于需要冗余数据库。 好,足够散漫。 我错过了什么? 帮帮我! 谢谢。

PostgreSQL很多大型数组和写入

我运行一个python程序,产生8个线程,每个线程通过psycopg2启动自己的postmaster进程。 这是为了最大限度地使用我的CPU核心(8)。 每个线程调用一系列SQL函数。 这些函数中的大多数通过使用unnest()并将每个FLOAT8乘以与每行关联的另一个FLOAT8,从而通过成千上万的行关联到一个大的FLOAT8 []数组(250-300)值。 这种数组方法最大限度地减less了索引和表的大小。 该函数以插入到同一表格(pk INT4,数组FLOAT8 [])的一行的另一个表中的方式结束。 一些由python调用的SQL函数将会更新这些types的表(大数组)。 现在我已经configurationPostgreSQL使用大部分的内存caching(我认为57 GB的effective_cache_size),只有less量的共享内存(我认为是1GB)。 首先,我想知道Cache和共享内存在PostgreSQL(和我的应用程序)方面有什么区别。 我注意到,在大多数读取密集型应用程序(Select unnest(array)等)期间,我的总CPU处理能力只有大约20-40%被使用。 所以第二,我想知道我能做些什么来改善这个问题,这样就可以使用100%的CPU。 根据我的观察,似乎与python或其GIL没有任何关系。 谢谢

Linux上数据库的内存使用情况

因此,免费输出我们关心的应用程序内存使用量通常是 – / + buffers / cache行中的可用内存量。 对于像Oracle这样的数据库应用程序来说,为数据库提供大量的caching和缓冲区以便与所有IO一起运行非常重要? 如果这是有道理的,你怎么知道多less?

在远程数据库上创build表

我用数据库链接创build了一个数据库链接。 create public database link REMOTEDB connect to REMOTEUSER identified by REMOTEPWD using 'REMOTEDB'; 然后我在远程数据库中创build一个表, create table MYTABLE@REMOTEDB (name varchar2(20))); 它说, ORA-02021 DDL operations are not allowed on| a remote database.. ORA-02021 DDL operations are not allowed on| a remote database.. 请问这不工作的任何成本,或者我只是缺less一些权限来创build?

数据库集群…没有主/从?

我想知道是否有可能有一组SQLdb服务器写入数据并复制它们,避免冲突的信息。 我想象一个主/从结构是强制性的,我想知道如果一个系统的服务器没有层次结构可以支持复制。 目前我正在使用MySQL ,但如果需要,我会很乐意移动到另一个数据库。 有任何想法吗? 🙂

数据库的高可用性(DRBD + GFS)?

它是否像GFS上的MySQL(或任何其他关系数据库)一样工作(使用DRBD),并有多个节点读写数据? 如果是,提供高可用性数据库/应用程序设置的“最佳”方法是? RHEL(集群套件)是一个很好的方法来设置这个? (或者centos)

慢速插入SQL Server 2005

我正在用以下信息研究一个问题: 我们有一个大约有90klogging的日志表,在极端的情况下插入了几秒钟(大概10到20s)。 表格的其中一列存储XML作为XML数据types。 在插入过程中XML不会被parsing,只是存储。 我们尝试截断表格,假设问题与logging数量有关(尽pipe90k似乎是“正常的”),插入仍然performance不佳。 虽然我知道还有其他问题可以解决这个问题,但是有什么可以帮助我debugging这个问题? 感谢您的任何build议和帮助提前。

Firebird数据库损坏的原因

我在多个基于Windows的服务器上运行几个不同的Firebird版本(2.0,2.1),这些服务器硬件差异很大。 他们之间唯一匹配的事情是,他们正在运行相同的数据库结构的家庭build成的应用程序。 最近我在多台服务器上看到了大规模的减速。 事实certificate,数据库被破坏了,所以每次破坏时,我都会修复,备份和恢复数据库,并且一段时间(1-2周)都没有问题,然后再次重复。 谢天谢地,我还没有看到任何数据丢失或损坏。 问题是,每一次这样的停机都会导致生产力的损失,而且由于一些数据库位于偏远地区,往往会对我造成很大的影响。 我一直在试图找出是什么原因造成的腐败,但我一直无法。 它运行在不同的硬件上的事实表明,它不应该是一个基于硬件的问题。 如果我们排除硬件问题,我不好意识到这是Firebird中的一个bug,因为我没有通过SQL做任何事情。 你有什么想法如何找出究竟是什么造成的腐败,希望解决这个问题? 根据第一个回复:我在firebird.log中遇到了几个不同的问题: INET/inet_error: read errno = 10054 INET/inet_error: select in packet_receive errno = 10038 Relation has 12 orphan backversions (5 in use) in table LIMITAI (139) Index 1 is corrupt on page 61700 level 1. File: ..\..\..\src\jrd\validation.cpp, line: 1659 (repeats for multiple pages and index numbers) […]

从Oracle 10gR2迁移到Oracle XE

我的一个应用程序当前使用Oracle 10gR2作为后端,使用PL / SQL存储过程,触发器,序列等。 我想迁移到Oracle XE 。 这个版本可以作为服务器的主要数据库吗? 另外,我不清楚,关于是否有任何限制: 数据库的大小,无。 logging或内存大小? 没有。 并发连接? CPU /其他资源利用率限制/影响? 请指导。

如何在同一子网上处理具有相同SID的Oracle安装?

我在同一个子网上有两个Oracle RAC集群。 对于这个讨论,我们假设一个是QA集群,另一个是DEV集群。 它们都在RedHat Enterprise Linux 5,64位上运行。 它们configuration相同,所以它们都有一个名为“MyInstance”的实例,并具有相同的用户(包括系统和数据库),密码以及所有内容。 使用: oracle @ QA1> sqlplus -S用户/密码@my_sql_file 实际上对DEV实例运行my_sql_file.sql,即使我在QA1服务器上。 我可以尝试这样的: oracle @ QA1> sqlplus -S用户名/密码@ QA1 / MyInstance @my_sql_file 但是这给了我关于目标主机或对象不存在的错误(QA1在我的主机文件中,MyInstance在我的'lsnrctl状态'输出中)。 当你在同一个子网上有集群时,你会做什么? 有什么特别的,我应该configuration? 我一直在阅读,我想我应该给他们不同的服务名称。 你dbas同意吗? (我目前正在试图找出如何在11g上做到这一点) 有没有办法强制SQLPLUS只连接到本地实例? 我的SID或Listeners是否需要以任何特殊方式进行configuration,以允许SQLPLUS的用户/密码@ host / sid连接正常工作? 现在它不。