代码改变世界

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

ORA-14452的出现原因解析及解决方法

2014-03-26 23:46 by 潇湘隐者, 22983 阅读, 收藏,
摘要: 在删除临时表时遇到了ORA-14452错误:ORA-14452: attempt to create , alert or drop an index on temporary table already in use。第一次碰到这种情况,问题解决过后,为了加深理解,特意参考网上资料,做了下面实验重现错误出现的场景,以及应该如何解决.会话级临时表由于实验需要两个或多个会话配合,所以使用SET SQLPROMPT来标识会话,如下所示,SESSION 1与SESSION 2:Step 1:在会话1中创建了会话级的临时表TMP_TEST 1 SQL> SET SQLPROMPT "S 阅读全文

Oracle 释放flash recovery area的四种方法

2014-03-19 15:15 by 潇湘隐者, 12384 阅读, 收藏,
摘要: 早上收到一台Linux服务器磁盘告警邮件以及监控告警日志程序发来的邮件。检查过后,发现Linux服务器中一个分区没有空间了。主要原因是由于昨晚程序员做升级时,产生了大量的归档日志,导致联机重做日志无法归档,出现下面错误: 363 | Wed Mar 19 02:33:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/orad... 阅读全文

Create view failed with ORA-01031:insufficient privileges

2014-03-14 14:35 by 潇湘隐者, 4427 阅读, 收藏,
摘要: 有时候在ORACLE数据库创建视图时会遇到:ORA-01031:insufficient privileges错误,我也多次碰到了各种创建视图出错的情况,很多时候也没有太在意,今天被一同事问起这个问题,顺便总结一下出错的各种场景。 场景1:使用sys或system账号登陆数据库,创建dm、ods账号(授予connect、resource角色) 1: [... 阅读全文

Linux下Oracle 10.2.0.1升级到10.2.0.4总结

2014-03-12 17:26 by 潇湘隐者, 10998 阅读, 收藏,
摘要: 最近部署测试环境时,将测试环境ORACLE数据库从10.2.0.1升级到了10.2.0.4,顺便整理记录一下升级过程。 实验环境: 操作系统:Oracle Linux Server release 5.7 数据库:Oracle 10.2.0.1 下载解压补丁包 1: [oracle@DB-Server tmp]$ unzip p6810189_10204_Lin... 阅读全文

TNS-12541: TNS:no listener TNS-12560 TNS-00511: No listener

2014-03-10 11:24 by 潇湘隐者, 28291 阅读, 收藏,
摘要: 为了测试需要,系统管理员帮忙将一台ORACLE数据库服务器克隆到虚拟机上,我上去删除了root、oracle、tomcat账号下的crontab定时作业,然后启动了ORACLE数据库实例,删除了ORACLE下的作业,然后启动监听时报如下错误: [oracle@EGMLNX02 admin]$ lsnrctl stop LSNRCTL for Linux: Version 10.2.0.... 阅读全文

ORACLE触发器判断是否更新了某个字段

2014-03-06 17:03 by 潇湘隐者, 21655 阅读, 收藏,
摘要: 今天遇到一个有意思的小问题,一同事有这样一个需求:在更新表T时,如果只是更新字段C,那么不希望触发该该表的触发器去处理业务逻辑。即想在触发器中做出判断:如果更新了字段C,那么跳出触发器,不处理业务逻辑,如果是更新其它字段,那么让触发器去处理业务逻辑。 他是这样做的 1: if :NEW.C != :OLD.C then ... 阅读全文

ORA-01078: failure in processing system parameters & LRM-00109: could not open parameter file

2014-02-25 18:13 by 潇湘隐者, 28906 阅读, 收藏,
摘要: 安装了Oracle 12C后,启动数据库的过程中出现如下错误 SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/oracle/product/12.1.0/db_1/dbs/initepps... 阅读全文

ORA-27125: unable to create shared memory segment

2014-01-14 18:20 by 潇湘隐者, 5887 阅读, 收藏,
摘要: 平台环境 : Oracle Linux Server release 5.7 x86_64 数据库版本 : Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi 在安装Oracle安装过程中,dbca 建instance的,遇到如下错误 以前遇到安装ORACLE成功后,启动过程中遇到OR... 阅读全文

Oracle Linux(64位)安装64位Oracle10g遇到ins_ctx.mk问题

2014-01-14 17:18 by 潇湘隐者, 32522 阅读, 收藏,
摘要: 在Oracle Linux Server Release 5.7上安装64位Oracle 10g 时,遇到如下问题: Error in invoking target 'install' of makefile '/u01/app/oracle/product/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oracle/oraInventory... 阅读全文

Oracle数据库shutdown immediate被hang住的几个原因

2014-01-05 23:08 by 潇湘隐者, 12246 阅读, 收藏,
摘要: 实验操作环境: 操作系统:Red Hat Enterprise Linux ES release 4 (Nahant Update 6) 数据库 : Oracle Database 10g Release 10.2.0.4.0 – Production 32bit 今晚使用shutdown immediate(其实是执行... 阅读全文

ORACLE数据库汉字占几个字节问题

2013-12-10 10:31 by 潇湘隐者, 40518 阅读, 收藏,
摘要: 一同事由于系统需求关系,将SQL SERVER数据库的一个表导入ORACLE数据库时,发现居然报错:ORA-12899: value too large for column xxxx (actual:56, maximum:50),该字段长度在两个数据库都是50,之所以出现这个错误,原因无外乎两个: 一:因为ORACLE数据库它可以存储字节或字符,例如 CHAR(12 BYTE) CHAR(1... 阅读全文

Oracle shutdown immediate无法关闭数据库解决方法

2013-11-21 14:52 by 潇湘隐者, 62492 阅读, 收藏,
摘要: 在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba 2: 3: SQL*Plus: Release 10.2.0.4.0 - Production on Thu Nov 21 ... 阅读全文

ORA-02266: unique/primary keys in table referenced by enabled foreign keys

2013-11-19 16:37 by 潇湘隐者, 9818 阅读, 收藏,
摘要: 在数据库里面使用TRUNCATE命令截断一个表的数据时,遇到如下错误 SQL >TRUNCATE TABLE ESCMOWNER.SUBX_ITEM ORA-02266: unique/primary keys in table referenced by enabled foreign keys 有时候对应的中文错误提示为:ORA-02266: 表中的唯一/主键被启用的外部关键字引用,一般... 阅读全文

ORACLE表空间管理维护

2013-11-11 23:24 by 潇湘隐者, 39503 阅读, 收藏,
摘要: 1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段、区、块等逻辑结构。从物理结构上看是放在数据文件中。一个表空间可由多个数据文件组成。 如下图所示,一个数据库由对应一个或多个表空间,表空间逻辑上有一个或多个段(Segment)组成,物理上由一个或多个os file组成。 1.1基本的表空间 系统中默认创建的几个表空间: ... 阅读全文

ORACLE 12C新特性——CDB与PDB

2013-10-24 22:17 by 潇湘隐者, 102830 阅读, 收藏,
摘要: Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关.. 阅读全文

ORACLE数据库SQL语句的执行过程

2013-10-08 11:58 by 潇湘隐者, 22725 阅读, 收藏,
摘要: SQL语句在数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库系统架构下,SQL语句由用户进程产生,然后传到相对应的服务端进程,之后由服务器进程执行该SQL语句,如果是SELECT语句,服务器进程还需要将执行结果回传给用户进程。SQL语句的执行过程一般如下:解析(PARSE)—— 绑定(BIND)——执行(EXECUTE)——提取(FETCH 只有SELECT才需要这步)解析服务器进程接收到一个SQL语句时,首先要将其转换成执行这个SQL语句的最有效步骤,这些步骤被称为执行计划。Step 1:检查共享池中是否有之前解析相同的SQL语句后所存储的.. 阅读全文

Linux iptables配置错误导致ORA-12535 & ORA-12170

2013-09-17 11:27 by 潇湘隐者, 3570 阅读, 收藏,
摘要: 实验环境: 操作系统 : Red Hat Enterprise Linux Server release 5.7 (Tikanga) 数据库版本: Oracle Database 12c Release 12.1.0.1.0 - 64bit Production前两天在服务器上安装了ORACLE 12c后,从客户端连接到数据库的时候,出现ORA-12170错误,由于以前在博客的ORA-12170:TNS:连接超时总结过这个问题,所以很快定位到是防火墙问题,于是编辑iptables,开放1521端口,然后重新启动防火墙-A RH-Firewall-1-INPUT -p tcp -m state 阅读全文

ORA-12520: TNS:listener could not find available handler for requested type of server

2013-09-15 00:05 by 潇湘隐者, 9109 阅读, 收藏,
摘要: 当你碰到ORA-12520错误时,如下所示:英文错误提示:ORA-12520: TNS:listener could not find available handler for requested type of server中文错误提示:ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序一般你应该从下面两个方面去检查出错原因并解决问题:1:数据库是专用服务器,但是在tnsname.ora配置文件中设置的连接方式是shared,这种情况需要修改tnsname.ora配置文件,这种错误情况一般发生在第一次连接数据库服务器。2:运行正常的数据库服务器,突然报ORA- 阅读全文

Linux 平台安装Oracle Database 12c

2013-09-13 18:50 by 潇湘隐者, 76264 阅读, 收藏,
摘要: 1)下载Oracle Database 12cRelease 1安装介质官方的下载地址:1:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html2:https://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=16496132URL地址2需要先注册,然后才能登陆下载,注册登陆界面https://edelivery.oracle.com关于这两者有啥区别: 听一个同事说,用metalink 账号下载的安装文件完 阅读全文

ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information

2013-09-05 22:18 by 潇湘隐者, 1783 阅读, 收藏,
摘要: 这篇文章是上篇文章”Expdp 导数错误 ORA-00832”的延续,前几天工作比较忙、累,直到今天才整理发出来。这个数据库实例的参数设置比较诡异其实是有原因的,由于这台数据库服务器系统是32位,数据库也是32位的。对于绝大部分32位系统上的32位数据库,SGA最大的设置都不能超过2G,有的系统最大值甚至不能超过1.7G左右。DBA为了让内存充分利用,不至于浪费内存资源,于是想让SGA_MAX_SIZE最大化,对数据库相关参数做了调整,设置参数USE_INDIRECT_DATA_BUFFERS为TRUE,调整SGA_MAX_SIZE为3424M,然而使用USE_INDIRECT_DATA_B. 阅读全文