免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3464 | 回复: 9
打印 上一主题 下一主题

求个关于导资料库的问题。。。在线等 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-17 18:42 |只看该作者 |倒序浏览
5可用积分
想用load出来的数据对库的某个表进行资料导入,表有60多万行。
在导入的时候报错 说锁不够,看了下onconfig 文件 锁设定的是 LOCKS 1000000

然后在select count(*)的时候发现只导入了499999 数据

然后我查看了表的锁是row.后来改成了page就不存在这个问题了。。。可以将数据全部导入
我想问问这个row锁与page锁 到底有什么不一样啊?
还有就是为什么我导入的数据只有499999 没有超过500000,难道这个500000是1000000/2得到的 ????
希望哪位朋友指点下!

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2008-11-17 18:59 |只看该作者
没回滚?~?

论坛徽章:
0
3 [报告]
发表于 2008-11-17 19:13 |只看该作者
谢谢楼上的大侠
什么回滚?很奇怪的是我导入50万一下的表的时候用row锁都可以导入。。只要超过50万就不行

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
4 [报告]
发表于 2008-11-18 00:34 |只看该作者

回复 #3 hakajawa 的帖子

你的数据库是什么版本的?~?

论坛徽章:
0
5 [报告]
发表于 2008-11-18 00:49 |只看该作者
Informix还有这种限制, 晕, 呵呵.

论坛徽章:
0
6 [报告]
发表于 2008-11-18 08:46 |只看该作者
假设你的表名称为table_name,按照如下操作,只占用几个锁,不会出现锁不够用的情况:
begin work;
lock table table_name in exclusive mode;
load from table.txt insert into table_name;
commit work;

论坛徽章:
0
7 [报告]
发表于 2008-11-18 19:02 |只看该作者
原帖由 liaosnet 于 2008-11-18 00:34 发表
你的数据库是什么版本的?~?

9.4的。。。

今天还有更奇怪的是我想扩大locks数量。。。设定为200万没问题。。但三百万就报错初始化内存失败。。。我看了online.log里面显示基址被占用(设定200万的时候不存在)
我看了我分配的内存。。
机器是8G内存
# Shared Memory Parameters
LOCKS           2000000         # Maximum number of locks
BUFFERS         1024000          # Maximum number of shared buffers
NUMAIOVPS       5               # Number of IO vps
PHYSBUFF        64              # Physical log buffer size (Kbytes)
LOGBUFF         196             # Logical log buffer size (Kbytes)
LOGSMAX         120             # Maximum number of logical log files
CLEANERS        8               # Number of buffer cleaner processes
SHMBASE         0x44000000L     # Shared memory base address
SHMVIRTSIZE     1024000        # initial virtual shared memory segment size
SHMADD          128000         # Size of new shared memory segments (Kbytes)
SHMTOTAL        0               # Total shared memory (Kbytes). 0=>;unlimited
CKPTINTVL       300             # Check point interval (in sec)
LRUS            8               # Number of LRU queues
LRU_MAX_DIRTY   70              # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY   60              # LRU percent dirty end cleaning limit
LTXHWM          50              # Long transaction high water mark percentage
LTXEHWM         60              # Long transaction high water mark (exclusive)
TXTIMEOUT       0x12c             # Transaction timeout (in sec)
STACKSIZE       32              # Stack size (Kbytes)

[ 本帖最后由 hakajawa 于 2008-11-18 19:10 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-11-18 19:04 |只看该作者
原帖由 xxyyy 于 2008-11-18 08:46 发表
假设你的表名称为table_name,按照如下操作,只占用几个锁,不会出现锁不够用的情况:
begin work;
lock table table_name in exclusive mode;
load from table.txt insert into table_name;
commit work;



谢谢这个兄台。。。这个方法肯定行。。因为我把表的lock mode改为page都可以。。

论坛徽章:
0
9 [报告]
发表于 2008-11-21 16:38 |只看该作者
如果使用行级锁,每插入一条就占用至少一把锁,如果你使用页级锁,只是在插入的页面上加至少1把锁,最多2把锁;这就是你使用页级锁可以成功的原因。

三百万就报错初始化内存失败,可能的原因是你需要增加操作系统的shmmax参数(在sun/hp/sco上,aix是动态内核),和informix没有关系的;

论坛徽章:
0
10 [报告]
发表于 2008-11-27 11:42 |只看该作者
又学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP