网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.关于部署安全Oracle要造结实的门.
.如何加密Oracle中的存储过程,从而.
.ORACLE之常用FAQ V1.0二(构架体系.
.oracle触发器介绍.
.Oracle 9i修改数据库的工作模式.
.Oracle诊断案例1 -SGA与Swap.
.RMAN自动备份的脚本(windows环境).
.SQL Server到Oracle连接服务器的.
.Oracle常见错误代码的分析与解决.
.如何查看Oracle数据表的建表语句.
.如何在你的Linux机器安装Oracle.
.Oracle9i初始化参数中文说明3.
.Oracle 8i中字符集乱码问题.
.如何选购Linux可以搭配的机器之B.
.我的oracle笔记四(DBA管理).
.Installing Oracle 10g on SuSE .
.快速掌握Oracle数据库游标的使用.
.Redhat中sendmail只监听127.0.0..
.ORACLE9I中建立自增字段的方法.
.用sqlplus只输出数据到文本文件的.

MSSQL通过link导数据至oracle出错:Server: Msg 7399, Level 16, State 1, Line 1

发表日期:2008-2-9



  
原贴地址:http://community.csdn.net/EXPert/topic/3798/3798231.XML?temp=.9782984

在SQLServer中建了一个Link(name=XXLink)把相应数据导入倒Oracle数据库中,具体INSERT语句如下:
INSERT INTO openquery(XXLink,'SELECT col1,col2,col3 FROM TableInOracle')
SELECT col1,col2,col3 FROM TableInSQLServer
WHERE .......

以前一直可以的正常执行的,从近来某一天开始,就不能搞定,报如下错误
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' reported an error. The provider ran out of memory.
[OLE/DB provider returned message: Out of memory.]
OLE DB error trace [OLE/DB Provider 'MSDAORA' IRowsetChange::InsertRow returned 0x8007000e:  The provider ran out of memory.].

开始就重启SQLServer或重启服务器之后都有可能保证正常执行,但是无法根本解决

处理办法:添加启动参数 -g  (例如使用-g384)
联机帮助对-g参数的解释:
以兆字节为单位指定虚拟地址空间大小,SQL Server 将为 SQL Server 进程内的内存分配保留这一部分地址空间,但将其置于 SQL Server 内存池之外。这一区域由 SQL Server 用来装载诸如扩展过程 .dll 文件、分布式查询所引用的 OLE DB 提供程序、Transact-SQL 语句中所引用的自动化对象等项目。默认值是 256 MB。

使用该选项有助于调节内存分配,但仅当 SQL Server 2000 个人版或 SQL Server 2000 标准版的物理内存大于 2 GB 或 SQL Server 2000 企业版的物理内存大于 3 GB 时才适用。对于物理内存少于上述值的配置,即使使用该选项也不会有什么帮助。假如 SQL Server 的内存使用要求反常,并且 SQL Server 进程的虚拟地址空间全都在使用,那么在这样的大内存配置中适合使用该选项。不正确地使用该选项可能导致 SQL Server 实例无法启动或碰到运行时错误。

除非在 SQL Server 错误日志中看到下面的警告信息,否则应使用 –g 参数的默认值:

警告:Clearing procedure cache to free contiguous memory

此信息表明 SQL Server 正试图释放 SQL Server 内存池的部分空间,以便为扩展存储过程 .dll 文件或自动化对象等项目寻找空间。在这种情况下,可以考虑增加由 -g 开关保留的内存量。使用低于默认值的值可以增加缓冲池和线程栈中的可用内存量;在不使用很多扩展存储过程、分布式查询或自动化对象的系统中,这种方法可为需要大量内存的工作负荷带来性能方面的好处。
上一篇:Oracle新手最常碰到的6个错误及解决方案 人气:571
下一篇:在SQLServer2000中用链接数据库方式向Oracle8.17写记录的Trigger 人气:657
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐