Questions tagged «oracle»

所有版本的Oracle数据库。如果该上下文在问题中很重要,请添加特定于版本的标记,例如oracle-11g-r2。请勿用于Oracle产品(例如应用程序或中间件)或Oracle拥有的其他数据库产品(例如MySQL或BerkeleyDB)。

3
我可以依靠在SQL中首先执行的函数吗
请考虑以下脚本: create or replace function f(p_limit in integer) return integer as begin set_global_context ('limit', p_limit); return p_limit; end; / create view v as select level as val from dual connect by level<=sys_context('global_context','limit'); select f(2), v.* from v; /* F(2) VAL ---------------------- ---------------------- 2 1 2 2 */ select f(4), v.* …
9 oracle 

3
如何解决enq:TX-行锁争用?
我有以下情况。 我有RAC。在两个节点上都有锁。 在第一个节点上 SID EVENT USERNAME BLOCKING_SESSION ROW_WAIT_OBJ# OBJECT_NAME LOCKWAIT SQL_ID STATUS 1 102 enq: TX - row lock contention MYUSER 155 136972 TABLE1V 0000000810EFA958 5f4bzdg49fdxq ACTIVE 2 111 enq: TX - row lock contention MYUSER 155 136972 TABLE1V 0000000810EFAC98 5f4bzdg49fdxq ACTIVE 阻止会话信息 SID EVENT USERNAME ROW_WAIT_OBJ# OBJECT_NAME LOCKWAIT SQL_ID …

1
Oracle 10g中的SQL替代功能
三,四年前,我在一个Oracle博客上读到某处DBA曾用于紧急事件解决的实时SQL替代的Oracle 10g功能。基本上,他配置Oracle的方式是,每当它收到某个查询A时,它就会执行另一个查询B。无需更改应用程序代码,无需更改架构,只需进行简单的“执行查询B而不是A”类型的配置即可。 不是我打算使用该功能(我会想到一些不良后果),但是出于好奇,它真的存在吗?如果是,该功能称为什么?

3
我有一台具有70 GB RAM的强大机器。可以创建多少个20 GB的Oracle实例?
我有一台具有70 GB RAM的强大机器。我创建了一个具有20 GB的Oracle实例作为sga_target。sga_target > 10G即使关闭第一个数据库,我也无法创建另一个Oracle实例。如果我设置sga_target >=10G它在启动时给出以下错误: ORA-27104:共享内存的系统定义的限制配置错误 虽然free -m显示虽然有足够的内存可用: total used free shared buffers cached Mem: 72419 34490 37928 0 618 28159 -/+ buffers/cache: 5711 66707 Swap: 2047 0 2047 我需要增加交换空间吗?在这方面的任何指针都受到高度赞赏。 同样对于70 GB的内存,用于创建许多实例,交换空间的最佳价值是什么?是否有某种方法可以计算出来?我的目标是每个实例至少有两个实例,sga_target=20G并且一次只能保持一个实例。如果我在这里缺少任何概念? 输出ipcs -im如下 ------ Shared Memory Limits -------- max number of segments = 4096 max seg size …

1
SQL * Plus,@和相对路径
某种程度上,似乎似乎SQL * Plus(至少在Windows上)在用调用@@以及路径以单点或双点开头时无法找到具有相对路径的脚本。 例如,在x:\some\where下面,我具有以下目录结构: script.sql main-dir\main-sub-dir call-script.sql script.sql 也就是说:两个,script.sql但位置不同。 script.sql正下方的内容x:\some\where很简单 prompt SCRIPT root 而对方script.sql的内容是 prompt SCRIPT main-dir/main-subdir call-script.sql 读 @@script.sql @ script.sql 预期产量 如果我从中启动SQL * Plus x:\some\where,然后执行 @main-dir/main-sub-dir/call-scripts 输出将是 SCRIPT main-dir/main-subdir SCRIPT root 这是预料之中的,因为该单曲@应该从SQL * Plus的起始位置@@搜索路径,并且应该从包含脚本的目录中搜索路径。 意外的输出 现在,如果我更改为call-scripts.sql: @@./script.sql @ ./script.sql double @@似乎改变了它的行为,因为它从SQL * Plus的起始位置搜索路径,现在输出为 SCRIPT root SCRIPT root 这不是我所期望的。 …

2
Oracle关闭方法
在执行升级或修补程序之前关闭数据库有几种方法。 shutdown immediate; 要么 shutdown abort; startup restrict; shutdown immediate; 要么 shutdown abort; startup restrict; shutdown; 要么 alter system checkpoint; shutdown abort; startup restrict; shutdown immediate; 当然,还有其他选择。应该首选哪个,为什么?

1
应用程序什么时候使用太多会话?
我正在使用OCI与Oracle通信的客户端服务器应用程序。过去,我们的应用程序经常将会话视为无限资源,这很可能损害共享该Oracle服务器的其他应用程序。 我试图说服我的开发人员,对我们的应用程序来说,与他人一起玩耍而不是浪费资源很重要。 在什么时候,Oracle DBA会认为应用程序过度使用(或滥用)会话? 编辑:当前会话的最大消费者之一是使用直接路径加载来批量并行加载几张(20-30)表的组件。
9 oracle 

4
Oracle返回错误ORA-01031:特权不足
Oracle返回错误“ ORA-01031:特权不足”,sqlplus / as sysdba但我sqlplus sys/oracle123 as sysdba没有运行,为什么? Oracle版本:Oracle数据库10g企业版10.2.0.1.0版-64位 Linux版本:SUSE Linux Enterprise Server 11(x86_64) 我知道Oracle在运行时会使用OS身份验证sqlplus / as sysdba,我也仔细检查了sqlnet.ora并包含它SQLNET.AUTHENTICATION_SERVICES = (NTS)。 我还更改了oracle用户的组,oracle用户完全属于dba组,因为当我运行命令id时,将返回以下信息: oracle@linux-mage:~> id uid=103(oracle) gid=106(dba) groups=105(oinstall),106(dba) 另一个信息是我可以通过登录sqlplus sys/oracle123 as sysdba,但无法关闭实例: oracle@linux-mage:~> sqlplus sys/oracle123 as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 5 16:29:57 2011 Copyright (c) 1982, 2005, …
9 linux  oracle 


1
Oracle中的物化视图
在oracle中如何实现物化视图?我已经在oracle中创建了一个物化视图。我现在看到的是一张很正常的工作表。物化视图是否在oracle中转换为表和作业?
9 oracle  view 

2
如何使用临时表或表变量将SQL Server存储过程迁移到Oracle?
受管理层鼓励的C#开发人员编写SQL Server存储过程时,通常会产生这样的过程 create table #t1 (...); insert into #t1 Select ... from table_a where ...; insert into #t1 Select ... from table_b where ...; update #t1 Set ... = ... where ... Select * from #t1; 单个语句非常简单,这种方法使它们产生正确的结果。 通常,我的任务是将此类过程迁移到Oracle。 让我们面对以下事实。 SQL Server中的不同临时表是完全独立的,可以具有任何临时结构。 Oracle全局公用表是全局对象,并且所有共享表都使用相同的表结构。修改此结构是不可能的,尽管它可以在任何地方使用。 我从Oracle dba中学到的一件事是避免在可能的情况下使用临时表。这样的修改甚至可以提高SQL Server的性能。 用活接头替换单个插件 在最简单的情况下,以上内容可以转换为 select case when …

1
如何为SQL Server重写为Oracle编写的触发器?
如何为SQL Server重写最初为Oracle编写的触发器? 这是我的Oracle触发代码: CREATE OR REPLACE TRIGGER P000KUL_TEST BEFORE INSERT ON P000KUL REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN SELECT TO_CHAR(SYSDATE, 'dd/mm/RRRR') INTO :NEW.SYSTEM_DATE FROM DUAL; SELECT TO_CHAR(SYSDATE, 'hh:mi') INTO :NEW.SYSTEM_TIME FROM DUAL; END;

3
多个Oracle实例-这是一个好习惯吗?
我的一位客户将我们产品的数据库部署到了已经有3个Oracle实例的Solaris计算机上。因此,现在有4个Oracle实例在同一台计算机上运行。现在,我们遇到了性能问题。 我无权访问其他实例或计算机,并且我拥有的所有工具都是alert.log,AWR和ADDM。我知道有些情况与多个实例有关,但我无法证明这一点。 所以,我的问题是,您是否遇到过类似情况?我应该如何处理?如何确定与多个实例相关的性能问题的原因?

1
如何将Oracle数据库的内容导入Visio以创建实体关系图?
我有一个Oracle数据库,我想在Visio 2007 Pro中创建一个ERD。 到目前为止,我已经看过DBMS_METADATA.GET_DDL命令来生成DDL。我知道我可以将Access DB导入Visio,但是Access似乎可以理解与Oracle不同的SQL方言,因此我需要调整每个Create Table命令以更改数据类型。 在Visio Pro 2007中是否有使用DDL创建ERD的简单方法?
9 oracle  import  erd  ddl  visio 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.