视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
eXtremeDB--thesharedmemory80error
2020-11-09 14:19:58 责编:小采
文档


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

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:

.lock” for sync. primitives,

“eXtremeDB.” 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.

下载本文
显示全文
专题