The customers got the shared memory 80error on AIX environment; utility truss is used to track the debug info,eXtremeDB.registry access error is found.  Release notesdescribed as follows: These names are constructed using the memory segment'snames and the
database name.  eXtremeDB creates these name-files in the user'shome directory with the following naming scheme.

kwrite(1," S o c k e t   d o m a i"..,43)     = 43

Node 20.0.7.5, rank 21234

kwrite(1, "         N o d e   2 0 .".., 30)     = 30

Node 20.0.7.6, rank 21234

kwrite(1, "         N o d e   2 0 .".., 30)     = 30

Node 20.0.8.5, rank 21234

kwrite(1, "         N o d e   2 0 .".., 30)     = 30

Node 20.0.8.6, rank 21234

kwrite(1, "         N o d e   2 0 .".., 30)     = 30

kopen("/app/eXtremeDB_registry",O_WRONLY|O_CREAT|O_TRUNC, ) Err#13 EACCES

statx("/app/eXtremeDB_registry",0x0FFFFFFFFFFFECA0, 176, 010) Err#2 ENOENT

kopen("/app/eXtremeDB_registry",O_WRONLY|O_CREAT|O_TRUNC, ) Err#13 EACCES

statx("/app/eXtremeDB_registry",0x0FFFFFFFFFFFECB0, 176, 010) Err#2 ENOENT

kopen("/usr/share/lib/zoneinfo//Asia/Shanghai",O_RDONLY) = 3

kread(3, " T Z i f2\0\0\0\0\0\0\0".., 41448)   = 405

close(3)                                        = 0

__libc_sbrk(0x0000000000010020)                 = 0x000000011002EFE0

kopen("/usr/share/lib/zoneinfo//posixrules",O_RDONLY) Err#2  ENOENT

kopen("/app/eXtremeDB_registry",O_WRONLY|O_CREAT|O_TRUNC, ) Err#13 EACCES

statx("/app/eXtremeDB_registry",0x0FFFFFFFFFFFEBF0, 176, 010) Err#2 ENOENT

kopen("/app/eXtremeDB_registry",O_WRONLY|O_CREAT|O_TRUNC, ) Err#13 EACCES

statx("/app/eXtremeDB_registry",0x0FFFFFFFFFFFEC00, 176, 010) Err#2 ENOENT

_nsleep(0x0FFFFFFFFFFFEEE0,0x0FFFFFFFFFFFEFB0) = 0

connecting rc=80        createbefore rc=80Database and memory alloc in 1 msecs

kwrite(1, "\t   c o n n e c t i n g".., 76)     = 76

kwrite(1, "\n", 1)                              = 1

Error connecting database :

Return Code kwrite(1, "\t E r r o r   c o n n e".., 43) = 43

80: MCO_E_SHM_ERROR - Failed tocreate/attach to shared memory

kwrite(1, " 8 0 :   M C O _ E _ S H".., 63)     = 63

kopen("/app/eXtremeDB_registry",O_WRONLY|O_CREAT|O_TRUNC, ) Err#13 EACCES

statx("/app/eXtremeDB_registry",0x0FFFFFFFFFFFECA0, 176, 010) Err#2 ENOENT

kopen("/app/eXtremeDB_registry",O_WRONLY|O_CREAT|O_TRUNC, ) Err#13 EACCES

statx("/app/eXtremeDB_registry",0x0FFFFFFFFFFFECB0, 176, 010) Err#2 ENOENT

kfcntl(1, F_GETFL, 0x00000000150B0293)          = 67110914

kfcntl(2, F_GETFL, 0x00000000150B0293)          = 67110914

_exit(1)

$

Question: How could we change customize the paththrough eXtremeDB to the currende eXtremeDB directory.

Answer:

On linux (and most other Unix-es) when using a shared memory database, eXtremeDB uses SysV synchronization primitives and the shared memory API.  Both of these APIs require the names of existing files to identify the sync. primitives and
memory segments.  These names are constructed using the memory segment's names and the database name.  eXtremeDB creates these name-files in the user's home directory with the following naming scheme:

“<dbname>.lock” for sync. primitives,

“eXtremeDB.<dbname>” for memory segments,

“eXtremeDB_registry” for the registry.

Normally eXtremeDB will remove all these files when the database is closed, but if the program fails it has no chance to do so.  In this case the developer must provide some other means to clear the lock files form this directory.

It is possible to change the lock files location by exporting the "EXTREMEDB_DIR" environment variable to setup the path instead of the home directory by entering a command line like one of the following to run a program called “sample”:

“export EXTREMEDB_DIR=c:/tmp ./sample”

to keep the directory path setting only for the duration of the program execution, or

“export EXTREMEDB_DIR=c:/tmp”

“./sample”

to keep the directory path setting active until the next “export” command.

版权声明:本文博客原创文章,博客,未经同意,不得转载。

eXtremeDB -- the shared memory 80error的更多相关文章

  1. C++: Virtual Table and Shared Memory

    See at: 补充栏3: C++对象和共享内存 (叙述内容和Link1的内容基本一致) <C++网络编程 卷1:运用ACE和模式消除复杂性> <C++ Network Progra ...

  2. ORA-27101: shared memory realm does not exist

    Oracle Error Tips by Burleson Consulting Oracle docs note this about ORA-27101: ORA-27101: shared me ...

  3. shared memory realm does not exist

    有天启动ORACLE,碰到如下问题 提示ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 解决 ...

  4. Oracle重启 error: ora-01034:oracle not available ora-27101:shared memory realm does not exist

    error: ora-01034:oracle not available ora-27101:shared memory realm does not exist 苦咖啡 他的博客中一篇文章完美的解 ...

  5. zabbix登陆问题:cannot allocate shared memory for collector

    问题说明:在一台zabbix被监控服务器上(64位centos6.8系统,64G内容)启动zabbix_agent,发现进程无法启动,10050端口没有起来! 启动zabbix_agent进程没有报错 ...

  6. ORA-27101:shared memory realm does not exist的问题

    ORA-27101:shared memory realm does not exist的问题 登陆SQLPlus时出现: ORA-01034:ORACLE not avaiable ORA-2710 ...

  7. IPC:shared memory

    #include <stdio.h> #include <sys/shm.h> #include <sys/stat.h> int main () { int se ...

  8. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6666491 在前面一篇文章Android系统匿 ...

  9. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6664554 在上一文章Android系统匿名共 ...

随机推荐

  1. UE4制作插件的插件神器pluginCreator

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/45644007 作者:car ...

  2. OpenStack 之 Nova Compute 的代码结构图

    nova-compute 的代码结构图 如上图所看到的, 类图中最重要的三个Category Manager: 核心的业务类.提供实际的业务操作.比如启动虚拟机等等. Service: 每一个serv ...

  3. 基于 Android NDK 的学习之旅-----数据传输(引用数据类型)

    接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1.  String 字符串传输 a)         上层定义一个native的方法,需要一个 ...

  4. net的微服务架构

    net的微服务架构 眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两 ...

  5. iOS开发系列之三 - UITextField 使用方法小结

    // 初始化输入框并设置位置和大小 UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 100, 30 ...

  6. AJAX代码格式

    var request; //XMLHttpRequest的创建 function createRequest(url){ if(window.XMLHttpRequest){ request = n ...

  7. JQuery:cookie插件

    JQuery居然没有操作cookie相关的函数,搜了下官方有个cookie的插件. 简单使用方法: <head> <title>JQuery-Cookie插件</titl ...

  8. 浅谈CAS(Compare and Swap) 原理

    浅谈CAS原理java并发编程也研究了一段时间了,对CAS的原理总是不太理解,今天再研究了一下,记录一些自己的理解.    说到CAS,再java中的某些情况下,甚至jdk1.5以后的大多数情况,并发 ...

  9. Leetcode--easy系列1

    近期開始刷Leetcode题目.花了一个星期先完毕了easy难度级别的题目,easy级别的题目思路比較简单,但不一定就直接AC了,主要是问题要考虑全然.特别是对特殊情况的处理. #6 ZigZag C ...

  10. 微信小程序来了 要杀死一切App

    从昨晚一些自媒体开始陆续爆料,到微信官方宣布,这一次只隔了短短几小时.就在刚刚,今天早晨,微信官方正式宣布“应用号”开始内测,并暂定名为“小程序”. 应用号变成小程序 腾讯高级副总裁张小龙也在其朋友圈 ...