oracle问题记录
oracle的sql日志
oracle的sql日志
标题,探秘Oracle的SQL日志。
在Oracle数据库中,SQL日志是一个非常重要的组成部分,它记录了数据库中执行的所有SQL语句的详细信息。
SQL日志对于数据库管理员和开发人员来说是非常有用的,它可以帮助他们跟踪数据库的活动,诊断问题和优化性能。
SQL日志记录了每个SQL语句的执行时间、执行计划、影响的行数以及执行时产生的错误信息。
通过分析SQL日志,可以了解数据库的负载情况,找出慢查询和瓶颈,进而优化数据库性能。
另外,SQL日志也是数据库故障排查的重要工具。
当数据库出现故障或异常时,可以通过查看SQL日志来定位问题,找出导致故障的SQL语句,从而快速解决问题。
除了以上的作用,SQL日志还可以用于审计和安全监控。
通过分析SQL日志,可以追踪数据库中的数据操作,监控用户的行为,确保数据的安全性和完整性。
总之,Oracle的SQL日志是数据库管理和优化的重要工具,它可以帮助我们更好地了解数据库的运行情况,解决问题,保障数据的安全和稳定。
因此,合理地管理和利用SQL日志对于数据库的正常运行和优化至关重要。
oracle错误ORA-01017问题分析与解决方法
Oracle常见错误 ORA-01017通常表示用户名或密码不正确,但在您的情况下,问题可能与 Oracle 11g 客户端和 Oracle 19c 数据库之间的兼容性有关。
可能的原因用户名或密码错误:首先,确保输入的用户名和密码是正确的。
密码版本兼容性:Oracle 19c 默认使用更高版本的密码加密算法,而 Oracle 11g 客户端可能不支持。
数据库参数配置:某些数据库参数可能需要调整以支持旧版本客户端的连接。
解决方案1. 确认用户名和密码首先,确保您输入的用户名和密码是正确的,并且没有输入错误。
2. 检查密码案例敏感Oracle 11g 和 19c 在处理密码时可能有不同的大小写敏感。
确保密码的大小写与创建用户时设置的密码一致。
3. 调整密码版本兼容Oracle 19c 默认使用 12c 及以上版本的密码加密算法。
为了兼容旧版本客户端,可以调整数据库参数,使其支持旧版本的密码加密算法。
连接到 Oracle 19c 数据库实例:sqlplus / as sysdba检查当前的 SQLNET.ALLOWED_LOGON_VERSION_SERVER 参数:SHOW PARAMETER SQLNET.ALLOWED_LOGON_VERSION_SERVER;如果需要修改参数,可以编辑 sqlnet.ora 文件:vi $ORACLE_HOME/network/admin/sqlnet.ora添加或修改以下参数:SQLNET.ALLOWED_LOGON_VERSION_SERVER=11SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11保存并关闭文件,然后重启数据库监听程序:lsnrctl stoplsnrctl start4. 重新设置用户密码重新设置用户密码可以确保密码使用兼容的加密算法。
连接到 Oracle 19c 数据库实例:sqlplus / as sysdba重新设置用户密码:ALTER USER <username> IDENTIFIED BY <new_password>;5. 检查和调整数据库参数某些数据库参数可能需要调整以支持旧版本客户端的连接。
oracle安装完成后遇到的问题(ORA-01507:databasenotmounted)
第二步: 进入oracle的家目录(oraclehome)下的dbs目录里面 第三步: 检查文件名为 lБайду номын сангаас+*** 文件,语句为 fuser -u lk+***(这个代表前缀为lk的文件),比如说我的数据库为ORACL,就会有一个lkORACL文件
第四步: kill掉文件中的内容,执行 fuser -k + lk+***
第五步: 重启数据库
检查文件名为lk文件语句为fuserulk这个代表前缀为lk的文件比如说我的数据库为oracl就会有一个lkoracl文件
oracle安装完成后遇到的问题( ORA-01507: databasenotmounted)
oracle安装完成后,想把用户sys的密码改成123,语句是:alter user system identified by 123; 然后报错:
ora-01722无效数字_ORA-01722无效数字错误解决记录
ora-01722⽆效数字_ORA-01722⽆效数字错误解决记录今天使⽤Oracle查询时候遇到了ORA01722错误:⽆效数字。
⼀看错误就是数据类型不匹配造成的,我的查询字段key_1虽然是varchar2类型的,但⾥⾯放的是number数字,查看aa表type_1字段⾥⾯值是没有⾮数字(数字类型)。
我的查询语句如下:
select nvl((select value_1
from static_mapp_table
where key_1 = aa.type_1
and key_type = 'TEST'),
'未知')
from aa
简单的说static_mapp_table是⼀个类似Map的表,⾥⾯有key,value根据类型⼀⼀对应。
aa表的type_1字段确认不可能出问题,查看static_mapp_table表⾥⾯key_1字段都是数字,
⽽是直接使⽤:
select * from static_mapp_table where key_1='10000018' and key_type='TEST'
查询,查询结果居然是NULL,⽽是怀疑该字段⾥⾯有⾮数字类型存在,直接使⽤:
select value_1,length(value_1)
from static_mapp_table
where 1 = 1
and key_type = 'TEST'
结果如下:
如上所⽰,该字段初看长度是8实际长度是9,很可能⾥⾯多了空格。
解决⽅法:把空格去掉。
全⽂完。
Oracle ORA-01033 错误,ORA-12528 错误和ORA-01041错误处理
问题描述:1. 以SYSDBA 身份连接 C:\>sqlplus sys/orcl@orcl as sysdba ,登陆ORCL 库,执行关闭(SHUTDOWN)数据库。
2.然后重新启动(STARTUP)数据库时报错:ORA-12528 :TNS:监听程序:所有适用的例程都不允许建立新的连接ORA-01041:内部错误,hostdef扩展名不存在。
3. 重新用 C:\>sqlplus sys/orcl@orcl as sysdba 登录数据库输入用户和密码后报 ORA-01033:ORACLE initialization or shutdown in progress 的错误。
解决思路:1.首先查看listener状态,在命令行输入lsnrctl status ,结果中显示监听例程ORCL状态为"BLOCKED";2. 以SYSDBA权限登录(注意不指定数据库名),具体步骤:1) 开始 - 运行 -cmd2) 命令行中输入 SQLPLUS SYS/密码 AS SYSDBA3) 输入 SHUTDOWN IMMEDIATE4) 输入 STARTUP再次输入用户和密码登录成功,查看listener状态,结果中显示监听例程ORCL 状态为READY。
问题分析:1、在以 C:\>sqlplus sys/orcl@orcl as sysdba 登陆时,是在库ORCL操作,完成 SHUTDOWN 后,执行STARTUP 时始终是在库ORCL中操作,而这时ORCL 已经关闭了,因此出现错误。
2、重新以 C:\>sqlplus sys/orcl as sysdba 登陆,以空例程登陆时,再STARTUP 时就可以将库ORCL 重新启动。
备注:(1)当有多个数据库实例时,执行shutdown会关闭所有数据库实例,要重新打开,执行startup,而不要指明具体的实例(2)先执行shutdown会关闭所有数据库实例,然后执行startup open orcl,此时执行lsnrctl status ,结果中显示监听例程中其他的数据库实例状态为"BLOCKED";此时通过执行lsnrctl stop和lsnrctl start并不能将这些数据库实例状态从"BLOCKED"变成“Ready”。
oracle面试必会6题经典
oracle面试必会6题经典Oracle当今最热门的数据库管理系统之一,许多企业和组织都将Oracle作为研发和运维领域的首选,而面试时,也会考查应聘者是否具备足够的Oracle知识和技能以及该如何应对面试官的提问。
本文介绍了一些如何准备Oracle面试的技巧,并且给出了6个经典的Oracle面试问题,供应聘者参考练习。
首先,准备Oracle面试要素必须包括开发和管理方面。
这意味着,应聘者要在结构化查询语言“SELECT”、“INSERT”、“UPDATE”、“DELETE”等基本SQL命令,数据库的正确配置、索引优化,数据库的备份和恢复,SQL优化手段,常用的系统存储过程,Oracle PL/SQL编程技术,连接池和事务处理等方面的知识有系统的了解。
在准备Oracle面试的同时,还可以考虑一些其他加分项,包括Oracle 10g/11g特性,Oracle Enterprise Manager,Java连接Oracle处理,Oracle性能监控,综合项目等。
同时,应聘者还要关注Oracle官网上发布的最新特性,不断学习新的技术,以更好地准备面试。
不同企业对Oracle应聘者的要求也不尽相同,一般而言,应聘者要熟悉Oracle的安装、配置、优化,了解实例的划分、数据库的设计和优化,熟悉各种SQL技术及命令,能够有效地完成数据库管理和开发任务,以及能够使用各种开发语言对Oracle进行管理和操作。
下面,我们将介绍一些典型的Oracle面试问题:1.描述Oracle数据库管理系统?Oracle应用程序开发和数据库管理所需要的高性能全功能数据库管理系统,支持多种开发语言,可以帮助企业快速构建稳定、可靠、可扩展的数据库管理系统。
2. Oracle的表空间是什么?表空间是Oracle数据库中的一个逻辑存储单元,它是各种数据对象(例如表、索引、视图等)的物理存储区域。
每个表空间都有一个或多个数据文件,这些数据文件存储了表空间中定义的所有数据对象。
oracle错误处理日志
命令行里输入set oracle_sid=orcl (如果你的sid不是orcl,请自己更换)
再次敲入emctl start dbconsole
显示OC4J Configuration issue. D:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_192.168.1.101_orcl not found.
我想聪明的你一定已经知道该怎么做了
如法炮制到相应目录下,复制一份重命名
再次敲入emctl start dbconsole
错误ora-12514解决方案
解决方法:
1. 打开<OracleHome>/network/admin/listener.ora文件,找到:
SID_LIST_LISTENER =
于是我到了该目录下发现有一个我的"OC4J_DBConsole_"+ 机器名+"_orcl"的目录
网上大家说如果你是修改了机器名的,那么你在这里把你的新机器名替换原来的机器名
变成——>"OC4J_DBConsole_"+ 新机器名+"_orcl"
如果你是像我一样,是因为环境改变而发生这个问题的,我建议你复制一个目录,进行更改。
复制一份"OC4J_DBConsole_"+ 机器名+"_orcl" 重命名为 "OC4J_DBConsole_ 192.168.1.101_orcl
再次敲入emctl start dbconsole
有显示EM Configuration issue. D:\oracle\product\10.2.0\db_1/ 192.168.1.101 _orcl not found
oracle安装及使用中出现的问题及解决(1)
oracle安装及使⽤中出现的问题及解决(1)系统默认选项值取⾃于:E:\ProgramFiles\ora92\precomp\admin\pcscfg.cfgPCC-F-02101, ⽆法打开输⼊⽂件:"E:\precomp_main_nt_011204\oracle\precomp\demo\proc\samp Le.pc"⼀种情况是你COMILE之前,没有保存解决办法是先保存另⼀种情况可能是你的PC⽂件可能不能⽤了,解决办法是'删除重新⽣成除此之外有可能是你的PC⽂件放的位置不正确哈1、在ORACLE 10g 安装准备的过程中:缺少上⽹搜过不少⽂章,但是都不是很好的解决我⾃⼰摸索出⼀个解决⽅法:在RHEL5的安装盘中找到libXp-,进⾏安装后,便可解决。
2、在ORACLE 10g 安装过程中Xlib: connection to ":0.0" refused by serverXlib: connection to ":0.0" refused by serverXlib: No protocol specifiedError: Can't open display: :0.0以root⽤户登陆,在shell中运⾏[root@brady ~]# xhost local:oraclenon-network local connections being added to access control list然后oracle⾝份就可以运⾏X程序了。
man xhost中有这样⼀段A complete name has the syntax ‘‘family:name’’ where the families are as follows:inet Internet host (IPv4)inet6 Internet host (IPv6)dnet DECnet hostnis Secure RPC network namekrb Kerberos V5 principallocal contains only one name, the empty stringsi Server Interpreted其中local那个是⽤来解决同⼀台机器的不同⽤户访问X的问题的。
oracle遇到的问题及答案
oracle遇到的问题及答案问题⼀:Oracle 11G⽤EXP时,空表不能导出解决⽅法第⼀查询空表到底有多少张,也就是查询为分配分配segment的表有多少张SQL> select table_name from user_tables where NUM_ROWS=0;TABLE_NAME------------------------------DATA_BACKUPEQUIPMENTFEEDBACK_ACCESSORIESSPECIALPICTASK_THIRDTASK_THIRDBATCHTASK_THIRD_DATATASK_THIRD_FEEDBACKTESTDATA_THIRDTHIRD_ACCESSORIES已选择10⾏。
第⼆查询在当前⽤户下有总的有多少张表SQL> select count(*) FROM USER_TABLES;COUNT(*)----------32第三导出当前⽤户下的数据C:\Users\Administrator>exp lcpt/lcpt file=E:\0702bj\lcpt.dmp wner=lcpt log=E 702bj\lcpt.logExport: Release 11.2.0.1.0 - Production on 星期⼀ 7⽉ 2 10:42:07 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Productio With the Partitioning, OLAP, Data Mining and Real Application Testing options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的⽤户.... 正在导出 pre-schema 过程对象和操作. 正在导出⽤户 LCPT 的外部函数库名. 导出 PUBLIC 类型同义词. 正在导出专⽤类型同义词. 正在导出⽤户 LCPT 的对象类型定义即将导出 LCPT 的对象.... 正在导出数据库链接. 正在导出序号. 正在导出簇定义. 即将导出 LCPT 的表通过常规路径.... . 正在导出表 ACCESSORIES导出了 18 ⾏. . 正在导出表 AUTH导出了 240 ⾏. . 正在导出表 DATA_TEMP导出了 1 ⾏. . 正在导出表 FEEDBACK导出了 1 ⾏. . 正在导出表 FUNCTION导出了 112 ⾏. . 正在导出表 LIMIT导出了 1 ⾏. . 正在导出表MODULE导出了 37 ⾏. . 正在导出表 READ_ACCESSORIES导出了 2 ⾏. . 正在导出表 REGIONINFO导出了 19 ⾏. . 正在导出表 REPORT_EVENT导出了 8 ⾏. . 正在导出表 ROLE导出了 5 ⾏. . 正在导出表 ROLEAUTH导出了 606 ⾏. . 正在导出表STAFFLOG导出了 512 ⾏. . 正在导出表 STAFFROLE导出了 56 ⾏. . 正在导出表 STAFFS导出了 7 ⾏. . 正在导出表TASKINFO导出了 51 ⾏. . 正在导出表 TASK_FILIALE导出了 2 ⾏. . 正在导出表 TASK_FILIALE_FEEDBACK导出了 2 ⾏. . 正在导出表 TASK_SWARAJ_READ导出了 49 ⾏. . 正在导出表 TESTDATA导出了 407 ⾏. . 正在导出表 THIRDFACTURER导出了 3 ⾏. . 正在导出表 USESSION导出了 1 ⾏. 正在导出同义词. 正在导出视图. 正在导出存储过程. 正在导出运算符. 正在导出引⽤完整性约束条件. 正在导出触发器. 正在导出索引类型. 正在导出位图, 功能性索引和可扩展索引. 正在导出后期表活动. 正在导出实体化视图. 正在导出快照⽇志. 正在导出作业队列. 正在导出刷新组和⼦组. 正在导出维. 正在导出 post-schema 过程对象和操作. 正在导出统计信息成功终⽌导出, 没有出现警告。
oracle安装常见问题及解决方案
)
原来本机的ip发生改变后,就出现了上述问题,改变数据库的监听ip地址:
把(ADDRESS = (PROTOCOL = TCP)(HOST = 0.5.0.5)(PORT = 1521))
改成
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
在用PL/SQL Developer连接数据库时出现
“ORA-12541:TNS:无监听程序”错误。
1、检查listener.log日志
发现下面错误:
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-9月 -2008 10:25:26
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
解决方案 --> 1 :
ORACLE10G数据库TNS链接不上(TNS无法解释)
我们常遇到由于网络断开或者机器IP变化或其他原因造成oracle数据库TNS链接不上的情况。有的时候甚至重装oracle数据库也没用,我在实践中总结了两点处理的经验:
1、由于IP变化造成的,那么重新配置一下监听就可以了
==》问题2:
创建数据库实例时报:
无法在指定的范围内为以下进程分配端口: JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938> 1:
==》问题3:
(PROGRAM = extproc)
今天使用Oracle遇到了这个问题ora
今天使用Oracle遇到了这个问题ora-01033:oracle initialization or shutdown in progress,经过分析研究终于解决了,记下来。
首先:问题的产生原因,出现这个错误是因为我将\oracle\product\10.1.0\oradata\oral 下的一个文件删除掉后出现的。
利用sql语句语句创建表空间时弄错了,就一时心急把创建的文件删除了。
结果问题就出来了。
sysdba可以登录,但是在使用中就出现“数据库未打开,仅允许在固定表/视图中查询”,而normal用户无法登录使用,出现ORA-01033: ORACLE initialization or shutdown in progress 的错误。
分析:这个错误的原因应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中配置中有文件未找到,所以就报出错误。
解决过程:C:\Documents and Settings\DHai>sqlplus /nologSQL*Plus: Release 10.1.0.2.0 - Production on 星期一 9月 28 14:35:38 2009 Copyright (c) 1982, 2004, Oracle. All rights reserved.SQL> connect sys/123 as sysdba;已连接。
SQL> shutdown normalORA-01109: 数据库未打开已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;ORACLE 例程已经启动。
Total System Global Area 171966464 bytesFixed Size 787988 bytesVariable Size 145750508 bytesDatabase Buffers 25165824 bytesRedo Buffers 262144 bytes数据库装载完毕。
oracle安装及使用中出现的问题及解决
系统默认选项值取自于:E:\ProgramFiles\ora92\precomp\admin\pcscfg.cfgPCC-F-02101, 无法打开输入文件:"E:\precomp_main_nt_011204\oracle\precomp\demo\proc\samp Le.pc"一种情况是你COMILE之前,没有保存解决办法是先保存另一种情况可能是你的PC文件可能不能用了,解决办法是'删除重新生成除此之外有可能是你的PC文件放的位置不正确哈1、在ORACLE 10g 安装准备的过程中:缺少libXp.so.6依赖上网搜过不少文章,但是都不是很好的解决我自己摸索出一个解决方法:在RHEL5的安装盘中找到libXp-1.0.0-8.i386.rpm,进行安装后,便可解决。
2、在ORACLE 10g 安装过程中Xlib: connection to ":0.0" refused by serverXlib: connection to ":0.0" refused by serverXlib: No protocol specifiedError: Can't open display: :0.0以root用户登陆,在shell中运行[root@brady ~]# xhost local:oraclenon-network local connections being added to access control list 然后oracle身份就可以运行X程序了。
man xhost中有这样一段A complete name has the syntax ‘‘family:name’’ where the families are as follows:inet Internet host (IPv4)inet6 Internet host (IPv6)dnet DECnet hostnis Secure RPC network namekrb Kerberos V5 principallocal contains only one name, the empty stringsi Server Interpreted其中local那个是用来解决同一台机器的不同用户访问X的问题的。
oracle存储过程面试题目
oracle存储过程面试题目
以下是一些关于Oracle存储过程的面试题目:
1. 什么是存储过程?存储过程在数据库中的作用是什么?
2. 在Oracle中,如何创建和调用一个存储过程?
3. 存储过程和函数有什么区别?
4. 存储过程可以有哪些参数类型?如何定义和传递参数?
5. 存储过程可以返回值吗?如何返回值?
6. 如何调试和优化存储过程的性能?
7. 存储过程可以有哪些异常处理机制?如何使用它们?
8. 存储过程和游标的区别是什么?什么时候应该使用存储过程而不是游标?
9. 存储过程可以访问数据库中的哪些对象?如何访问它们?
10. 存储过程和数据库触发器有什么区别?它们的使用场景是什么?
11. 如何使用存储过程实现复杂的业务逻辑?
12. 存储过程在数据库中的安全性如何考虑?如何限制对存储过程的访问?
13. 存储过程和SQL语句的区别是什么?为什么有时候使用存储过程更好?
14. 存储过程有哪些常见的应用场景?请举例说明。
15. 你如何理解存储过程的复用性?如何在Oracle中实现存储过程的复用?
以上是一些关于Oracle存储过程的面试题目,通过回答这些问题,可以了解应聘者对Oracle存储过程的理解和掌握程度。
ORACLE错误一览表
orA-01302: 在 logmnr.opt 文件中出现语法错误
orA-01303: 在 logmnr.opt 文件中指定的方案 不存在
orA-01304: 在 logmnr.opt 文件中指定的表 , 方案 不存在
orA-01206: 文件不是此数据库的一部份 - 数据库标识错误
orA-01207: 文件比控制文件更新 - 旧的控制文件
orA-01208: 数据文件是旧的版本 - 不能访问当前版本
orA-01209: 数据文件来自最后一个 RESETLOGS 之前
orA-01210: 数据文件标题是介质损坏
orA-01243: 系统表空间文件出现介质错误
orA-01244: 未命名的数据文件由介质恢复添加至控制文件
orA-01245: RESETLOGS 完成时脱机文件将丢失
orA-01246: 通过表空间的 TSPITR 来恢复文件
orA-01247: 通过表空间的 TSPITR 来恢复数据库
orA-01315: 日志文件在选取过程中已被添加或移去
orA-01316: 已连接到 Logminer 会话中
orA-01317: 未连接到 Logminer 会话中
orA-01318: Logminer 会话未启动
orA-01319: Logminer 会话属性无效
orA-01320: Logminer 字典属性无效
orA-01248: 文件在将来的不完整恢复中创建
orA-01249: 不允许在 '克隆' 数据库中存档
orA-01250: 文件标题访问的终止过程中出现错误
Oracle常见问题
Oracle使用常见问题/*本文档由yhz完成,我会不断完善该文档,出现难以解决的问题时请发邮件到yanhaizhen@neusof ,并列出错误信息提示。
*/1.在安装Oracle的过程中出现下面的提示:“文件定位错误。
area queries ”,以及两个单选按钮,选择“停止安装所有组件”或者“只停止安装此组件”。
错误原因:Oracle的安装文件放在了中文目录下。
解决方法:将Oracle的安装文件放在英文目录下。
2.安装的时候点setup的时候出现错误,提示“Java V irtual machine launcher could not find the main class. program will exit”。
错误原因:可能是安装版本的问题,或者是安装路径放在中文目录下。
解决方法:将安装文件放在英文目录下。
3.在安装Oracle的过程中出现下面的提示:“在安装程序交换区C:\Documents and Settings\Administrator\Local Settings\Temp没有足够的磁盘空间,请保证至少有110KB 的磁盘空间”。
错误原因:oracle安装程序在安装过程中需要400M以上的临时硬盘空间,一般使用/tmp 文件夹作为临时文件夹,一般情况下/tmp文件夹会有足够的磁盘空间,但也可能磁盘空间不足。
解决方法:新创建一个文件夹作为安装的临时目录,之后设置环境变量TEMP指向相应的位置。
假定d盘有足够大的空间,那么可以在d盘下先创建一个临时文件夹供安装Oracle 使用,安装完之后删去即可。
例如:在d盘根目录下创建文件夹temp,然后先记录下原来的环境变量,然后修改。
右键点击“我的电脑”,选择“属性”,在弹出的“属性”对话框中选择“高级”页,点击“环境变量”按钮,在弹出的“环境变量”对话框中,从administrator的用户变量(也就是安装Oracle的当前用户)中,找到temp和tmp环境变量进行修改,先记录下修改以前的值,便于以后恢复。
ORA-12570错误处理的简单记录-oracle数据库故障处理记录
ORA-12570错误处理的简单记录-oracle数据库故障处理记录引⾔:在公司⼀台windows搭建的oracle的数据库运⾏⼀直正常,突然昨天发⽣了发现在其他机器客户端连接服务器的oracle数据库连接不上,报错17001,于是开始了本次故障处理。
oracle故障处理记录过程1:排查orale服务于客户端机器是否⽹络被做了限制,在客户端通过telnet oracle主机的ip 端⼝,此项排查完毕,正常!2:登录oracle服务器,在windows机器的服务⾥查看oracle的数据库服务和listenner是否是启动状态。
此项排查完毕,正常!3:在oracle服务器,使⽤客户端软件⼯具连接oracle数据库,连接不上,报错异常为IO异常。
因此怀疑为⽹络限制或域名解析问题。
4:由于怀疑是⽹络问题,所以先查看oracle配置⽂件的listenner中的host是否被⼈篡改或不能识别,排查完毕,正常!查看windows主机的host,位置:C:\Windows\System32\drivers\etc\hosts 发现这个hosts⽂件中没有配置主机名与ip地址的对应,关系,于是加上后重启listenner,仍然不能正常连接,排查完毕!5:查看oracle数据库服务器中的trace中的listenner⽇志,位置: $oracle_home\diag\tnslsnr\主机名\listener\trace\,发现⽇志⾥报错的都是ORA-12570,百度搜索问题中有⼈回答是需要重启监听,这个我测试过,并没有解决问题,也有的⼈回复需要将listen.ora中的HOST从主机名换成ip地址,这个也做过测试仍然不⾏。
6:进⾏原始命令连接,从windows机器上进⾏cmd的sqlplus连接,发现如果是sqlplus ⽤户名/密码连接正常,但是如果使⽤ sqlplus ⽤户名/密码@ip地址:端⼝/实例这样的⽅式进⾏连接的时候返回的结果是 no listenner,这样认定为listenner⽆响应。
oracle19c scheduler job error log alert log
oracle19c scheduler job error log alert log摘要:1.Oracle19c 简介2.Scheduler Job 错误日志和警报日志的作用3.解决Oracle19c Scheduler Job 错误日志和警报日志的方法4.总结正文:一、Oracle19c 简介Oracle19c 是Oracle 公司的最新版本,提供了更强大的数据库管理和优化功能。
在使用Oracle19c 时,可以通过Scheduler Job 来定期执行一些数据库维护任务,如备份、导入/导出数据等。
二、Scheduler Job 错误日志和警报日志的作用在Oracle19c 中,Scheduler Job 错误日志和警报日志用于记录任务执行过程中的错误信息和异常事件。
这些日志可以帮助数据库管理员发现问题并及时进行处理。
1.错误日志(Alert Log):记录了Scheduler Job 执行过程中产生的错误信息,如无法连接到数据库、文件读写错误等。
2.警报日志(Error Log):记录了Scheduler Job 执行过程中遇到的警告和异常事件,如任务超时、磁盘空间不足等。
三、解决Oracle19c Scheduler Job 错误日志和警报日志的方法1.查看错误日志和警报日志:使用sqlplus 命令登录到Oracle19c 数据库,然后执行以下语句查看日志:```SELECT * FROM dba_alerts;SELECT * FROM dba_errors;```2.根据日志信息分析问题:根据日志中的错误信息和异常事件,分析可能导致问题的原因。
例如,如果日志中显示无法连接到数据库,可能是数据库服务未启动或数据库连接参数设置不正确。
3.解决问题:针对分析出的问题,采取相应的解决措施。
如启动数据库服务、修改数据库连接参数等。
4.清理日志:问题解决后,可以使用以下命令清理错误日志和警报日志:```BACKUP LOG dba_alerts TO"/u01/app/oracle/oradata/backup/dbalert.log";BACKUP LOG dba_errors TO"/u01/app/oracle/oradata/backup/dberror.log";```四、总结Oracle19c Scheduler Job 错误日志和警报日志对于数据库管理员来说非常重要,可以帮助他们发现和解决任务执行过程中的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle维护文档
一、ORA-01115: IO error reading block from file 52 (block # 2586553)
早上财务系统出了个故障,客户端显示io错误,
ORA-01115: IO error reading block from file 52 (block # 2586553)
ORA-01110: data file : /dev/rcw_data35
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 5: I/O error
但是从操作系统和数据库的alert告警日志中都没有看到这个错,用命令
dbv /dev/rcw_data35 blocksize=8192 (dbv是dbverify简写,检查数据文件、日志文件、参数文件、段等)
检查磁盘也没有报错,从metalink上查到这可能是个bug:
原因:
The value of maxreqs (4096) was too low. This asynchronous I/O parameter specifies the maximum number of asynchronous I/O requests that can be outstanding at any one time and has as default value 4096.
解决办法:
Increase maxreqs to a value greater than or equal to 8192.
Steps:
1. run aioo -a command to double check current setting for aio0 device
2. run aioo -o maxreqs=<value> to set maxreqs dynamically
3. chdev -l aioo -a maxreqs=<value> -P to set the value of maxreqs permanently for next reboot
4. run aioo -a to confirm change
5. restart oracle
我设置value为16384后重启数据库,问题就解决了。
aioo -a 这些命令是aix操作系统命令,需要有root用户权限才能运行
二、
昨天处理了一个问题,和这个帖子有点像/article/3b/701.html
就是最后结果不一样,最后人家把进程杀掉了,我们这边一直在等,不得不shutdown abort 后重启数据库。
我分析有可能是kill的方式不同,帖子上说应该用kill操作系统进程的方式,我们这是先kill session的进程
下次有机会再试一下直接kill操作系统进程
三、扩表空间
mklv -y gx_tel_ah_25 -t 'raw' zy1xpvg 120
ls -l /dev/rgx_tel_ah*
chown oracle:dba /dev/rgx_tel_ah_25
alter tablespace TBS_TELEMT_AH add datafile '/dev/rgx_tel_ah_25';。