Oracle的错误总结和分析
文章平均质量分 57
在维护的时候,经常碰到奇怪的ORA或者TNS或者集群相关的各种报错,将这些报错总结起来,以后用起来也得心应手
zclinux_
这个作者很懒,什么都没留下…
展开
-
【CRS】vipca最后一步执行报错CRS-0215
当我们在安装Clusterware 的时候, 需要在第二节点上vipca , 配置到最后安装的时候, 安装到 75% 左右,报错: CRS-0215 : Could not start resource 'ora.mxb2bcoredb01.ons'. Check the log file "/u01/product/crs/log/mxb2bcoredb01/racg/ora原创 2018-01-31 16:29:51 · 1400 阅读 · 0 评论 -
【ORA】ORA-01756: quoted string not properly terminated
出现ORA-01756: quoted string not properly terminated后,查看SQL是否有中文符号修改为英文的符号,运行正常原创 2018-04-04 17:46:14 · 2451 阅读 · 0 评论 -
【ORA】ORA-01033,ORA-09968,ORA-01102
[oracle@oracle ~]$ imp xxxx/user file=/usr/local/src/666.dmp full=y buffer=40960000Import: Release 10.2.0.5.0 - Production on Thu Apr 19 14:01:24 2018Copyright (c) 1982, 2007, Oracle. All rights re...原创 2018-04-19 14:57:53 · 1285 阅读 · 0 评论 -
【ORA】ORA-27101快速处理方法
今天朋友的数据库出了问题,报错如下:这个问题主要是是spfile和pfile文件不一致导致的,生成一个pfile,完了用pfile启动数据库即可SQL> create pfile '/home/oracle/test.ora' from spfile ;SQL> startup pfile='/home/oracle/test.ora' 启动成功在查看下进程 ps -ef |grep...原创 2018-05-07 14:19:17 · 5386 阅读 · 0 评论 -
Oracle获取session的IP方法
方法1创建触发器: create orreplace trigger login_on alfterlogon on database begin dbms_application_info.set_client_info(sys_context('userenv','ip_address')); end; / 这样以后在转载 2017-08-11 16:13:23 · 4835 阅读 · 3 评论 -
【ORA】ORA-39002,ORA-39070,ORA-29283, ORA-06512,ORA-29283解决办法
今天使用IMPDP导入的时候报了一个错误 ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 475 ORA-29283: invalid file ope原创 2017-10-10 11:26:54 · 12633 阅读 · 2 评论 -
【Oracle】用sqlplus登录的各种方式
1.本地登录 sqlplus / as sysdba2.账号密码登录 sqlplus user/passwd3.选择实例登录 sqlplus user/passwd@实例名 例如 sqlplus user/passwd@orcl4.连接远程数据库实例 sqlplus user/passwd@IP:端口/实例名 例如:sqlplus user/passwd@192.168.1.2:1原创 2017-10-10 11:32:49 · 20034 阅读 · 0 评论 -
【Oracle】删除(释放)数据文件/表空间流程
oracle删除(释放)数据文件/表空间流程生产环境:数据库里空间不足,niptest 表空间251G,只使用了17G再alter database datafile '...../niptest1' resize 10G; 的时候说超出了范围要求 由于表变动比较频繁,高水位值比较大(高水位 HWM “High Water Mark “:oracle中block有没有使用的分界线,转载 2017-10-23 11:02:59 · 4750 阅读 · 0 评论 -
【Oracle】delete表后commit后怎么找回,方法
有些时候,不小心删除了一些需要的表,而且数据库不能停止,只能一直运行下去,这样的话很麻烦下面介绍的方法就是删除表后通过时间戳后者scn找回删除的数据模拟实验环境:创建一个新表SQL> create table www as select * from hr.employees;Table created.查看新表是否有数据SQL> sel原创 2017-11-13 18:00:24 · 1467 阅读 · 0 评论 -
【EXP】Oracle多表导出问题
有些时候,需要导入某个用户的一些相关表。但是不知道用户的用户名和密码。这样就很尴尬但是如果手上有dba权限的用户的话,就很方便的能导出了先要知道多表导出的语句exp system/123456 file=test.dmp tables=table1,table2,table3 log=test.log或者exp system/123456 file=test.dmp t原创 2017-11-15 09:54:22 · 8187 阅读 · 2 评论 -
【EXP】WINDOWS下如何导出
有些时候需要在windows下通过远程来导出数据那么windows下怎么导出呢例子:exp hr/hr@192.168.1.222:1521/zhang file=d:backup.dmp log=d:backup.log原创 2017-11-15 09:57:02 · 1183 阅读 · 0 评论 -
【EXP】根据字段导出数据query
exp有些时候需要根据字段来进行导出操作例如:想要导出hr用户中的employees中salary要大于4000的数据这样的话需要添加where语句,需要用到的参数是query查看下大于4000的有多少数据SQL> select count(*) from employees where salary>=4000; COUNT(*)----------原创 2017-11-15 10:39:47 · 2281 阅读 · 0 评论 -
【IMP】导出的时候显示ddl建表语句
导出数据后,在导入的时候想要显示出建表语句,可以用show=y这个选项来实现imp test/test file=test.dmp ignore=y show=y fromuser=test1 touser=test这样会显示建表的时候的ddl语句如果想要完整一点的,可以参考下杨建荣老师的《Oracle DBA工作日记》里面用了awk来进行格式的修改如果不用的话,手动也原创 2017-11-15 10:53:27 · 981 阅读 · 0 评论 -
【EXP/IMP】问题总结
为了使测试与生产数据保持一致,只需要导出数据的时候,可以将测试库的表truncate,保留其它如索引,trigger,constraints,grants等不用再重新导。exp时候rows=y,其它全部选n,imp时候 rows=y ,其它n ignore是否忽略创建错误。Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignor转载 2017-11-15 11:22:55 · 1629 阅读 · 0 评论 -
【EXPDP/IMPDP】数据泵导入导出遇到目录没有权限问题
当执行数据泵导出的时候,报了如下错误:ORA-39002: invalid operationORA-39070: Unable to open the log file.ORA-39087: directory name DUMP_DIR is invalid分析了一下报错,提示没有权限去将日志写入到日志文件中,DUMP_DIR文件没有权限仔细想了下,如果是exp/i原创 2017-11-17 10:40:46 · 15610 阅读 · 0 评论 -
【Oracle】创建用户配额总是不足的解决问题 quota
在oracle中,正常创建的用户是没有配额限制的,也就是默认的是unlimited on tablespace的,但是在有些时候,没有设置相关的配额,用户总是会报错用户配额严重不足,查看表空间,也有很大的剩余空间,纠结了很久这个问题,今天在读书的时候偶然发现了这样的一句话:“revoke DBA权限可能导致quota unlimited on tablespace的权限丢失,对于revoke原创 2017-11-17 10:50:13 · 3342 阅读 · 0 评论 -
【EXPDP】指定导出,只导出函数,导出的时候加上where条件过滤
expdp导出的时候可以使用parfile这个参数,在parfile中添加想要的导出信息:这里简单写了几句:vim test.parinclude=function --导出函数include=test_table:"like '%TEST%'" --导出test_table表中包含TEST字段的全部数据query=test_user:"where test_id=原创 2017-11-20 17:05:56 · 4846 阅读 · 3 评论 -
【EXPDP】导出全部表的时候,选择不导出某个表
导出的时候指定某一张表不导出的话,一般都用的是数据泵的expdp来操作具体方法是:expdp test/test dumpfile=test.dmp directory=test_dir exclude=table:"='TEST_TABLE'"不导出test_table这个表。或者可以用parfile来操作vim test.parexclude=table:"='TEST原创 2017-11-20 17:32:52 · 10717 阅读 · 0 评论 -
【Oracle】Oracle中chr()的含义
oracle中chr含义CHR(10)和 CHR(13)——在oracle都为换行chr(32)——表示空格DECLARE v_a VARCHAR2(255); v_b VARCHAR2(255);BEGIN SELECT 'a' || chr(9) || 'b' INTO v_b FROM dual; v_a := 'a b'; --a和b之间是tab键转载 2017-11-21 11:45:59 · 7481 阅读 · 0 评论 -
【IMPDP】ORA-31655
出现ora-31655错误的情况是因为不是同一个schema,导致的问题产生解决的方法;在导入语句最后添加上remap_schema=old:new着old是原schema,也就是导出的用户名,new是想要导入的用户名例子:我这里有一个expdp导出的dmp文件用户是test_old,想要到入到其他的数据库中的test_new我可以这样写;impdp test_ne原创 2017-11-21 13:25:26 · 10739 阅读 · 0 评论 -
【ORA】ORA-4031错误分析和解决办法
1. ORA-4031错误的原因,一般是大量的hard parse导致了shared pool中的free list中产生大量的内存小碎片,当一个需要很大内存来进行hard parse的sql语句到来时,无法从free list中找到内存,即使进行内存的释放,还是不能找到符合的内存块。从而报ORA-4031错误。2. ORA-4031错误的解决方法:1)alter system转载 2017-11-23 08:46:44 · 1896 阅读 · 0 评论 -
【Oracle】下载11.2.0.4的地址
https://updates.oracle.com/download/13390677.html这个地址就是下载Oracle 11.2.0.4版本的地址,需要有metalink账号才可以下载原创 2017-11-23 10:31:26 · 20278 阅读 · 0 评论 -
【EXPDP】expdp/impdp数据泵远程导入导出
Oracle在10g的时候有一个很好用的导出工具expdp(数据泵)但是这个工具好用的同时,有一个局限,就是必须用本地的用户才可以导出数据,也就是说数据泵只能导出本地数据库的数据但是如果业务需求是 将一个用户的全部表都导出,但是不需要t1,t2,t3而且这个数据库不是本地的,是异地的一个数据库正常的思路是通过exp userxx/passwd@192.168.1.100/orcl原创 2017-11-24 15:21:24 · 11561 阅读 · 0 评论 -
【ORACLE】11g rac+dg
首先感谢群友分享的文档,在这里先感谢哆啦B梦,非常感谢该文档主要指导如何利用现有的RAC环境搭建一套RAC与单实例的DG的环境 ============================主机配置信息====================================| 角色 | 主机名 | 管理IP | VIP转载 2017-12-07 14:54:57 · 900 阅读 · 0 评论 -
【ORACLE】ASMM和AMM的相关问题
关于ASMM和AMMhttp://blog.itpub.net/29800581/viewspace-1263875/http://blog.csdn.net/deanza/article/details/9635461现在的Oracle正在往智能化方向发展。如果我们现在找一些8i/9i时代的Oracle书籍,怎么样配置合适的数据库各内存池大小是非常重要的话题。但是进入10g之转载 2017-12-14 15:08:34 · 737 阅读 · 0 评论 -
【Oracle】10g查看trace生成文件位置及文件名称
select u_dump.value || '/' || db_name.value || '_ora_' || v$process.spid || nvl2(v$process.traceid, '_' || v$process.traceid, null ) || '.trc' "Trace File"from v$parameter u_dump cross转载 2017-12-18 09:23:38 · 1805 阅读 · 0 评论 -
【ORA】ORA-32004: 问题分析和解决
今天做一个特殊的实验,需要重启数据库数据库关闭没有问题SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.但是启动的时候,出现了一个报错:SQL> startup mountORA-32004: obsolete and/or deprecated原创 2017-12-18 13:08:48 · 9311 阅读 · 0 评论 -
【ORACLE】awr报告问题分析
本文转自:http://www.linuxidc.com/Linux/2015-10/123959.htm感谢分享1、问题说明运维人员都有“节日休假恐怖症”,越到节日、休假和外出出差,系统越可能出现问题。笔者在进行一个系统的例行检查时,出现了问题。数据库版本为11gR2,具体版本编号为11.2.0.3。SQL> select * from v$v转载 2017-12-18 13:59:31 · 896 阅读 · 0 评论 -
【Oracle】Oracle 10g下载路径
ORACLE 10g下载地址Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit) http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zi转载 2017-12-20 13:07:15 · 1616 阅读 · 0 评论 -
【Oracle】查询锁的相关SQL
--查看有锁的进程select t2.username,t2.sid,t2.serial#,t2.logon_time,t2.statefrom v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time desc--杀掉进程alter system ki原创 2017-12-22 14:39:11 · 1341 阅读 · 0 评论 -
【Oracle】查看当前连接数和最大连接数
查看当前数据库连接数select count(*) from v$session where username is not null;select count(*) from v$process;查看当前数据库最大连接数select value from v$parameter where name ='processes';原创 2017-12-22 15:19:12 · 3729 阅读 · 0 评论 -
【Oracle】查看oracle用户相关权限
系统权限SELECT *FROM DBA_SYS_PRIVSWHERE GRANTEE = 'CHAXUN'UNION ALLSELECT *FROM DBA_SYS_PRIVSWHERE GRANTEE IN (SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'CHAXUN');原创 2017-12-22 15:26:04 · 1815 阅读 · 0 评论 -
【DBA】非常好的一个脚本网站
今天无意间发下了一个特别好的一个oracle脚本的网站。网站地址如下:https://oracle-base.com/dba/scripts里面都是一些非常实用的脚本。原创 2018-01-03 13:43:52 · 1469 阅读 · 1 评论 -
【RAC】通过命令查看当前数据库是不是rac
SQL> show parameter cluster_database如果参数中显示的是NAME TYPE VALUE------------------------------------ ----------- ------------------------------cluster_database ...原创 2018-01-11 10:15:29 · 6010 阅读 · 0 评论 -
【Oracle】密码文件相关
Oracle数据库的orapwd命令,主要用来建立密码(口令)文件。一.查看帮助信息[oracle@oracle11g dbs]$ orapwdUsage: orapwd file= entries= force= ignorecase= nosysdba= where file - name of password file (required),转载 2018-01-11 11:39:07 · 799 阅读 · 0 评论 -
【VNC】vnc安装oracle的时候不显示图形化界面
背景:在虚拟机搭建了一个环境,准备安装oracle。但是环境都配置完成后,执行./runInstaller的时候,没有界面显示,只显示下面的界面多次尝试后,发现,还是这样,期初是因为没有配置DISPLAY造成的,后来发现,也无济于事但是打开虚拟机的时候,吓了一跳图形化安装界面全部都在主机上显示出来了,而且鼠标已经关闭不过来了,无奈,只能通过kill进程来结束掉了原创 2018-01-19 15:08:22 · 6041 阅读 · 1 评论 -
【Oracle】想查询相关的v$视图,但是提示表或视图不存在解决办法
原因是使用的用户没有相关的查询权限导致解决办法:grant select any dictionary to 用户;原创 2018-01-29 10:32:04 · 38666 阅读 · 0 评论 -
【Oracle】生成随机数
Oracle生成随机数:dbms_random.string(opt, 6) --括号里的opt要从下面的列表中选择,数字代表要生成几位随机数,如果是1位的话,就改成1 以此类推 opt可取值如下: 'u','U' : 大写字母 'l','L' : 小写字母 'a','A' : 大、小写字母原创 2018-02-05 13:13:38 · 440 阅读 · 0 评论 -
【RAC】安装cluster软件 在节点2执行root.sh脚本
安装cluster软件 在节点2执行root.sh脚本 报错如下:Running vipca(silent) for configuring nodeapps/db/oracle/product/10.2.0/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot o转载 2018-02-05 13:30:21 · 853 阅读 · 0 评论 -
【ASM】从asm中复制文件到本地,或者从本地到asm中方法
工作中,有时需要把文件从ASM中复制到文件系统中或者反过来,做一些维护操作,本文介绍了4种复制文件的的方法:ASMCMD中的cp命令(11g)dbms_file_transfer包rman的convert或backup as copyFTP下面分别介绍这4种方法1、ASMCMD中的cp命令(11g)cp命令是11g新增的命令,使用它可以轻松的把文件从ASM中复制到文原创 2018-02-05 15:46:48 · 14601 阅读 · 1 评论