aix 共享内存段问题
关于aix操作系统上 共享内存(shared memory)单个段的最大值到底受什么影响,我从网上搜集了大量的信息但是没有一个做明确说明的。根据我的经验 m85 --aix 4.3.3单段最大值是2G,今天在新的p570上测试,刚开始发现,将我们应用程序的配置参数调整到2G以上,shmget就会报错。 向我们公司平台工程师咨询,看看是不是有哪个参数需要修改,得到的答复:AIX中没什么参数需要修改,最新的操作系统5.3支持超过2G,5.1,5.2没有查过能不能超过2G。测试:增加#include <errno.h> shmid=shmget(p_key,length,IPC_CREAT|IPC_EXCL|0644);
x$ksppi
通过x$ksppi 可以查看oracle系统参数的解释SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%pga%';KSPPINM--------------------------------------------------------------------------------KSPPDESC--------------------------------------------------------------------------------_pga_large_extent_sizePGA large extent size_use_ism_for_pgaUse ISM for allocating large extents_kdli_sio_pgause PGA allocations for direct IOKSPPINM-----------------------------------------------------------------
Segmentation fault (coredump)的解决
这是搜到的一个关于segmentation fault 的网页:http://oss.lzu.edu.cn/blog/article.php?tid_700.html有概念的解释,可能出现segmentation fault的一些情况的举例,对于查找segmentation fault还是具有提示作用的,在这里记录一下。所谓的段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程
我在中国有去过那些地区
create your own China map[@more@]
收缩表空间
1.首先导出表空间C:Documents and Settingsgyj>exp userid='/ as sysdba' tablespaces =users file=gao.dmp;2.接着drop tablespace,但是发现不能drop默认表空间,Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYSSQL> drop tablespace users including contents;drop tablespace users including contentsORA-12919: 不能删除默认永久表空间SQL> alter tablespace users offline;Tablespace alteredSQL> alter database datafile 'D:ORACLEPRODUCT10.2.0ORADATAWANGDBUSERS01.DBF' r
SQL*Net more data from client
步骤:1.select sid,event,p1,p1text from v$session_wait where event like 'SQL*Net more data from client%';找到sid;2.通过以下sql找到具体的sql脚本SELECT sql_text FROM v$sqltext a WHERE a.hash_value = (SELECT sql_hash_value FROM v$session b WHERE b.SID = '&sid') ORDER BY piece ASC3.分析你找到的sql,看看是不是做了全表扫描;set autotrace trace explainselect count(*) from all_objects;[@more@]
oracle 9i 闪回
今天一个同事错误删除了一些记录,已经有15分钟了,我们只能尝试着使用9i的闪回功能,看看能否将记录"拿回来":首先将删除的记录存放在一个临时表中create table tm_gaogao as select * from tf_r_simcard as of timestamp(systimestamp - interval'1200' second);然后挑出错误删除的记录,插回原表insert into tf_r_simcard select * from tm_gaogao where simcardid like '5555%' ;搞定。以下是oracle文档中其他闪回sql:INSERT INTO employee (SELECT * FROM employee AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '
ORA-00984 错误
今天在调试一个入库程序是将使用数组里的值,直接拼出sql,但是放在sqlplus 里执行时报ORA-00984: column not allowed here看了看values里的值,好像没有什么问题再仔细看发现大部分字段值都是数字,唯独有一个字段是 S001,这个字段是char(8)不会是这的问题吧,给它加了一个单引号 'S001'。再次执行好了。原来是没有办法转换了这里我还在考虑一个问题:oracle 数据库里的数据到底是以什么样的格式存储的? oerr ora 98400984, 00000, "column not allowed here"// *Cause:// *Action:[@more@]
对rose 的理解
我们经常使用rose 但是对于rose的系统学习还没有过今天从网上下载了rose的学习资料来看下面写一点自己的粗略认识:(1)rose是一种案例建模工具软件,主要是为了方便信息系统面向对象的设计需要;(2)使用用例模型,进行业务和系统;(3)能够表示不同层面的对象之间的相互关系;(4)方便开发人员将模型转化为具体的代码,有力于开发人员理解对象之间的交互;(5)rose有八种图:用例图,类图,序列图,协作图,活动图,状态图,实现图(组件)图,部署图(6)可以实现双向工程:包括正向工程从模型到代码,和反向工程从代码到模型; (未完待续)[@mo
crontab的执行问题
今天同事问了一问题:他的crontab 为什么不能执行?以前我们也碰到过这样的问题,一般都会在crontab的命令域里加上cd 目录(可执行文件所在的目录)./profile等等具体为什么也没有去弄清楚,反正一般经过这样几次试,都能搞定今天向把这个问题弄清楚,就翻了翻资料现在大致的理解是这样的:crontab是一个系统守候作业进程,也就是说他是由root负责定时调用,去执行这些定时命令的所以说他是没有办法得到其他用户的环境变量的因此我们必须将这个用户的环境变量给它,然后他才能正确执行,我现在的理解也就只有这么多了。[@more@]
信号量复习(2)
(转自:http://fanqiang.chinaunix.net/a4/b8/20010419/151509.html)共享内存 (shared memory)是 Unix下的多进程之间的通信方法 ,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。本文介绍如何在 Client/Server方式下实现多个程序间共享内存。 问题分析 多个程序之间共享内存 ,首先要解决的问题是怎样让各个程序能够访问同一块内存和相同的信号量。共享内存的 id可以通过调用 shmget(key_t key, size_t size, int shmflg)函数取得;信号量的 id可以通过调用 semget(key_t k
ora-12154和ora-12560
ora-12154和ora-12560 经常前后出现,我们经常在oracle8i中见到,这个一般是oracle的tnsnames.ora里的配置有问题,当然也不排除系统的问题,在oracle 8.1.7中,最好使用“服务名配置向导”来配置服务名,手工编写的经常有问题。$ oerr ora 1215412154, 00000, "TNS:could not resolve service name"// *Cause: The service name specified is not defined correctly in the// TNSNAMES.ORA file.// *Action: Make the following checks and correct the error:// - Verify that a TNSNAMES.ORA file exists and is
ora-02085问题解决
今天一个同事在create public database link 后,使用db_link 时总是提示ora-02085 的错误。登陆主机,使用oerr查看这个错误 $ oerr ora 208502085, 00000, "database link %s connects to %s"// *Cause: a database link connected to a database with a different name.// The connection is rejected.// *Action: create a database link with the same name as the database it// connects to, or set global_names=false.//可以判断是global_name=true的问题C:sqlplus /nologSQL> conn sys/25060413@wangdb as sysdba已
10g 增加了v$sqlstats 这个动态视图
oracle 9i中有一个v$sysstat的视图,可以使用这个视图查看系统总的各项统计值,10g增加了v$sqlstats 这个动态视图,可以统计每条sql的资源使用情况.[@more@]
windows xp home 安装oracle 问题
今天在自己的电脑上安装了oracle 10g ,安装时一切正常,但是到服务里一看没有任何oracle的服务,好是郁闷.在"运行"里 cmd,C:Documents and Settings高高>lsnrctlLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-3月 -2007 23:28:09Copyright (c) 1991, 2005, Oracle. All rights reserved.欢迎来到LSNRCTL, 请键入"help"以获得信息。LSNRCTL> start启动tnslsnr: 请稍候...Failed to open service <OracleOraDb10g_home1TNSListener>, error 1060.TNSLSNR for 32-bit Windows: Version