代码改变世界

随笔分类 -  数据库技术(Oracle)

ORA-00060错误

2012-06-27 21:21 by 潇湘隐者, 5562 阅读, 收藏, 编辑
摘要: 今天有个同事说生产机有个PERL脚本老是报死锁的错误,脚本里面开启了并行度:错误如下:Failure: ORA-12801: error signaled in parallel query server P126, instance NMS_ODS_NDB1:wgods1 (1)ORA-00060: deadlock detected while waiting for resource (DBD ERROR: OCIStmtExecute)检查了所有的脚本后,发现没有其他会话、进程造成脚本里面ODS表的死锁,后来搜索发现http://jidongzheng.itpub.net/post/3 阅读全文

ORACLE数据库查看执行计划

2012-05-24 22:28 by 潇湘隐者, 37520 阅读, 收藏, 编辑
摘要: 基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明。一、什么是执行计划(explain plan)执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述。二、如何查看执行计划1: 在PL/SQL下按F5查看执行计划。第三方工具toad等。很多人以为PL/SQL的执行计划只能看到基数、优化器、耗费等基本信息,其实这个可以在PL/SQL工具里面设置的。可以看到很多其它信息,如下所示2: 在SQL*PLUS 阅读全文

Linux平台ORACLE INSTANT客户端安装

2012-05-19 22:57 by 潇湘隐者, 7377 阅读, 收藏, 编辑
摘要: 下载安装文件先去ORACLE官方网站下载所需版本的Instant Client Package 和 Instant Client Package - SQL*Plus安装包,(千万注意版本)http://www.oracle.com/us/solutions/linuxx86-64soft-092277.htmlhttp://www.oracle.com/technetwork/topics/linuxsoft-082809.html这两个地址分别是linux 32和64位操作系统的下载地址。我下载了如下几个安装文件basic-10.2.0.4.0-linux-x86_64.zipsqlplu 阅读全文

ORACLE数据库链接

2012-05-17 22:43 by 潇湘隐者, 13107 阅读, 收藏, 编辑
摘要: 在ORACLE里面,远程数据访问,像查询、更新等可以通过Database Link来实现。数据库连接需要在建立Database Link的两台机子上都运行Oracle Net(以前叫SQL*NET 和NET 8)。 语法如下1 Database Link 的创建:有两个数据库服务器A/B, 其中A的IP地址为172.20.36.245, 服务器B为本机。服务器B上的数据库实例名为ORCL,在本机上的服务监听配置上有服务器A上实例配置:BIWG_TEST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.36.245)(PORT = 阅读全文

ORA-12154: TNS:could not resolve the connect identifier specified

2012-05-16 23:48 by 潇湘隐者, 10003 阅读, 收藏, 编辑
摘要: 在安装ORACLE安装的时候,报如下错误:ORA-12154: TNS:could not resolve the connect identifier specified。如下图所示: 折腾了很久才找到罪魁祸首:原来在安装数据库时,设置用户密码的时候里面包含了@符号,引起了这个错误,这个错误倒是有点诡异,应该是ORACLE连接DB时就把口令@后面的串当连接字用了。所以切记注意这个,否则很难发现问题。 阅读全文

Rhel-Server 5.5 安装ORACLE10

2012-05-15 23:44 by 潇湘隐者, 2707 阅读, 收藏, 编辑
摘要: VMWARE + REDHAT + ORA10先说一下环境,操作系统为Microsoft Windows Server 2003,安装的是虚拟机VMware Workstation Version 7.1.2 build-301548,虚拟机上选择安装的是Redhat Enterprise Linux 5。1:安装虚拟机工具:虚拟机工具是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(Sun VirtualBox Guest Additions),可以大幅度的增强虚拟机和主机的交互能力,和显著提供虚拟机的性能。比如,安装虚拟机工具后,虚拟机的显示效果会增强。另一 阅读全文

ORACLE约束总结

2012-05-13 08:36 by 潇湘隐者, 39489 阅读, 收藏, 编辑
摘要: 你对ORACLE约束的了解如何?比较模糊还是相当透彻?如果你对下面几个问题了如指掌的话,恭喜你,你已经对约束掌握得比较好了,不用看这篇文章了。ORACLE的约束有啥功能作用? 有哪些类型约束(不同版本ORACLE是否不同)?视图有约束吗?约束是否会影响SQL性能? 约束信息存储在哪些系统视图、数据字典中?约束能否修改名称?能否禁用约束?延迟约束有啥好处.......约束定义约束是强加在表上的规则或条件。确保数据库满足业务规则。保证数据的完整性。当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行这个操作。约束可以是列一级别的 也可以是表级别的。定义 阅读全文

裸设备知识介绍【转载】

2012-05-08 23:50 by 潇湘隐者, 917 阅读, 收藏, 编辑
摘要: 【转自http://www.chinaunix.net/jh/19/272188.html】裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。本文收集裸设备和Oracle问答20例。 1.什么叫做裸设备? 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。 2.如何辨别裸设备? 在Unix的/dev目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。 字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件... 阅读全文

ORA-27125: unable to create shared memory segment

2012-04-23 19:38 by 潇湘隐者, 4161 阅读, 收藏, 编辑
摘要: 平台环境:Linux Red Hat Enterprise Linux Server release 6.0 (Santiago)数据库版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi安装好ORALCE数据库后,启动数据库就会报如下错误参考http://www.eygle.com/archives/2011/12/hugepageshugetl.html 文章,说跟hugetbl有关,只需按如下操作[root@DB-Server ~]#id oracle uid=501(oracle) gid=502(oin 阅读全文

用SYS本地登录或远程登录引起ORA-01031错误

2012-04-17 22:18 by 潇湘隐者, 7120 阅读, 收藏, 编辑
摘要: "历史总是上演惊人的相似", 在技术开发过程中,你也会总会碰到惊人相似的问题,这段时间我就碰到了”ORA-01031:insufficient privileges 权限不足”这个错误多次,一次是自己,一次是同事碰到的,顺便整理了下这个知识点。情况一:如果数据库实例安装在服务器A上,你用管理员权限Administrator登录后,使用SQL> conn system/manage as sysdba登录 没有问题。但是如果你在服务器A上建立一个etl账号,使它率属于Remote Desktop Users 和Users 组,如下所示:此时你用sys账号登录数据库时,就 阅读全文

SQL语言艺术实践篇——局外思考

2012-04-12 00:22 by 潇湘隐者, 1467 阅读, 收藏, 编辑
摘要: 今天有个同事问我一个问题,描述如下: 有一个日志信息表,对应同一个ID,可能有一条、两条、三条不同状态的记录。例如ID= 10001的日志记录可能有三条,一条记录状态为正确, 一条记录状态为错误, 一条记录状态是未知。也有可能只有其中一条记录或两条,现在的问题是,对应同一日志ID,我们只需要取一条记录,取数规则是:1:如果有状态为正确、错误、未知三条记录,我们只取状态为正确的记录。2:如果只有状态为正确、错误状态两条记录的,我们只取状态为正确的记录3:如果只有状态为错误、未知记录两条记录的,我们只取状态为错误的记录4:如果只有状态为正确、未知记录两条记录的,我们只取状态为正确的记录5:如果只有 阅读全文

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

2012-04-03 13:24 by 潇湘隐者, 32539 阅读, 收藏, 编辑
摘要: 在安装ORACLE 11G 过程中由于配置的原因,安装过程中报了如下错误:按照安装提示执行后面的操作后,打开PL/SQL DEVELOPER 连接数据库时总报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务!ORACLE NET MANAGER里面测试,测试服务是否能够成功。结果还是报如上错误在网上百度了一下这个错误ORA-12514,原来很多人都碰到过这个问题,于是按照别人的处理步骤依依配置了,这个问题解决了,不过还是觉得有必要把这个问题解决的步骤记录下来,一来让自己能跟深刻的体会一下,锻炼一下总结能力,二来可以帮助到以后碰到这个问题的人。先找到找到listener 阅读全文

ORACLE FLASHBACK TABLE 的一个有趣问题

2011-07-24 13:07 by 潇湘隐者, 4290 阅读, 收藏, 编辑
摘要: 大家都知道ORACLE 10G新增了FLASHBACK特性,其中FLASHBACK TABLE用来对误删的表进行修复。但是今天却发现了FLASHBACK TABLE的一个有趣问题,请看下面慢慢道来:下面我用一个例子来说明我的遇到的有趣的问题,欢迎大家探讨。SQL>CONNECTSYSDBA/*****ASSYSDBA已连接。SQL>CREATETABLETEST(TVARCHAR2(10));表已创建。SQL>DROPTABLETEST;表已删除。SQL>FLASHBACKTABLETESTTOBEFOREDROP;FLASHBACKTABLETESTTOBEFORED 阅读全文

ORACLE一些不常用的脚本

2011-07-10 18:01 by 潇湘隐者, 1393 阅读, 收藏, 编辑
摘要: 本篇介绍一下一些不太常用的脚本,它们往往有“奇能异效”,但是由于不太常用、不常见、或效率方面的原因,往往被大多数人给遗忘在某些角落里。呵呵,不知道你看见下面这些脚本,是否觉得眼熟呢?1: 如果我需要从SCOTT模式下EMP表中查询职位为CLERK(秘书)、SALESMAN(销售人员)这两种员工,你会怎么写?是下面哪种写法呢?SELECT*FROMSCOTT.EMPWHEREJOB=ANY('CLERK','SALESMAN')/SELECT*FROMSCOTT.EMPWHEREJOBIN('CLERK','SALESMAN')/A 阅读全文

ORACLE已建表能否创建分区

2011-07-03 12:23 by 潇湘隐者, 7894 阅读, 收藏, 编辑
摘要: Oracle数据库里面,如果已经创建了一个表,创建时没有给表进行分区,现在由于性能等方面原因需要对该表创建分区。能否直接把一个未分区的表修改成分区表呢(即能否通过ALTER语句把该表修改成分区表呢)?答案是不能,至少目前版本不能。但是可以对已分区表增加新分区、合并分区、删除分区等一系列操作。如果要对对未分区表A创建分区,可以用下面的方法:把原表改名为B,然后创建分区表A,再把表B的数据导入A。 阅读全文

(ORACLE)查看分区表的相关信息

2011-07-03 12:16 by 潇湘隐者, 40363 阅读, 收藏, 编辑
摘要: ORACLE数据库如何查看分区表的相关信息呢?不知道你有没有总结过这方面的知识。下面我们先创建两个表TEST、GPRS_CELLTOPVOL_WK来做实验,脚本如下:CREATETABLEGPRS_CELLTOPVOL_WK(DATE_CDNUMBER(8)NOTNULL ,WK_CDNUMBER(2)NOTNULL ,CITY_IDNUMBER(10) ,CELL_EN_NAM VARCHAR2(64)NOTNULL,CELL_CN_NAM VARCHAR2(64)NOTNULL,CELL_VOL NUMBER ,CELL_VOL_PCT NUMBER ,AVG_RATNUMBER ,CON 阅读全文

ORACLE MERGE 介绍

2011-06-23 23:45 by 潇湘隐者, 12403 阅读, 收藏, 编辑
摘要: MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或多表联合查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。通过这个MERGE你能够在一个SQL语句中对一个表同时执行INSERT和UPDATE操作. 在 Oracle 10g中MERGE有一些新特性,后面我会介绍这些新特征。先看看MERGE语法如下:MERGEINTODM.TM_WGG_SYSVLRUSER_HRDMUSING(SELECTDAT 阅读全文

ORACLE SQL*PLUS 命令大全

2011-06-09 23:00 by 潇湘隐者, 19502 阅读, 收藏, 编辑
摘要: 其实网上已经有SQL*PLUS命令大全这方面的资料了,不过大都不完整,只覆盖了一些常用的命令,本着学习、实践的原则,也为了梳理、总结SQL*PLUS方面的知识,自己也整理了一份这方面的文档资料,不足之处还请大家多多指教。---1:HELPINDEXHELP命令查询相关命令的信息。你可以从下面看到大概有54个SQL*PLUS命令。每个命令都有大量的参数选项,你不可能清楚的记得每个命令以及它相关的参数细节,所以当你遗忘时,就可以用HELP命令来查看相关命令的命令信息SQL>HELPINDEXEnterHelp[topic]forhelp.@COPYPAUSESHUTDOWN@@DEFINEP 阅读全文

ORALC的STDDEV、STDDEV_POP、STDDEV_SAMP等函数

2011-06-03 23:28 by 潇湘隐者, 14426 阅读, 收藏, 编辑
摘要: 今天一个同事碰到一个问题:用SQL求一个指标的计算公式:其中Xi即指标,X—指标均值,N是指标个数,看到这样的计算公式确实比较发愁。在处理问题前,先去恶补了下数理统计方面的知识(数理统计的知识基本上都还给老师了):方差、标准差、平均值.....随机变量是指变量的值无法预先确定仅以一定的可能性(概率)取值的量。它是由于随机而获得的非确定值,是概率中的一个基本概念。样本方差 :样本中各数据与样本平均数的差的平方和的平均数叫样本方差。样本标准差:样本方差的算术平方根叫做样本标准差。样本方差和样本标准差都是衡量一个样本波动大小的量,样本方差或样本标准差越大,样本数据的波动就越大。 数学上一般用E{[X 阅读全文

ORA-01033: ORACLE initialization or shutdown in progress

2011-05-25 23:47 by 潇湘隐者, 3211 阅读, 收藏, 编辑
摘要: 这阵子折腾ORACLE数据库,今天还真给我“折腾”出问题来了,清理磁盘里面文件时,把D:\KERRY.MDF这个数据库文件删除了(呵呵,事后才想起来的,当时以为是SQL SERVER 05 数据库实验时创建的),结果今天启动ORACLE服务后,PL/SQL连接过去时报错:ORA-01033: ORACLE initialization or shutdown in progress。查看D:\oracle\product\10.2.0\admin\orcl\bdump下告警日志,发现了下面一些错误,仅仅贴出部分日志信息(太多了,不好贴)OSD-04002: 无法打开文件O/S-Error: ( 阅读全文
点击右上角即可分享
微信分享提示