搜档网
当前位置:搜档网 › ORA-00604 递归 SQL 级别 1 出现错误 ORA-01400 无法将 NULL 插入

ORA-00604 递归 SQL 级别 1 出现错误 ORA-01400 无法将 NULL 插入

ORA-00604 递归 SQL 级别 1 出现错误 ORA-01400 无法将 NULL 插入
ORA-00604 递归 SQL 级别 1 出现错误 ORA-01400 无法将 NULL 插入

【数据库】ORA-00604: 递归SQL 级别1 出现错误

ORA-01400: 无法将NULL 插入("SYS"."OBJ$"."NAME")

今天在处理公司存储过程的时候有下面一段存储过程CREATE OR REPLACE PROCEDURE USP_EMR2_BRXX_QUERY

(

Parm_Data varchar2, --xml数据

Parm_Flag varchar2,

cur_OUT OUT SYS_REFCURSOR --游标

)

as

PARM_sSql varchar2(800);

PARM_sSqlT ext varchar2(4000);

begin

delete from TMP_XMLDATA;

delete from tmp_brxx_query;

begin

INSERT into TMP_XMLDATA VALUES (sys.xmltype.createXML(Parm_Data));

insert into tmp_brxx_query(JGDM,KSDM,BRZT,NAME1)

SELECT TO_CHAR(EXTRACTVALUE(VALUE(X), '/XmlDataTable/JGDM')) JGDM,

TO_CHAR(EXTRACTVALUE(VALUE(X), '/XmlDataT able/KSDM')) KSDM,

TO_CHAR(EXTRACTVALUE(VALUE(X), '/XmlDataT able/BRZT')) BRZT,

TO_CHAR(EXTRACTVALUE(VALUE(X), '/XmlDataT able/NAME')) NAME1

FROM TMP_XMLDATA i,TABLE(XMLSEQUENCE(EXTRACT(i.xml_data, '/WPHFramework/XmlDataTable'))) x;

end;

PARM_sSql:="";

end;

连主题部分还没有编写就出现以下错误

ORA-00604: 递归SQL 级别1 出现错误

ORA-01400: 无法将NULL 插入("SYS"."OBJ$"."NAME")

但是查看了一遍,觉得没啥问题,最后终于找到了答案

这是由于在存储过程中使用非法字符造成的。Oracle中的存储过程中赋值时,空字符串应

该使用带引号‘’,当使用双引号的时候会出现上述错误。

exchange装入数据库失败解决办法.pdf

Microsoft Exchange 错误 装入数据库“xxxx”失败。 xxxx 失败 错误: Exchange 无法装入指定的数据库。指定的数据库: WIN2003\xxxx\xxxx;错误代码: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-515) 首先声明我用的是exchange server 2007 还有类似的比如544、455错误等,主要是因为某种原因数据库的日志文件丢失或者错误造 成的。可以通过以下方法来解决。 这里要使用到eseutil.exe这个程序,他在ex的安装目录下的\bin\eseutil.exe 好下面我们来操作来恢复日志文件。 首先关掉杀毒软件,这主要是为了防止它扫描ex安装的目录造成文件锁定之类的问题,然 后在出问题的数据库所在的的目录,比如 \exchange\mailbox\firststroagegroup目录下是数据库所在目录,那么在这个文件夹上 运行cmd,然后再命令窗口中输入 eseutil -p "xxx.edb" ; 然后运行 eseutil -mh "xxx.edb",在显示出来的结果中查看状态 = 干净关闭或者state=cleanshut;然后我们进行下一步运行eseutil /r e00 ,运行后会看到很多log文件,这里最后会提示你最后一个log文件是比如 0ad,缺少了log文件0ae,这说明丢失了0AE.LOG这个文件,不要紧,进行下面操作, (注意)虽然进行后会丢失0ad之后的数据,但是也比加载不了数据库好吧!来吧继续 吧: 找到\exchange\mailbox\firststroagegroup目录下最新的LOG文件,将其改名为LOG文件的最前三个字符,比如LOG文件全名是“e000000000ad”那 么把它改成“e00”,同理如果是“e010000000ad”那么把它改成“e01”,这时你会发现本 文件夹有E01这个文件重复了,备份好原来的那个文件,然 后删除它,再吧0AD改名成E00,好啦大功告成了,去EMC里加载这个数据库试试,是不 是可以了奶? 哈哈其他数据库也这么操作,OWA又可以正常访问了嘎嘎! 下面是微软给出的官方说法,其实跟我的一样,只不过是绕口点: 使用下列方法之一恢复 Exchange 日志文件: 方法 1:如果 Exchange 日志文件被隔离 将 Exchange 日志恢复到包含生产日志文件的文件夹。 启动"Microsoft Exchange 信息存储"服务。如果不缺少任何其他日志文件,将装入数据 库。如果缺少其他日志文件,请查看缺少的日志文件是否位于 防病毒程序的隔离文件夹中。如果日志文件不在隔离文件夹中,请参阅方法 2。 如果 Exchange 日志文件被删除,则必须通过备份还原存储组数据库。然后必须重播日志 文件。若要还原可用的数据库,请执行下列步骤:

连接数据库出错处理办法

https://www.sodocs.net/doc/416979376.html,没学好,又要学jsp了.... 1. 安装:SQL Server 2000 Driver for JDBC Service Pack 3 下载安装JDBC SP3 https://www.sodocs.net/doc/416979376.html,/downloads/details.aspx?familyid=07287B11-0502-461 A-B138-2AA54BFDC03A&displaylang=en 里面的SetUp.exe 按照提示安装可以了.成功后有三个文件要使用: c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar 2.测试代码 新建类文件Connect.java. package test; import java.*; import java.sql.Driver; public class Connect{ private java.sql.Connection con = null; private final String url = "jdbc:m icrosoft:sqlserver://"; private final String serverName= "localhost"; private final String port Number = "1433"; private final String databaseName= "DBtest"; private final String userName = "sa"; private final String password = "123456"; // Informs the driver to use server a side-cursor, // which permits m ore than one active statem ent // on a connection. private final String selectMethod = "cursor"; // Constructor public Connect(){} private String getConnectionUrl(){ return

Mysql常见错误提示及解决方法

Mysql常见错误提示及解决方法 130 :文件格式不正确。(还不是很清楚错误的状况) 145 :文件无法打开。 1005:创建表失败。 1006:创建数据库失败。 1007:数据库已存在,创建数据库失败。 1008:数据库不存在,删除数据库失败。 1009:不能删除数据库文件导致删除数据库失败。 1010:不能删除数据目录导致删除数据库失败。 1011:删除数据库文件失败。 1012:不能读取系统表中的记录。 1016:文件无法打开,使用后台修复或者使用phpmyadmin 进行修复。 Quote: 开始=>所有程序=>附件=>命令提示符 输入mysql 所在硬盘盘符 cd mysql 所在目录 cd bin 输入myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI ps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径 -f 根据具体情况选择,一般也可以选择-r 注意你的系统C盘或放数据库的硬盘空间是否足够,一般小于1G 很容易出现错误。或用mysqlcheck命令进行修复。具体的方法:利用命令行进入mysql/bin目录,执行mysqlcheck -o -r phpwind -uroot -p 其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。然后就会修复你的数据库。 1017:服务器非法关机,导致该文件损坏。 1020:记录已被其他用户修改。 1021:硬盘剩余空间不足,请加大硬盘可用空间。 1022:关键字重复,更改记录失败。

1023:关闭时发生错误。 1024:读文件错误。 1025:更改名字时发生错误。 1026:写文件错误。 1030:可能是服务器不稳定。(具体原因不是很清楚) 1032:记录不存在。 1036:数据表是只读的,不能对它进行修改。 1037:系统内存不足,请重启数据库或重启服务器。 1038:用于排序的内存不足,请增大排序缓冲区。 1040:已到达数据库的最大连接数,请加大数据库可用连接数。 Quote: 在my.ini 修改max_connections=100为max_connections=1000或更大,重启mysql 1041:系统内存不足。 1042:无效的主机名。 1043:无效连接。 1044:数据库用户权限不足,请联系空间商解决。 1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。Quote: 方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改: 如果MySQL 正在运行,首先停止。 启动MySQL :bin/safe_mysqld --skip-grant-tables & 就可以不需要密码就进入MySQL 了。 然后就是 >use mysql >update user set password=password("new_pass") where user="root"; >flush privileges; 1046:没有选择数据库。 1048:字段不能为空。

安装数据库过程中常见问题解决方法

一、装数据库时出现command line option syntax error!type command /? for help错误 当安装程序安装到: 安装程序正在安装ms数据访问组件 时,屏幕出现错误提示: command line option syntax error,type command/? for help 然后点确定继续,结果到: 安装程序正在安装HTML帮助 时,屏幕又出现标题为html help 1.32 update错误警对话框提示:command line option syntax error,type command/? for help 然后我再点确定继续,安装程序开始复制文件,复制完文件后又出现错误提示: 无法找到动态连接库sqlunirl.dll(sqlunirl.dll是MDAC的一个组件),于指定路径 点确定后安装程序停止运行,让查看安装日志 解决方法: 引起这问题的原因是,SQLServer的安装文件,放在中文目录下了. 将SQLServer的安装文件,拷到英文目录,安装就OK 比如将: D:\软件\Sqlserver 中的"软件"去掉.

注: MDAC (Microsoft Data Access Components)是微软数据库访问组件,Netpise和许多利用数据库的软件都需要操作系统安装MDAC。很多用户的操作系统中已经存在了MDAC,有些是操作系统内置的、有些是其它应用程序安装的。 补充方法(未测试) 1.重装MDAC 2.修改注册表: HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\Windows\CurrentVersion\ setup 删除ExceptionComponents 重启,安装. 很多时候不需要第一步操作 二、解决由于sql2000日志文件引起的“置疑”。 日志有错误--------重新附加提示日志有错误。 日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。 步骤: 一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf 文件。 二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。 三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。 四、停止数据库服务器。 五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

数据库服务错误error26解决方法

错误提示:在建立与服务器的连接时出错。在连接到SQL Server 2005 时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 有段时间遇到上面问题,在网上查找了许多方案,但那些方案都没能够解决问题,在解决其他问题时,发现一些其他端倪,返回来解决此问题,将该问题解决。总结了我的解决方案(即下文中的方案一),并且我把在网上搜索来的解决方案也汇总了一下,与大家分享。 分析: “在建立与服务器的连接时出错”说明与数据库服务器有关; “在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。”说明与权限有关;“provider: SQL 网络接口”说明当前登录身份是网络接口; “error: 26 - 定位指定的服务器/实例时出错”说明定位不上指定的服务器实例。 方案一: 1、查看数据库服务是否存在; 2、右击数据库实例服务--属性—登陆,将登陆身份改为本地系统(local system); 3、启动服务; 4、若启动、暂停、停止等选项都是灰色,请查看启动类型是不是“禁用”了,若“禁用” 了,请改为“自动”,然后启动服务; 方案二: 首先请确认SQL SERVER EXPRSS已安装到本地计算机上,并且SQL SERVER (SQLEXPRESS)服务已经成功启动。如果问题仍然存在,可以尝试开始->所有程序->MS SQL Server2005->配置工具->MS SQL Server2005外围应用配置器-> “服务和连接的外围应用配置器”,然后将“远程连接”配置为“同时使用TCP/IP 和named pipes”。Analysis Services下远程连接选择"本地连接和远程连接",应用后重启。 由于启动用户实例的进程时出错,导致无法生成SQL Server 的用户实例。该连接将关闭。将连接字符串中的“User Instance=True”修改为“User Instance=False”即可。 更改数据库文件的Everyone修改权限,在windows xp中有两个方法可以修改它: 1,在"我的电脑"窗口中点"工具",选择"文件夹"选项,选择"查看"选项,在高级设置中将使用简单文件共享复选框中的小勾勾掉。然后选定数据库文件,你就可以发现多了一个安全选项,点击它,选择everyone用户组,如果没有,你可以自行添加它。然后更改它的控制权限。 2,你也可以重新启动计算机,在进入系统时按下F8,选带网络连结的安全模式,然后你选定数据库文件,这时也有一个安全选项,你按照上面的方法也可以完成同样的功能。 注:该方法解决以下问题: 说明: 执行当前Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 尝试为文件项目名

sqlserver数据库连接失败错误及解决方法

SQL Server数据库连接失败错误及解决方法 在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。 一、客户端工具连接失败 在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些: 1、SQL Server 不存在或访问被拒绝 ConnectionOpen (Connect()) 2、用户'sa'登录失败。原因:未与信任SQL Server 连接相关联。

3、超时已过期。 下面我们依次介绍如何来解决这三个最常见的连接错误。 第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性: 1、SQL Server名称或IP地址拼写有误; 2、服务器端网络配置有误; 3、客户端网络配置有误。 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。 首先,检查网络物理连接: ping <服务器IP地址> 或者 ping <服务器名称> 如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。

金蝶SQL数据库置疑解决方法

解决由于sql2000日志文件引起的“置疑”。 日志有错误--------重新附加提示日志有错误。 日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。 步骤: 一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。 二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。 三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。 四、停止数据库服务器。 五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf 文件覆盖刚才生成的数据库数据文件test_data.mdf。 六、启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。 七、设置数据库允许直接操作系统表。此操作可以在企业管理器 (SQL Server Enterprise Manager)里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。 use master go sp_configure 'allow updates',1 go reconfigure with override go 八、设置test为紧急修复模式。 update sysdatabases set status=-32768 where dbid=DB_ID('test') 此时可以在企业管理器(SQL Server Enterprise Manager)里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表。 九、下面执行真正的恢复操作,用dbcc rebuild_log命令来重建数据库日志文件(重建路径根据你实际的数据库路径来)。

5、取数问题解决方法总结解析

取数问题解决方法 一、导出文件 问题:新中大NGPOWER 导出文件数据库接口取出的SJC导入审计系统没有会计年。 解决方法:因为会计年大部分都是在凭证表取出的。看下导出文件,z_pz01.tx_,z_pz02.tx_,z_pz03.tx_,z_pz04.tx_。。。。。。z_pz12.tx_ 这12个文本大小。如果是0KB,1KB的说明备份里面的凭证表也是没有数据。如下图:

二、SQLSERVER 1、问题:审计系统连接简装版2005还原bak,具体提示错误为如下: Microsoft OLE DB Provider for SQL Server (0x80004005)[DBNETLIB][ConnectionOpen (PreLoginHandshake()).] 一般性网络错误。请检查网络文档。 解决方法:1:打开SQL Server 2005中的配置工具SQL Server Configure Manager 2:将命名管道和TCP/IP协议启用(如下图)

3:重新启动SQL Server(MSSQLSERVER )(如下图) 2、问题:审计系统还原bak报错“媒体集有2个媒体簇,但只提供了1个,必须提供所有成员” 解决方法:由于备份数据库时,添加了多个*.bak文件,就将数据库“分段”备份到了2个数据库*.bak,而还原时,只用了其中一个*.bak文件还原,让客户备份到一个BAK文件中,在还原。

3、问题:审计系统还原bak报错“此文件不是有效的磁带格式备份集,无法进行还原操作!Sqlstate=27000 。。无法打开备份设备......出现操作系统错误5(拒绝” 解决方法如下: 4、问题:在从该备份集进行读取时,RESTORE检测到在数据库“11”中的页上存在错误 解决方法:此错误可能是还原的备份文件是高版本数据库备份出来的,也可能是备份文件损坏导致。

安装数据库时出现过错的解决方法

安装数据库出现“性能监测器计数器”错误时的解决方法 1.点击电脑桌面的“开始”—>“运行”。在打开的编辑框里键入“regedit.exe ”(适用于 Windows Server 2003\Windows Xp 系统)。在Windows 2000中输入 “regedt32.exe ”。点击 “确定”。 2.定位到注册表[ HEKY_LOCAL_MACHI8NESOFTWARE\Micrisift Windows NT\Current Version\Perflib] 单击“Perflib ” 如下图: 3.双击右边框里的“Last Counter ”,出现下面对话框: 点击“十进制”将数值数据改为 5267,点击确定。5267 应该是它的最大值,比 Perflib 目录下的子文件004的最大值大就行。然后双击“Last Help ”,用和上面同样的方法设置,将里面的数据改为5277即可。确定之后,重新安装数据库就可以了。 、管路敷设技术通过管线不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行 高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况 ,然后根据规范与规程规定,制定设备调试高中资料试卷方案。 、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

oracle数据库 ORA-01589错误的解决方法

SQL*Plus: Release 9.2.0.1.0 - Production on 星期四4月17 15:01:26 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn / as sysdba; 已连接。 SQL> shutdown immediate; ORA-01109: database未打开 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选项 SQL> alter database open resetlogs; alter database open resetlogs * ERROR 位于第1 行: ORA-01113: 文件1 需要介质恢复 ORA-01110: 数据文件1: 'D:/ORACLE/ORADATA/ORCL/SYSTEM01.DBF' SQL> recover database using backup controlfile; ORA-00279: 更改1254931418 (在06/09/2011 01:12:51 生成) 对于线程1 是必需的ORA-00289: 建议: D:/ORACLE/ORA92/RDBMS/ARC00001.001 ORA-00280: 更改1254931418 对于线程1 是按序列# 1 进行的 指定日志: {=suggested | filename | AUTO | CANCEL} d:/oracle/oradata/eygle/redo01.log ORA-00308: 无法打开存档日志'd:/oracle/oradata/eygle/redo01.log' ORA-27041: 无法打开文件 OSD-04002: Ξ?????? O/S-Error: (OS 3) ????????????????? 指定日志: {=suggested | filename | AUTO | CANCEL} d:/oracle/oradata/orcl/redo01.log ORA-00339: 归档日志未包含任何重做 ORA-00334: 归档日志: 'D:/ORACLE/ORADATA/ORCL/REDO01.LOG' SQL> recover database using backup controlfile;

数据库出错解决办法

启动错误: 01033, 00000, "ORACLE initialization or shutdown in progress" // *Cause: An attempt was made to log on while Oracle is being started up // or shutdown. // *Action: Wait a few minutes. Then retry the operation. 解决方法: 以sys登录为sysdba sqlplus /NOLOG SQL>connect sys/用户口令as sysdba SQL>shutdown normal SQL>startup mount SQL>alter database open (很有可能是这个文件被误删了) SQL>shutdown normal SQL>startup 重新再登陆 SQL>conn sys/sys as sysdba SQL>select * from v$log;

SQL>select * from v$logfile; SQL>alter database clear logfile group 1; (做一个清除动作,让oracle再重新产生一个REDO01文件,判读是否成功,再执行alter database open) SQL>alter database open (这说明REDO03.log也需要做一次clear动作,步骤跟前面一样) SQL>select * from v$log

SQL>select * from v$logfile SQL>alter database clear logfile group 3; SQL>alter database open 显示成功,问题解决。 总结:这个错误的产生主要是由于一些误删而引起的,一些系统优化工具再系统清理时会删掉一些数据库 文件 不同的误删解决方案也不相同,这里只是一种误删Log文件情况,还有DBF被误删也是这个错误,解决 方案类似。 举个例子:

数据库连接失败处理办法

数据库连接失败处理办法 “无法连接到服务器,用户xxx登陆失败” 该错误产生的原因是由于SQL Server使用了 "仅 Windows "的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示: 1.在服务器端使用企业管理器,并且选择 "使用 Windows 身份验证 "连接上SQLServer操作步骤: 在企业管理器中 --右键你的服务器实例(就是那个有绿色图标的) --编辑SQL Server注册属性 --选择 "使用windows身份验证 " --选择 "使用SQL Server身份验证 " --登录名输入:sa,密码输入sa的密码 --确定 2.设置允许SQL Server身份登录 操作步骤: 在企业管理器中 --展开 "SQL Server组 ",鼠标右键点击SQL Server服务器的名称 --选择 "属性 " --再选择 "安全性 "选项卡 --在 "身份验证 "下,选择 "SQL Server和 Windows ". --确定,并重新启动SQL Server服务. 在以上解决方法中,如果在第 1 步中使用 "使用 Windows 身份验证 "连接 SQL Server 失败, 那就通过修改注册表来解决此问题: 1.点击 "开始 "- "运行 ",输入regedit,回车进入注册表编辑器 2.依次展开注册表项,浏览到以下注册表键: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer] 3.在屏幕右方找到名称 "LoginMode ",双击编辑双字节值 4.将原值从1改为2,点击 "确定 " 5.关闭注册表编辑器 6.重新启动SQL Server服务. 此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册, 但是仍然无法使用Windows身份验证模式来连接SQL Server. 这是因为在 SQL Server 中有两个缺省的登录帐户: BUILTIN\Administrators <机器名> \Administrator 被删除. 要恢复这两个帐户,可以使用以下的方法: 1.打开企业管理器,展开服务器组,然后展开服务器 2.展开 "安全性 ",右击 "登录 ",然后单击 "新建登录 " 3.在 "名称 "框中,输入 BUILTIN\Administrators

服务器断电数据库出错修复解决办法

sqlserver附加数据库错误823的解决方案 一、SQL-Server附加数据库时失败。 1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。 2、异常分析:关于823错误的SQL-SERVER 中的帮助: ================================ 错误823 严重级别24 消息正文 在文件"%4!" 的偏移量%3! 处的%2! 过程中,检测到I/O 错误%1!。 解释 Microsoft SQL Server 在对某设备进行读或写请求时遇到I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误823 之前记录的其它核心消息应指出涉及了哪个设备。 3、解决办法: 在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句: 第一、 exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打开修改系统表的开关*/ 第二、 update sysdatabases set status=32768 where name='数据库名' /* 设置数据库状态*/ 第三、 DBCC REBUILD_LOG ('数据库名','D:\database\Test_Log.LDF') /* 重建LDF文件*/ 第四、 update sysdatabases set status=0 where name='数据库名' /* 重置数据库状态*/ 第五、 restore database 数据库名WITH RECOVERY /* 恢复数据库*/ 第六、 exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 关闭打开修改系统表的开关*/ 按照此方法操作,应该能修复数据库正常访问了。如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。 =========================================================== =

Oracle数据库协议适配器错误解决方法

Oracle协议适配器错误解决办法 作者:IT实验室出处:博客2012-01-29 15:44 在Oracle中新建了一个数据库,今天把它删了之后再登录SQL*PLUS就登不上去了,出现ORA-12560:TNS:协议适配器错误。 ORA-12560: TNS: 协议适配器错误的解决方法 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。 2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID. 3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line 下输set oracle_sid=XXXX,XXXX就是你的database SID. 经过以上步骤,就可以解决问题。 ======================================= 1、ORA-12541:TNS:没有监听器

SQLServer分布式数据库MSDTC分布式事务错误和解决方法

SQL Server 分布式数据库MSDTC 分布式事务错误和解决方法 一、问题现象 假如分布式事务的客户端和服务器端(可能N个)不在同一台服务器上,如分别为应用程序服务器和数据库服务器,经常会出现一下错误: ①在建立与服务器的连接时出错。在连接到SQL Server 2005 时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider: 命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接)。 ②事务已被隐式或显式提交,或已终止。 ③该伙伴事务管理器已经禁止了它对远程/网络事务的支持。(异常来自 HRESULT:0x8004D025)。(TransactionScope异常) ④[COMException (0x8004d00e):此事务已明地或暗地被确认或终止(异常来自HRESULT:0x8004D00E)]。(MSDTC 分布式事务错误) ⑤Import of MSDTC transaction failed: Result Code = 0x8004d023. (MSDTC安全性配置问题) 二、解决方法 遇到以上的问题或SQL Server分布式的问题,请按照以下步骤设置,问题应该可以得到解决。可能有些步骤对您来说是多余的,但求全不求漏。 1. 启动MSDTC服务。 MSDTC简介:MSDTC是Microsoft Distributed Transaction Coordinator的简称,即微软分布式事务协调器,描述:协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止次服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。 MSDTC启动方法: ①“开始”|“运行”,输入“”,或者“控制面板”|“管理工具”|“服务”,打开“服务”窗口,在名称中找到“Distributed Transaction Coordinator”,将其启动。 ②“开始”|“所有程序”|“Microsoft SQL Server”|“服务管理器”,打开“SQL Server 服务管理器”窗口,选中“Distributed Transaction Coordinator”服务,将其启动。 2. 设置MSDTC组件。 ①检查操作系统是否安装DTC组件。XP默认安装,Win2003默认不安装。安装步骤如下: a. “开始”|“控制面板”|“添加/删除程序”|“添加/删除Windows组件”,选择“应用程序服务器”,单击“详细信息”,选择“启用网络DTC访问”,单击“确定”|“下一步”|“完成”。 b. 停止并重启MSDTC服务(命令:net stop msdtc和net start msdtc)。 c. 停止参与分布式事务的任何资源管理器服务(如Microsoft SQL Server 或Microsoft Message Queue Server),然后重新予以启动。 ②“开始”|“运行”,输入“dcomcnfg”,或者“控制面板”|“管理工具”|“组件服务”,打开“组件服务”窗口,“组件服务”|“计算机”|“我的电脑”,右键“属性”|“MSDTC”,勾选“使用本地协调

数据库常见错误

常见数据库错误 1、附加数据库失败,错误5120 方法一:将要附加的文件拷贝到SQL Server默认的Data目录,即 C:\ProgramFiles\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA,此时附加就会成功。 方法二:在登陆验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”。方法三:更改MDF和LDF文件设置为完全控制。 方法四:如果一定要使用"SQL Server身份验证",请更改登录帐号的权限,使其对要附加文件有完全操作权限,将SQL Server服务的账户登录身份有Network Service改为Local Service 2、数据库附加失败,错误950 附加数据库的版本是SQL Server2005的,如果使用的是SQL Server2012,SQL Server2012对于SQL Server2008是兼容的,但是不兼容SQL Server2005。 解决办法:将SQL Server2005的数据库用SQL Server2008附加一下,重新生成脚本,这样SQL Server2012就可以附加了。

3.数据库还原错误 解决思路: 删除连在上面的进程,回滚未提交的事务,然后还原。 步骤 1.查询要还原的数据库ID Select * from master..sysdatabases where name = ''; 2.获取该数据库的进程 Select * from sys.sysprocesses a where a.dbid = ''; 3.杀掉连接在上面的进程 Kill @spid; 此时去还原一般就可以了。但是今天的问题比较麻烦一点,删完进程马上有新的进程连进来,导致一直失败。分析了下,是还有应用程序一直尝试连进来的。一开始想到的办法是暂时断掉与应用的网络,后来想到另一个更简单的办法,使用数据库的单用户模式。尝试了下,可以在单用户下还原。 设置方式:选中要还原的数据库-->属性-->选项-->限制访问 该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式 这是GUI的模式,语句的办法比较简单 USE MASTER GO ALTER DATABASE eol_tcgroup SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO 当然了,设置单用户数据库必须要超级用户

MYSQL数据库错误及解决全攻略

mysql数据库错误及解决全攻略 说明:如果遇到数据库出错的问题修改相应的代码后一般要重启mysql。如果遇到mysql的问题可以先重启一下mysql看看问题能否解决。 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1016:无法打开文件 击后开始=>所有程序=>附件=>命令提示符 输入mysql所在硬盘盘符 cd mysql所在目录 cd bin 输入myisamchk-f D:usr/local/mysql/data/bbs/PW_members.MYI ps:D:usr/local/mysql/data/bbs是你论坛数据库的路径 -f根据具体情况选择,一般也可以选择-r 注意你的系统C盘或放数据库的硬盘空间是否足够,一般小于1G很容易出现错误。 或用mysqlcheck命令进行修复。具体的方法:利用命令行进入mysql/bin目录,执行mysqlcheck-o-r phpwind-uroot-p 其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。 然后就会修复你的数据库。 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键字重复,更改记录失败 1023:关闭时发生错误 1024:读文件错误 1025:更改名字时发生错误 1026:写文件错误 1032:记录不存在 1036:数据表是只读的,不能对它进行修改 1037:系统内存不足,请重启数据库或重启服务器 1038:用于排序的内存不足,请增大排序缓冲区 1040:已到达数据库的最大连接数,请加大数据库可用连接数 1041:系统内存不足 1042:无效的主机名 1043:无效连接 1044:当前用户没有访问数据库的权限 1045:不能连接数据库,用户名或密码错误

相关主题