- 浏览: 307870 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (137)
- Ubuntu10.04 (16)
- 机器学习 (4)
- oracle (27)
- Moodle (1)
- JavaWeb (7)
- Mysql (3)
- IT生活 (8)
- VNC (1)
- FCKeditor (1)
- 分布式计算 (1)
- Matlab (2)
- Lisp (0)
- window server2003 (1)
- 电脑常见问题总结 (11)
- postscript (1)
- Speculative Threeading (4)
- 科研经验 (5)
- 统计学基础概念 (1)
- svn (1)
- c++ (6)
- 精神读物 (2)
- C 程序设计基础现代方法 (3)
- Spark (15)
- openmp (1)
- centos 6.x (2)
- CUDA (1)
最新评论
-
黎明之星:
今天我也遇到了这个问题,你的链接已经找不到了;楼主可以发我一个 ...
用dtree构建动态树,并用右键实现添加、修改、删除 -
小侯爷晨曦:
楼主给的地址找不着,能把代码发给我吗?谢谢,邮箱:821925 ...
用dtree构建动态树,并用右键实现添加、修改、删除 -
sinoyang:
代码发给我谢谢,邮箱:345306321@qq.com 谢谢。 ...
用dtree构建动态树,并用右键实现添加、修改、删除 -
hpuyancy:
请问,matlab 在web下进行调用,如果用户量大,计算任务 ...
Java应用程序和java Web调用Matlab配置实例 -
dayu03:
发份源码给我好吗,qq:865607639
用dtree构建动态树,并用右键实现添加、修改、删除
1.ora-02085的解决:Database Link与GLOBAL_NAMES参数
当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX AS5 ORACLE 10g 10.2.0.1 RAC)
首先查看DMDB的相关配置:
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- ---------
global_names boolean FALSE
SQL> select * from global_name;;
GLOBAL_NAME
----------------------------------------------------------
DMDB
可以看到这个被链接的库其global_names参数为FALSE。
要创建数据库链接的库的配置:
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- -------
global_names boolean FALSE
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------
XJ
然后做下面的操作:
SQL> create database link test_link connect to test identified by test using 'DMDB';
数据库链接已创建。
SQL> select * from dual@test_link;
D
-
X
可以看到数据库链接工作正常。
在DMDB库上将global_names设为TRUE:
SQL> alter system set global_names=true;
系统已更改。
在XJ库上再次查询,并新建一个DATABASE LINK再进行查询:
SQL> select * from dual@test_link;
D
-
X
SQL> create database link test_link2 connect to test identified by test using 'D
MDB';
数据库链接已创建。
SQL> select * from dual@test_link2;
D
-
X
此时可以看数据库链接工作正常。我们再将XJ库的global_names参数设置为TRUE:
SQL> alter system set global_names=true;
系统已更改。
SQL> select * from dual@test_link2;
select * from dual@test_link2
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
SQL> select * from dual@test_link
select * from dual@test_link
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK 连接到 DMDB
而再次将XJ库的global_names设为FALSE,则数据库链接又可用了。
SQL> alter system set global_names=false;
系统已更改。
SQL> select * from dual@test_link;
D
-
X
SQL> select * from dual@test_link2;
D
-
X
再将DMDB库的global_names设为FALSE,数据库链接仍然可用:
在DMDB库上:
SQL> alter system set global_names=false;
系统已更改。
在XJ库上:
SQL> select * from dual@test_link;
D
-
X
可以看到,链接仍然可以用。
如果在DMDB库上创建链接到XJ库上,可以观察到同样的结果。
可以得出一个结论:global_names参数设置为FALSE,影响的是创建数据库链接的那个库对数据库链接的使用。也就是说,如果一个库(实例)的global_names参数设值为TRUE,则该库连接其他库的数据库链接,其名称必须要与被连接的库的global_name相同:
在XJ库上:
SQL> alter system set global_names=true;
系统已更改。
SQL> create database link dmdb connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * from dual@dmdb;
D
-
X
SQL> select * from dual@test_link;
select * from dual@test_link
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK 连接到 DMDB
SQL> select * from dual@test_link2;
select * from dual@test_link2
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
如果在GLOBAL_NAMES设置为TRUE的情况下,如果要建多个数据库链接到同一个库,怎么办呢?因为数据库链接的名称必须与目标库的GLOBAL_NAME相同。可以按如下的方法:
SQL> create database linkdmdb@link1connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> create database linkdmdb@link2connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * fromdual@dmdb;
D
-
X
SQL> select * fromdual@dmdb@link1;
D
-
X
SQL> select * fromdual@dmdb@link2;
D
-
X
也就是在GLOBAL_NAME后面加上@再加上一个标识。这样就能够创建多个数据库链接到同一目标库上了。
另外在创建数据库链接时,不能给其他SCHEMA创建链接,这是因为数据库链接(database link)其名称可以含有'.'即点号。比如A用户想给B用户创建一个DBLINK名叫LINKB,CREATE DATABASE LINK B.LINKB ......, 这个语句将会实际创建一个A用户下的名为B.LINKB的数据库链接。
2.解决 ORA-01403: no data found 数据未找到
当SQL语句:select P into v_rate from classpoint where rtrim(classcode) = :new.code; 执行时
如果没有查询到结果就会报错:数据未找到
修改为:
begin
select P into v_rate from classpoint where rtrim(classcode) = :new.code;
exception
when no_data_found then
v_rate := 1;
end;
就可以了
当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX AS5 ORACLE 10g 10.2.0.1 RAC)
首先查看DMDB的相关配置:
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- ---------
global_names boolean FALSE
SQL> select * from global_name;;
GLOBAL_NAME
----------------------------------------------------------
DMDB
可以看到这个被链接的库其global_names参数为FALSE。
要创建数据库链接的库的配置:
SQL> show parameter global_names
NAME TYPE VALUE
------------------------------------ ----------- -------
global_names boolean FALSE
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------
XJ
然后做下面的操作:
SQL> create database link test_link connect to test identified by test using 'DMDB';
数据库链接已创建。
SQL> select * from dual@test_link;
D
-
X
可以看到数据库链接工作正常。
在DMDB库上将global_names设为TRUE:
SQL> alter system set global_names=true;
系统已更改。
在XJ库上再次查询,并新建一个DATABASE LINK再进行查询:
SQL> select * from dual@test_link;
D
-
X
SQL> create database link test_link2 connect to test identified by test using 'D
MDB';
数据库链接已创建。
SQL> select * from dual@test_link2;
D
-
X
此时可以看数据库链接工作正常。我们再将XJ库的global_names参数设置为TRUE:
SQL> alter system set global_names=true;
系统已更改。
SQL> select * from dual@test_link2;
select * from dual@test_link2
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
SQL> select * from dual@test_link
select * from dual@test_link
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK 连接到 DMDB
而再次将XJ库的global_names设为FALSE,则数据库链接又可用了。
SQL> alter system set global_names=false;
系统已更改。
SQL> select * from dual@test_link;
D
-
X
SQL> select * from dual@test_link2;
D
-
X
再将DMDB库的global_names设为FALSE,数据库链接仍然可用:
在DMDB库上:
SQL> alter system set global_names=false;
系统已更改。
在XJ库上:
SQL> select * from dual@test_link;
D
-
X
可以看到,链接仍然可以用。
如果在DMDB库上创建链接到XJ库上,可以观察到同样的结果。
可以得出一个结论:global_names参数设置为FALSE,影响的是创建数据库链接的那个库对数据库链接的使用。也就是说,如果一个库(实例)的global_names参数设值为TRUE,则该库连接其他库的数据库链接,其名称必须要与被连接的库的global_name相同:
在XJ库上:
SQL> alter system set global_names=true;
系统已更改。
SQL> create database link dmdb connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * from dual@dmdb;
D
-
X
SQL> select * from dual@test_link;
select * from dual@test_link
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK 连接到 DMDB
SQL> select * from dual@test_link2;
select * from dual@test_link2
*
第 1 行出现错误:
ORA-02085: 数据库链接 TEST_LINK2 连接到 DMDB
如果在GLOBAL_NAMES设置为TRUE的情况下,如果要建多个数据库链接到同一个库,怎么办呢?因为数据库链接的名称必须与目标库的GLOBAL_NAME相同。可以按如下的方法:
SQL> create database linkdmdb@link1connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> create database linkdmdb@link2connect to test identified by test using 'dmdb';
数据库链接已创建。
SQL> select * fromdual@dmdb;
D
-
X
SQL> select * fromdual@dmdb@link1;
D
-
X
SQL> select * fromdual@dmdb@link2;
D
-
X
也就是在GLOBAL_NAME后面加上@再加上一个标识。这样就能够创建多个数据库链接到同一目标库上了。
另外在创建数据库链接时,不能给其他SCHEMA创建链接,这是因为数据库链接(database link)其名称可以含有'.'即点号。比如A用户想给B用户创建一个DBLINK名叫LINKB,CREATE DATABASE LINK B.LINKB ......, 这个语句将会实际创建一个A用户下的名为B.LINKB的数据库链接。
2.解决 ORA-01403: no data found 数据未找到
当SQL语句:select P into v_rate from classpoint where rtrim(classcode) = :new.code; 执行时
如果没有查询到结果就会报错:数据未找到
修改为:
begin
select P into v_rate from classpoint where rtrim(classcode) = :new.code;
exception
when no_data_found then
v_rate := 1;
end;
就可以了
发表评论
-
oracle中去重复记录 不用distinct
2011-07-22 10:30 102257用distinct关键字只能过 ... -
五种Oracle用户的授权与管理
2011-06-03 21:27 1031创建和删除用户是Orac ... -
oracle 存储过程的基本语法
2011-06-03 08:32 1112oracle 存储过程的基本语法 1 ... -
oracle 日期加减的函数
2011-06-01 10:10 2023ADD_MONTHS:加月 SELECT SYS ... -
常用的比较复杂的SQL语句
2011-06-01 09:02 9821.动态更新某个字段 update ot_dstrregtax ... -
Oracle中用For Loop 替代Cursor
2011-05-29 09:44 1304我们在Oracle存储过程中需要遍历一张表,应该怎样做。我想大 ... -
Oracle高级复制的同步复制的配置步骤说
2011-05-28 08:08 1517以下的文章主要讲述的是Oracle高级复制的同步复制,如果你需 ... -
oracle函数使用
2011-05-27 15:10 9331.怎样使用DBMS_OUTPUT.PUT_LINE 如果你是 ... -
ORACLE DUAL表详解+last_day
2011-05-27 13:34 10011、DUAL表的用途 Dual 是 Oracle中的一个实际存 ... -
Oracle 11g R2 for Win7旗舰版(64位)的安装步骤
2011-05-25 09:48 17271、下载Oracle 11g R2 for Windows的版 ... -
如何手动卸载oracle 11G
2011-05-25 08:27 24311、 开始->设置->控制面板->管理工具->服务 停止所有O ... -
应用存储过程按月建数据表
2011-05-24 21:43 1317为了方便数据库的存储、数据的备份、恢复,在 ... -
Oracle建立DBLINK的详细步骤记录
2011-05-24 21:26 1650试条件: 假 ... -
Oracle 查询一个数据表后通过遍历再插入另一个表中的两种写法
2011-05-24 21:10 6705第一种: 通过使用Oracle语句块 dec ... -
Oracle DB Link介绍
2011-05-24 20:55 9831。基本概念: 数据库连接串主要用于建立对远程数据 ... -
ETL测试流程图
2011-05-24 20:48 1526本文档主要介绍ETL测试的流程,以及一般 ... -
oracle安装问题集萃
2011-05-24 20:47 8461.oracle 交换空间大小过小 重新调整虚拟内存大小,以 ... -
Oracle JOB 用法小结
2011-05-23 16:36 844一、设置初始化参数 job_queue_processe ... -
创建OracleJob
2011-05-23 15:58 1146oracle job简介 主要的使用情景 定时在后 ... -
pl/sql中command window 与sql window有什么区别
2011-05-23 15:18 3679Command window实现了SQL*Plus的所有功能, ...
相关推荐
### ORACLE常见问题整理 #### Oracle数据库备份与还原操作 **一、数据库备份** Oracle数据库备份是维护数据库安全稳定运行的重要环节,主要包括两种常见的备份方式: 1. **使用`exp`命令进行备份**:这种方式...
ORACLE数据库常见问题汇总.doc
Oracle BIEE 常见问题解决办法汇总 问题1:提示组合 * 添加筛选器选择对应的列 * 在筛选器属性页面,运算符中选择提示 知识点: 在 Oracle BIEE 中,添加筛选器可以根据需要选择对应的列,并在筛选器属性页面中...
本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务数低于5%...
以上就是Oracle常见问题及其解决方案的汇总。希望本文的内容能够帮助到学习或工作中遇到Oracle数据库问题的朋友们,为大家提供一定的参考价值。同时,我们也鼓励大家对Oracle数据库的维护和管理持续学习和深入研究,...
常见的oracle问题汇总,如下所示: 1. Oracle安裝完成后的初始口令? 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? 3. oracle 8.0.5怎么创建数据库? 4. oracle 8.1.7怎么创建数据库? 10. 用什么语句查询字段呢? ...
### Oracle BIEE 常见问题解答 #### 一、仪表板操作与配置 **1. 仪表板分组下拉显示** - **解决办法**:为了实现仪表板分组下拉显示的功能,需要对`instanceconfig.xml`进行配置。具体来说,在此配置文件中加入`...
以下是对Oracle中一些常见用法的详细说明: **SQL查询语句**: SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在Oracle中,`SELECT`语句是最基本的查询命令,用于从数据库中检索数据。 ...
本篇主要探讨Oracle在不同模块中常见的问题及相应的解决方案。 首先,我们来看OM(Order Management)模块,这是处理订单管理和发运的主要部分。在OM模块中,问题常常涉及到库存管理、订单处理和发票创建。 1. 当...
数据库常见问题汇总 很多常见的ora错误解决方案
本篇文章将深入探讨“Oracle常见函数集锦”,主要关注在SQL查询中常用的Oracle函数,这些函数对于数据分析师、数据库管理员以及开发人员来说至关重要。 1. **字符串函数** - `CONCAT()`:用于连接两个或多个字符串...
在使用Streamsets 2.6.0.1版本时,可能会遇到一系列问题,特别是与Oracle数据库集成时。以下是对这些问题的详细解释和解决方法: 1. **执行任务时有表空间的问题** 使用场景:在从Oracle数据库导出数据时。 问题...
Oracle层次汇总存储过程是Oracle数据库中用于处理层级数据的一种高效技术。在数据库设计中,层级数据常见于组织结构、产品目录、地理位置等场景。Oracle提供了几种处理层级数据的方法,包括自连接、递归子查询、...
### Oracle和PLSQL的安装及常见问题解决方案 #### 一、安装步骤概述 根据提供的文件信息,本篇文章将详细介绍如何安装32位Oracle数据服务及其客户端,并安装32位PLSQL,以及解决安装过程中可能遇到的一些问题。 #...
15. **STORAGE_ERROR** (内存问题): 当PL/SQL块在运行时耗尽内存或遇到内存损坏时,Oracle会抛出此异常。优化代码以减少内存消耗,或增加系统资源。 16. **SUBSCRIPT_BEYOND_COUNT** (ORA-06533): 当尝试访问嵌套表...
这在解决复杂查询或特定场景下的性能问题时很有用,但过度依赖HINTs可能会降低系统的可维护性。 5. **索引(INDEX)**:索引是提升查询速度的关键。B树索引、位图索引、函数索引等都是常见的类型。合理创建和使用...
oralce常用的set命令汇总,需要的可以下载看看。
面试问题汇总部分,课程收集了常见的Oracle开发和BI面试问题,包括数据库设计、性能优化、故障排查等,帮助学员提前准备,提升面试成功率。 最后,BI理论知识部分涉及数据仓库和ETL(提取、转换、加载)流程。这一...