笨拙而诡异的 Oracle】的更多相关文章

有这样一段 SQL 代码: 通过 C# 获取查询结果:    SQL 代码中有两个参数,且都是字符串类型,以上的 C# 代码是生成 Oracle SQL 代码所需要的参数.运行结果如下:   居然发生这样的错误!苦思冥想外加多次尝试,均无果! 该错误的诡异之处在于:phdLevel 的值为 "%%" 时,运行正常,而为某一状态值(平衡,欠平衡,过平衡) 时,运行出错!如果说 SQL 语句有问题,将上述 SQL 语句参数代入,在 PL/SQL 中运行,一切正常!如果说是 p_phdlev…
有一张表,很多数据:   想取某个月的数据.初始的想法很简单,根据日期(RQ)形成条件即可:  符合条件的记录数是 129835,但耗时太长:14.515 秒(RQ字段是做过索引的)!直观的反应是 Oracle 的 TO_CHAR 函数效率不高!那有没有其他函数呢?有,找到了一个 MONTHS_BETWEEN:    MONTHS_BETWEEN(date1, date2)  是求两个日期之间的月数,以为就像 SQL Server T-SQL 中的 DATEDIFF(m, date1, date…
最近需要维护一个差不多十多年前开发的ASP.Net程序,遇到了各种奇奇怪怪的问题,把其中比较难查明的问题记录如下: 问题一: 同样的SQL查询在不同服务器上查询结果不同.在QA环境下,结果完全正常,而在本地,部分字段值为DBNull. 这是一个很诡异的问题,当时唯一发现的规律是,出现DBNull值的字段为Clob类型.ASP.Net连接数据库的方式为OleDb,链接字符串中“Provider=OraOLEDB.Oracle.1”. 首先换为OracleClient,查询结果正常,问题似乎出在Ol…
在自己虚拟机搭建的ORACLE数据库环境下,折腾捣鼓做实验时,不知道什么特殊的改动.操作导致从SQL*PLUS里启动数据库实例时,报如下错误: 然后用startup nomout启动时,任然报ORA-10997,ORA-09968等错误,于是查看了一下ora相关进程,发现数据库的进程都在,也就是说 在某次关闭数据库时,出现了异常导致数据库实例根本没有关闭的情况下出现了该错误((期间我使用shutdown immediate后,还没看到出结果,一不小心点错了,就将SecureCRT关闭了)),于是…
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理.归纳分类,方便自己和大家查看.翻阅.  ORACLE数据类型 ORACLE基本数据类型总结 ORACLE VARCHAR2最大长度问题 ORACLE数据库汉字占几个字节问题 ORACLE NUMBER类型Scale为0引发的问题 PL/SQL语法学习 PLSQL 调试触发器 PL/SQL重新编译包…
多行转字符串 这个比较简单,用||或concat函数可以实现  SQL Code  12    select concat(id,username) str from app_userselect id||username str from app_user 字符串转多列 实际上就是拆分字符串的问题,可以使用 substr.instr.regexp_substr函数方式 字符串转多行 使用union all函数等方式 wm_concat函数 首先让我们来看看这个神奇的函数wm_concat(列名…
字符集问题一直叫人头疼,究其原因还是不能完全明白其运作原理. 在整个运行环节中,字符集在3个环节中发挥作用: 1.软件在操作系统上运作时的对用户的显示,此时采用操作系统定义的字符集进行显示.我们在系统I/O编程的时候经常要指定字符集,C#中的Text.Encoding=Encoding.Default实际上就是告诉编译器,文本使用系统定义的默认字符集进行编码.sqlplus也是运行在操作系统上的软件,当然要使用系统所指定的字符集对外显示内容. 2.数据向Oracle服务端传送前的通告.也就是sq…
首先需要说明,这个问题的出现需要几个前提:使用微软的Oracle驱动(使用Oracle自己的驱动不会出现这个问题).使用绑定变量法,使用Format等方式拼接SQL也不会出现这个问题,还有一些诡异的规律我还没有发现原因,将会在文中说明. 这个问题是工作中的一个功能模块出现的问题,但是我会在本文中通过一个程序重现这个问题,然后进行分析. 首先给出重现这个问题的简单的程序 首先为了重现这个问题,在程序开发时候配置TADOConnection,必须选择微软的驱动,如下图红框标记的第一个驱动就是微软的O…
背景 相信大多数人目前都在使用Spring + Struts2/SpringMVC + Hibernate来构建项目的整体架构,但是在使用中经藏会遇到一些诡异的问题,不知道如果解决,今天我遇到了一个非常奇怪的问题,那就是连接数据库提示java.sql.SQLException: ORA-01017: invalid username/password; logon denied,这句话的中文意思就是说我的密码或者用户名有问题,但是我单独用sqlplus登陆,还是使用配置文件里面的密码,此时又能够…
登入oraclesqlplus / as sysdba启动oraclestartup停止oracleshutdown 创建新用户create user username identified by password;创建表空间create tablespace tablespacename datafile '/mnt/nfs/oracle_db/test.dbf'size 50m;给用户指定默认表空间alter user username default  tablespace  tables…
说明:因遇到“sqlplus / as sysdba”登录oracle时遇到权限不足(ora-01031)错误:百度到以下资料,原文链接: http://www.xifenfei.com/2011/11/sqlnet-authentication_services%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E.html SQLNET.AUTHENTICATION_SERVICES参数说明 发表于 2011 年 11 月 11 日 由 惜分飞 联系:手机(+86 1342…
EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier 原因:oracle版本不一样 执行 C:/>EXP plx/plx@orcl  FILE=c:/plx.dmp TABLES=(s,sc,c) 结果报错 Export: Release 11.1.0.6.0 – Production on 星期日 7月 26 12:42:19 2009 Copyright (c) 1982, 2007, Ora…
SQL语句大全 --语句功能--数据操作SELECT --从数据库表中检索数据行和列-selectINSERT --向数据库表添加新数据行-insertDELETE --从数据库表中删除数据行-deleteUPDATE --更新数据库表中的数据-update--数据定义CREATE TABLE --创建一个数据库表-create tableDROP TABLE --从数据库中删除表-drop tableALTER TABLE --修改数据库表结构-alter tableCREATE VIEW -…
如果你是像我一样初次使用Net+Oracle的结合,我想你会跟我一样,有很大的概率碰到这个问题 =======================================================PLS-00306: wrong number or types of arguments in call to '存储过程名'orA-06550: line 1, column 7:PL/SQL: Statement ignored==============================…
一.查询表大小,块多少语句 Select SEGMENT_Name,BYTES,BLOCKS,Extents From dba_segments Where segment_name In('BAI_NEW_SESSION_HISTORY2') order by segment_name; (2)查表空间 Select Tablespace_Name, Sum(bytes)/1024/1024 From Dba_Segments group By Tablespace_Name (3)可以用输入…
在oracle 11g r2中,使用exp有时候会导不出空的表,原因是这些表没有分配空间,手工分配空间即可导出. ----查询当前用户下的所有空表: select table_name from user_tables where NUM_ROWS=0; ----查询DB_YWYH用户所有未分配Extent的表: SELECT * FROM DBA_TABLES WHERE OWNER='DB_YWYH' AND TABLE_NAME NOT IN ( SELECT T.SEGMENT_NAME…
                                         诡异的TNS-12541:TNS:nolistener   OS:Microsoft Windows 2003 EnterPrise Database:Oracle Database EnterPrise 11.2.0.1 内存:1G 2013年8月13日,是个特殊的日子,这天天空很蓝,城市的各个角落飘散着玫瑰花的香味,那是一个令人陶醉的日子,正享其中的时候,突然来了个电话,所有的一切的一切都泡汤了,全无了. 一客…
千呼萬喚始出來! Oracle官方版Entity Framework問市,邁入開發新時代 自從我得了一種"不用LINQ就不會寫資料庫程式"的病,為了滿足工作上要搭配Oracle(雖然我也是百般不願意)的需求,在官方遲遲不支援Entity Framework的情況下,只好求助於3rd Party產品. 去年(2011)三月,Oracle總算良心發現,推出了ODAC Entity Framework Beta版,但這一杯塔就杯了近一年,遲遲等不到正式版問市.Beta版意味著"玩玩…
安装Oracle可能有些人觉得是一件非常easy的事情,但事实上是在安装的过程中蕴含着丰富的知识点.尤其安装在Linux平台,可能会碰到这样或那样各种诡异的问题,透过问题看到本质,这才是从深处理解Oracle的精髓,至少我是这样觉得的.欢迎拍砖... 以下就分几个场景.说明下安装过程中可能碰到的一些问题或知识点,也欢迎其它朋友碰到过其它一些安装问题的,能够补充进来.一是让我们温故知新,二是能够给其它人提供一些借鉴,少走一些弯路. 场景1:安装VNC Server 由于大多数的安装都是从远程cli…
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于多个排序字段不唯一,同样的排序顺序每次运行返回的结果顺序不一致,导致这样的现象出现. SELECT TEMP_.* FROM (select temp.*, ROWNUM ROWNUM_ from (SELECT t2.ID FROM tableA t, tableB t2 WHERE t.ID =…
环境变量配置无误后,在sys用户 在pl/sql上登录时候报以下错误 ORA-01034: ORACLE not available进程 ID: 0会话 ID: 0 序列号: 0 然后运行控制台,有以下操作记录 Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\lijt>sqlplus SQL*Plus: Release 11.2.0.1.0 Production on 星期五…
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理.归纳分类,方便自己和大家查看.翻阅.  ORACLE数据类型 ORACLE基本数据类型总结 ORACLE VARCHAR2最大长度问题 ORACLE数据库汉字占几个字节问题 ORACLE NUMBER类型Scale为0引发的问题 PL/SQL语法学习 PLSQL 调试触发器 PL/SQL重新编译包…
5 Function      指数据库内置的function,不讨论UDF.另外,操作符都不比较了,区别不大.   5.1 数学函数 功能 Oracle Hive Impala ABS 绝对值,有 有 有 SIN/SINH/ASIN/COS/COSH/ACOS/TAN/TANH/ATAN/ATAN2 三角函数 其中ATAN2接受两个参数(二维平面中的坐标) 没有SINH/COSH/TANH/ATAN2 同hive BITAND 按位与,有     CEIL 天花板值,有 有,还有个别名CEIL…
解释说明:表空间是一个逻辑概念:=> oracle 逻辑概念段区块管理方式: number one => tablespace number two=> segments Oracle新建一个对象,产生一个对象,这有啥需要管理的吗? 使用了一个延时段管理: 所以一般没人会回答表空间的管理是延迟段管理还是非延迟段管理,而是说区的管理方式,就是分配区的方式: number three A:如何寻找空闲的区域,给新分配的区,安家落户. Oracle区的分配的方式分两种: directory,…
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理.归纳分类,方便自己和大家查看.翻阅. ORACLE数据类型 ORACLE基本数据类型总结 ORACLE VARCHAR2最大长度问题 ORACLE数据库汉字占几个字节问题 PL/SQL语法学习 PLSQL 调试触发器 PL/SQL重新编译包无反应 ORACLE表和视图 ORACLE临时表总结 Or…
前言 哇..看看时间 真的很久很久没写博客了 将近一年了. 最近一直在忙各种家中事务和公司的新框架  终于抽出时间来更新一波了. 本篇主要讲一下关于Entity Framework Core访问oracle数据库的采坑.. 强调一下,本篇文章发布之前 关于Entity Framework Core访问oracle数据库的甲骨文官方dll还未正式发布. 不过我已经在项目中用起来了..介意的兄弟可以先等等..甲骨文说的是本年第三季度.. 环境 1.官方文档中支持的环境 首先我们来看看所谓的官方支持吧…
安装Oracle: 安装 Oracle_11g 32位[Oracle 32位的话,OGG 也必须是 32位,否则会有0xc000007b无法正常启动 错误] 安装目录为 D:\oracle\product\11.1.0\db1 [这个目录要设置为 环境变量 ORACLEHOME] 设置环境变量: JAVAHOME C:\Program Files\Java\jdk1.8.0121 ORACLEHOME D:\oracle\product\11.1.0\db1 ORACLE_SID ORCL 验证…
上一文章 <__Win7 配置OGG(Oracle GoldenGate).docx>定下了 两个目标: 目标1: 给安装的Oracle_11g 创建 两个用户 admin 和 root . admin 对应了 ADMIN 结构,创建了一个 TB_ TEST表. root 对应了 ROOT 结构,也创建一个 TB_ TEST (表结构一摸一样). 当 admin.TBTEST 中的表数据 变化时,root.TB TEST 的表数据 自动同步(备份) PS. 实际的 容灾备份,肯定是 两个 Or…
[故障处理]ORA-12162: TNS:net service name is incorrectly specified 本文将给大家阐述一个因未设置系统环境变量ORACLE_SID导致ORA-12162错误的案例.希望大家有所思考. 1.获得有关ORA-12162报错信息的通用表述信息[oracle@asdlabdb01 ~]$ oerr ora 1216212162, 00000, "TNS:net service name is incorrectly specified"/…
背景简介: Oracle版本:11.2.0.4 OS 版本:OEL5.8 在一次Oracle的Dataguard正常switchover过程中,遇到了一个极其诡异的问题,一条主业务的SQL语句在新主库的执行时间由之前的毫秒级别完成变成了20-60秒不等,为避免高峰业务超时必须尽快进行优化,否则只能走回退方案. 优化过程: 其实这个语句在之前将备库切换为snapshot备库做测试时表现是非常良好的,但是切换之后立马出了问题.在备库实际执行后获取到的执行计划与在主库一模一样,如下: 获取执行计划的语…