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-10756

Roy's questions

Martin Hope
Roy
Asked: 2014-11-23 08:50:39 +0800 CST

如何在 Oracle 11.2 中淘汰物理备用

  • 2

我有一个带有单节点物理备用的生产 Oracle 11gR2 RAC 数据库。现在是时候淘汰旧的备用服务器并将该角色传递给更新硬件上的 RAC。

我们不使用 Data Guard Broker。

我无法在这个特定的过程中找到很多东西,所以我想也许它并没有那么多。显然,至少比我能想到的要多一点。

停止在旧备用数据库上应用日志后,我尝试简单地清除备用日志目标并为日志传送设置一个新目标。然后 Oracle 抱怨新物理备用数据库的 DB_UNQUE_NAME 不是当前 Data Guard 配置的一部分。

SQL> alter system set log_archive_dest_3='';

System altered.

SQL> alter system checkpoint;

System altered.

SQL> alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB11SBY' scope=both sid='*';
alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB10SBY' scope=both sid='*'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16053: DB_UNIQUE_NAME PDB10SBY is not in the Data Guard Configuration

对 v$dataguard_config 的快速查询确认存在包含旧备用数据库的 DB_UNIQUE_NAME 的活动配置。

SQL> select * from
  2  v$dataguard_config;

DB_UNIQUE_NAME
------------------------------
PDB10
PDB10_STBY

那么问题来了,淘汰现有的 Data Guard 配置以便部署新的物理备用数据库需要哪些步骤?

oracle oracle-11g-r2
  • 1 个回答
  • 5009 Views
Martin Hope
Roy
Asked: 2013-07-13 19:29:59 +0800 CST

更改 Oracle 建议备份的位置

  • 4

在一个数据库上,尽管 RMAN 配置显示设备类型磁盘格式指向其他位置,但从企业管理器计划的 Oracle 建议备份始终最终在恢复区域中。

据我所知,计划的备份作业很简单:

run {
allocate channel oem_disk_backup device type disk;
recover copy of database with tag 'ORA_OEM_LEVEL_0';
backup incremental level 1 cumulative  copies=1 for recover of copy with tag 'ORA_OEM_LEVEL_0' database;
}

要求 RMANshow all显示设备类型磁盘确实配置为存储在其他位置:

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/s01/backup/PROD11/PROD11_%U';

如果我手动运行脚本,备份集将放置在上述位置,当从作业调度程序运行脚本时,备份集会转到 ASM 上的 RECO 组,

为什么 Oracle 仍会选择将备份集转储到db_recovery_file_dest?

最终,如何更改备份目的地?

oracle-11g-r2 rman
  • 1 个回答
  • 1467 Views
Martin Hope
Roy
Asked: 2013-03-08 02:15:40 +0800 CST

如何监控 ASM 磁盘组上的空间使用情况

  • 8

昨晚,我们其中一台 Oracle 数据库机的恢复区已满。这在其中一个数据库警报日志中报告,我们能够在下一次日志切换之前清除一些空间,此时生产将停止。

多一点警告肯定会很好,比如当磁盘组已满 70% 时。

我们有哪些选项可以监控 ASM 中的磁盘使用情况?

oracle oracle-asm
  • 2 个回答
  • 236331 Views
Martin Hope
Roy
Asked: 2013-01-23 11:52:02 +0800 CST

如何创建此 SQL 查询?

  • 5

我正在斯坦福在线参加免费的 DB 课程,坦率地说,其中一个练习给我带来了一些麻烦。我有一种感觉,这应该非常简单,所以对于 DBA,我显然不太擅长 SQL。

我们正在使用简化的电影评级方案。

对于同一评论者对同一部电影两次评分并第二次给予更高评分的所有情况,返回评论者的姓名和电影的标题。

这是架构:

Movie ( mID, title, year, director ) 
Reviewer ( rID, name ) 
Rating ( rID, mID, stars, ratingDate ) 

我该怎么办?

query
  • 4 个回答
  • 2343 Views
Martin Hope
Roy
Asked: 2013-01-16 06:08:17 +0800 CST

具有单节点 Data Guard 物理备用的 Oracle RAC

  • 2

Oracle 11gR2 Data Guard 的最佳实践意味着主数据库和备用数据库应该具有相同的布局,例如。RAC 到 RAC。

将 RAC 数据库复制到单节点物理备用节点需要考虑哪些特殊注意事项?

为什么这将是一个非常糟糕的主意?

oracle oracle-11g-r2
  • 2 个回答
  • 7171 Views
Martin Hope
Roy
Asked: 2013-01-09 03:47:39 +0800 CST

SELECT .. WHERE column IN ( .. ) 查询的解析和绑定变量

  • 2

我希望确保 php web 应用程序中的所有查询都正确使用绑定变量,以最大限度地减少查询的解析。

我想知道 Oracle 如何解析将列与值列表进行比较的查询。Oracle 会认为这些语句相同,还是列表必须在绑定变量内?

select char from alphabet where char not in ('a', 'b');

select char from alphabet where char not in ('c', 'd');

如果列表的内容必须在绑定变量中,是否可以使用单个变量来完成,或者必须将列表中的每一项都放在一个单独的变量中?

select char from alphabet where char not in (:list);

select char from alphabet where char not in (:c1, :c2);

如果后者为真,列表中项目数量不同的查询是否仍被认为具有相同的结构?

select char from alphabet where char not in (:c1, :c2);

select char from alphabet where char not in (:c1, :c2, :c3);
oracle php
  • 1 个回答
  • 1334 Views
Martin Hope
Roy
Asked: 2012-12-11 04:55:32 +0800 CST

我应该有多少个控制文件?

  • 5

在 上Oracle Database Appliance,默认部署只给你一个control file.

我觉得这有点令人费解。单个控制文件会导致自动配置的企业管理器数据库控制台中的策略违规,据我所知,Oracle 的建议仍然是,您应该始终在不同的驱动器和文件系统上至少有两个控制文件。就个人而言,为了安全起见,我一直有三份。

ODA 配置了 ASM,并且使用三重镜像驱动器确实具有良好的存储冗余。在此配置中使用单个控制文件运行是否可以?

将第二个控制文件添加到同一个磁盘组可能没有多大意义,将控制文件多路复用到 SSD 磁盘组或者每个节点的操作系统驱动器是否更有意义?

oracle-11g-r2 oracle-12c
  • 3 个回答
  • 4223 Views
Martin Hope
Roy
Asked: 2012-11-14 00:36:31 +0800 CST

在 Oracle 11gR2 上我可以将撤消保留设置多高

  • 2

设置非常高的撤消保留是否可行,以允许闪回查询及时回溯数周?

自然,撤消表空间中必须有足够的可用空间来包含所需的撤消数据量。还有其他我应该注意的限制吗?

如果没有足够的撤消空间可用,会发生什么?生产是否会受到任何影响,或者只是闪回和回滚受到限制(快照太旧等)。

更新:

每个实例每天的典型撤消生成量略低于 1 GB,每个实例的撤消空间价值高达 64 GB,以 30 天的撤消保留目标运行听起来是可行的。不?

oracle oracle-11g-r2
  • 2 个回答
  • 18496 Views
Martin Hope
Roy
Asked: 2012-10-30 04:35:55 +0800 CST

使用 Oracle Recovery Manager (RMAN) 进行行级还原

  • 0

我们快到 2012 年底了,我仍然发现自己依靠数据库导出来维持执行行级还原操作的能力。虽然这是一种行之有效的方法,但摆脱每天占用大量数据库资源的所有导出操作肯定会很好。

一个典型的场景是客户不小心从创作系统中删除了项目或文档。为了解决这个问题,我需要找到并放回那些已删除的行。

我将从意外删除之前的日期提取客户模式的数据库转储,将数据导入新模式。现在我可以识别丢失的数据,并将其重新选择到生产模式中。

我意识到您可以直接使用闪回恢复来做到这一点,但是我们可以在快速恢复区域中保留多少数据是有限的,而且客户往往不会总是在规定的时间内找出他们的错误。

有没有使用 Oracle RMAN 完成这些任务的好方法?

oracle backup
  • 2 个回答
  • 1842 Views
Martin Hope
Roy
Asked: 2012-10-30 02:18:06 +0800 CST

Oracle 11gR2 归档日志目标

  • 2

我想使用 ASM 将第二个归档日志目标添加到 Oracle 11gR2 RAC 数据库,其想法是,如果主存储出现故障,我将获得一些冗余。

存档日志已启用,并且日志当前存档在快速恢复区。但是,据我所知,没有配置任何 LOG_ARCHIVE_DEST_n 初始化参数。

现在是否有未设置的默认值将快速恢复区指定为日志目标?

如果是这种情况,我假设我现在必须配置两个目的地。一项用于继续将存档写入该默认目标,一项用于附加备份目标。如果是这样,如何指定快速恢复区中现有的默认位置?

这行得通吗,还有另一种首选方法吗?

alter system set log_archive_dest_1 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST';
alter system set log_archive_dest_2 = 'LOCATION=/s01/archive/TESTDB';
alter system set log_archive_dest_state_1 = enable;
alter system set log_archive_dest_state_2 = enable;
alter system set log_archive_min_succeed_dest = 1;

自然地,/s01 文件系统在所有(两个)集群节点上都可用。

oracle oracle-11g-r2
  • 1 个回答
  • 22412 Views
Martin Hope
Roy
Asked: 2012-10-18 07:03:22 +0800 CST

Oracle 数据库机的网络设计注意事项

  • 7

随着 Oracle Engineered Systems 的引入,DBA 更接近于基础架构设计决策,并且期望至少对数据库的网络设计要求有一些意见。至少这是我发现自己的情况:)

在部署 ODA 进行测试后,我发现自己使用了当前设置:

系统控制器 0 具有连接到典型边缘交换机 Catalyst 2960 系列的公共绑定接口 (bond0)。管理接口 (bond1) 连接到相同类型的第二个边缘交换机。

系统控制器 1 的公共接口同样连接到第二个交换机,而管理接口连接到第一个交换机。

这样,如果其中一个开关发生故障,操作员将能够通过公共或管理界面访问每个系统控制器以方便诊断。

在 Cisco 端,为 ODA 的 4 个绑定接口配置了 EtherChannel 组。这两个交换机分别连接到网络的其余部分,两者之间没有直接链接。

乍一看,这确实是一个合理的设计,但我对不同故障场景的思考越多,我似乎提出的问题就越多。

考虑到这些边缘型交换机本身并不是冗余的,集群可以处理一台交换机由于电源故障而变得不可用或一台交换机无法转发数据包似乎是相当重要的。

数据库客户端(在这种情况下为 zend 服务器应用程序服务器)每个都类似地通过绑定接口连接到两个交换机之一。这就引出了一些关于负载均衡的问题:按照我对11gR2 RAC的理解,简单的连接到SCAN地址,很可能会让客户端走很长一段路到主网再通过另一台交换机返回,这很难考虑要非常高效。

如果交换机发生故障或停止转发数据包会怎样?连接会通过 SCAN 找到可访问的 VIP 侦听器吗?RAC 是否会以某种方式检测到网络故障并将 SCAN 和 VIP 移动到具有工作且可访问的公共接口的系统控制器?老实说,我看不出它会如何。

虽然在故障转移场景中客户端通过核心网络并返回很长一段路是可以接受的,但在正常生产中避免它肯定会很好。

我确信甲骨文对这一切应该如何协同工作有一个非常清晰的想法,但恐怕我只是看不清楚。

边缘级/非冗余交换机是否可以实现完全冗余?我们能否以某种方式在生产和故障转移情况下对客户端连接的路由位置添加一些控制?也许有一种很好的方法可以将两台交换机互连,以允许一台交换机上的客户端和另一台交换机上的数据库侦听器之间直接进行通信?

在这一点上,我正在寻找应该应用于典型高可用性 ODA 实施的任何最佳实践和基本网络设计注意事项。

希望这将对任何面临为其 ODA 做出网络设计决策的 DBA 有用:)

更新:

ODA 在主动备份配置中配置了绑定。我认为这可能允许设置绑定上的每个接口都连接到不同的交换机,而无需任何交换机端配置。

任何人都知道是否是这种情况?

[root@oma1 ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth2
oracle oracle-11g-r2
  • 1 个回答
  • 3887 Views
Martin Hope
Roy
Asked: 2012-10-18 05:51:05 +0800 CST

向 Oracle 数据库机添加额外的侦听器

  • 3

使用 OAK 2.3.0 部署 Oracle 数据库机后,标准侦听器在 bond0 上为公共网络配置。这包括 SCAN 侦听器和每个节点一个 VIP 侦听器。最后一个似乎在公共网络接口和 VIP 接口上都监听。

但是,我还想在我在bond1 配置的管理网络上收听一些东西。

实现这一目标的首选方法是什么?我可以让 VIP 监听器也监听 bond1 还是必须为此添加一个新监听器?

我可以添加一个监听器吗: srvctl add listener -p TCP:1521 -o /u01/app/11.2.0.3/grid?

我不知道 IP 地址或接口进入配置的位置。

更新: 支持说明 1063571.1“如何在 11.2 Grid Infrastructure 中的单独网络上配置第二个侦听器”涵盖了向通用 11gR2 RAC 添加具有关联 VIP 接口(但没有第二个 SCAN 侦听器)的第二个生产侦听器。

在这种情况下,由于这意味着操作员和 DBA 的后门,我认为直接在每个节点的物理接口上安装一个基本侦听器可能是可以的 - 例如。一个不进行故障转移,只连接到该特定节点上的实例。

我想还可能需要考虑官方发展援助的具体考虑因素,尽管目前我还不太清楚。

oracle oracle-11g-r2
  • 1 个回答
  • 12582 Views
Martin Hope
Roy
Asked: 2012-10-13 05:55:28 +0800 CST

将模式导入新的或不同的表空间

  • 13

是否有一种方便的方法可以使用单个新表空间或与数据来源不同的表空间将模式导入 Oracle 11gR2?

例如,我从 OLDDB 导出了 BLOG_DATA,其中所有用户数据都存储在 USERS 表空间中。

在 NEWDB 上,我想导入 BLOG_DATA 模式,但将用户对象存储在专门为此用户创建的 BLOG_DATA 表空间中。

我创建了 BLOG_DATA 用户,创建了 BLOG_DATA 表空间并将其设置为该用户的默认表空间,并添加了适当的无限制配额。

CREATE TABLESPACE blog_data DATAFILE SIZE 1G;

CREATE USER blog_data IDENTIFIED BY secretpassword DEFAULT TABLESPACE blog_data QUOTA UNLIMITED ON blog_data;

GRANT connect,resource TO blog_data

架构是从 OLDDB 导出的,类似于

exp blog_data/secretpassword@OLDDB file=blog_data.dmp 

在阅读了下面菲尔的出色回答后,我发现自己想知道:

由于数据除了默认表空间(用户拥有配额的唯一表空间)外没有其他地方可去,这是否会有效地强制 imp 将所有用户对象放在该默认表空间中?

imp blog_data/secretpassword@NEWDB file=blog_data.dmp

那么这会将整个 blog_data 模式放在 NEWDB 上的 blog_data 表空间中吗?是否有任何理由为什么这不起作用或者我会遇到某些对象等问题?

更新:

我做了一个快速测试,发现情况确实如此。Imp将对象放置在该用户的默认表空间中,前提是它不能将其放置在原始表空间中(例如,表空间不存在)。完整解释:http ://www.dolicapax.org/?p=57

尽管如此,我认为像 Phil 建议的那样使用 Data Pump 可能是首选。

oracle oracle-11g-r2
  • 2 个回答
  • 67088 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