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. MinGW、MinGW-w64 与TDM-GCC 应该如何选择?

    MinGW.MinGW-w64 与TDM-GCC 应该如何选择? https://www.zhihu.com/question/39952667

  2. ITFriend创业阶段的服务器环境搭建手册

    创业阶段,进一步实践了Linux环境搭建和维护,下面是一些常用软件的搭建步骤和参考资料,仅供自己和诸位参考. 我个人还是比较倾向"一站式Web开发"的,自己想做点事,需要太多的技能 ...

  3. hadoop集群安装(多机,非伪集群)

    1. 创建用户 创建hadoop用户组:sudo addgroup hadoop 创建hadoop用户:sudo adduser -ingroup hadoop hadoop 为hadoop用户分配r ...

  4. poi读取excell表格

    原文链接:http://blog.csdn.net/qq_37936542/article/details/79024847 最近项目需要实现一个将excell中的数据导入数据库,在网上找到这篇文章, ...

  5. [Vue] Conditionally Render DOM Elements in Vue.js (v-if v-else v-show)

    You can use v-if and v-else to display content based on assertions on your data. Similarly, v-show c ...

  6. 断言(Assert)与异常(Exception)

    ## 断言和异常 断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置. 异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性. ## 断言的使用 在防御式编程中经常会用断 ...

  7. ArcEngine中最短路径的实现

    原文 ArcEngine中最短路径的实现 最短路径分析属于ArcGIS的网络分析范畴.而ArcGIS的网络分析分为两类,分别是基于几何网络和网络数据集的网络分析.它们都可以实现最短路径功能.下面先介绍 ...

  8. VS2013 Qt5显示中文字符

    VS2013上建立的Qt5project中显示中文字符的两种方式: 1. QStringLiteral("開始") 2. QString::fromLocal8Bit(" ...

  9. 利用performSelectorInBackground和performSelectorOnMainThread实现多线程

    NSObject类的performSelectorOnMainThread和performSelectorInBackground能够实现简单的多线程编程技术 1.- (void)performSel ...

  10. BZOJ1415 聪聪与可可 - 期望dp

    传送门 题目大意: 一张无向图上有一只猫和一只老鼠,猫先走,鼠后走.猫每次会向与其相邻的并且距离老鼠最近的点移动(若距离相等去编号较小的),如果移动一步后还没吃到老鼠,还可以再移动一步(算在一个时间内 ...