arcsde10 postgresql8.3 服务停止问题

---恢复内容开始---

arcsde10 安装在windows server2008 R2 X64 上。

从.gdb文件数据库 拷贝40W多的数据到ArcSDE ,然后postgresql就停止了,arcsde服务还没停止。真是够呛的。

到底是为什么啊?我先看看postgresql的日志吧:

pg的日志文件位于:C:Program Files (x86)PostgreSQL8.3datapg_log

打开里现在最近的那个:这个是刚刚开启服务的

2013-08-05 17:33:45 HKT LOG:  database system was interrupted; last known up at 2013-08-05 17:27:08 HKT
2013-08-05 17:33:45 HKT LOG:  database system was not properly shut down; automatic recovery in progress
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT LOG:  redo starts at 2/3D3C9FB8
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  record with zero length at 2/3DFBDFA0
2013-08-05 17:33:45 HKT LOG:  redo done at 2/3DFBDF70
2013-08-05 17:33:45 HKT LOG:  last completed transaction was at log time 2013-08-05 17:31:09.121+08
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  database system is ready to accept connections
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  autovacuum launcher started
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT ERROR:  SAVEPOINT can only be used in transaction blocks
2013-08-05 17:33:46 HKT STATEMENT:  SAVEPOINT sp_sde_1375695226_0_183466
2013-08-05 17:33:46 HKT NOTICE:  there is no transaction in progress
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT ERROR:  SAVEPOINT can only be used in transaction blocks
2013-08-05 17:33:46 HKT STATEMENT:  SAVEPOINT sp_sde_1375695226_0_183469
2013-08-05 17:33:46 HKT NOTICE:  there is no transaction in progress
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:47 HKT ERROR:  relation "sde.sch_dataset" does not exist
2013-08-05 17:33:47 HKT STATEMENT:  SELECT 1 FROM sde.sde.SCH_DATASET WHERE 1 = 0
2013-08-05 17:34:01 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:36:29 HKT ERROR:  relation "sde.sch_dataset" does not exist
2013-08-05 17:36:29 HKT STATEMENT:  SELECT 1 FROM sde.sde.SCH_DATASET WHERE 1 = 0

刚开启服务,里面就有 ERROR的错误,这不是FATAL错误,就没关系。

看看出现FATAL错误的这个日志:

2013-08-05 17:30:04 HKT ERROR:  relation "sde.sde_logfiles" does not exist
2013-08-05 17:30:04 HKT STATEMENT:  SELECT logfile_name, logfile_id, logfile_data_id,             registration_id, flags, session_tag, column_name, logfile_data_db, logfile_data_owner, logfile_data_table FROM sde.sde.sde_logfiles WHERE flags%2 = 0
2013-08-05 17:30:13 HKT ERROR:  relation "sde.pnamehenan_none" does not exist
2013-08-05 17:30:13 HKT STATEMENT:  select  sde.sde.pnamehenan_none.*  from  sde.sde.PNamehenan_none 
2013-08-05 17:30:13 HKT ERROR:  index "r178_sde_rowid_uk" does not exist
2013-08-05 17:30:13 HKT STATEMENT:  drop index sde.r178_sde_rowid_uk
2013-08-05 17:30:13 HKT ERROR:  function sde.sde.i178_get_ids(integer, integer) does not exist at character 8
2013-08-05 17:30:13 HKT HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
2013-08-05 17:30:13 HKT STATEMENT:  SELECT sde.sde.i178_get_ids ($1,$2)
2013-08-05 17:30:13 HKT NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "i178_pk" for table "i178"
2013-08-05 17:30:13 HKT ERROR:  column "shape" does not exist at character 52
2013-08-05 17:30:13 HKT STATEMENT:  SELECT COUNT(*) FROM sde.sde.pnamehenan_none WHERE Shape IS NOT NULL
2013-08-05 17:31:09 HKT LOG:  server process (PID 5688) was terminated by exception 0xC0000005
2013-08-05 17:31:09 HKT HINT:  See C include file "ntstatus.h" for a description of the hexadecimal value.
2013-08-05 17:31:09 HKT LOG:  terminating any other active server processes
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:31:09 HKT FATAL:  the database system is in recovery mode
2013-08-05 17:31:09 HKT LOG:  all server processes terminated; reinitializing
2013-08-05 17:31:19 HKT FATAL:  pre-existing shared memory block is still in use
2013-08-05 17:31:19 HKT HINT:  Check if there are any old server processes still running, and terminate them.

在ntstatus.h中,有一行:

#define STATUS_ACCESS_VIOLATION          ((NTSTATUS)0xC0000005L)    // winnt

就是这个错误了。尼玛,查了一下 这就是段错误(segmentation fault)啊。PostGreSQL居然段错误停止了。。不过我安装的arcsde10 for windows自带的pg,8.3不是最新版本的PostGreSQL。可能新版本解决了bug呢。8.x最新的是8.4 我试试?应该可以安全升级才是的。9.x的估计与8.x的相差很大。

---恢复内容结束---

arcsde10 安装在windows server2008 R2 X64 上。

从.gdb文件数据库 拷贝40W多的数据到ArcSDE ,然后postgresql就停止了,arcsde服务还没停止。真是够呛的。

到底是为什么啊?我先看看postgresql的日志吧:

pg的日志文件位于:C:Program Files (x86)PostgreSQL8.3datapg_log

打开里现在最近的那个:这个是刚刚开启服务的

2013-08-05 17:33:45 HKT LOG:  database system was interrupted; last known up at 2013-08-05 17:27:08 HKT
2013-08-05 17:33:45 HKT LOG:  database system was not properly shut down; automatic recovery in progress
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT LOG:  redo starts at 2/3D3C9FB8
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:45 HKT LOG:  record with zero length at 2/3DFBDFA0
2013-08-05 17:33:45 HKT LOG:  redo done at 2/3DFBDF70
2013-08-05 17:33:45 HKT LOG:  last completed transaction was at log time 2013-08-05 17:31:09.121+08
2013-08-05 17:33:45 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:45 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  database system is ready to accept connections
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT FATAL:  the database system is starting up
2013-08-05 17:33:46 HKT LOG:  autovacuum launcher started
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT ERROR:  SAVEPOINT can only be used in transaction blocks
2013-08-05 17:33:46 HKT STATEMENT:  SAVEPOINT sp_sde_1375695226_0_183466
2013-08-05 17:33:46 HKT NOTICE:  there is no transaction in progress
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:46 HKT ERROR:  SAVEPOINT can only be used in transaction blocks
2013-08-05 17:33:46 HKT STATEMENT:  SAVEPOINT sp_sde_1375695226_0_183469
2013-08-05 17:33:46 HKT NOTICE:  there is no transaction in progress
2013-08-05 17:33:46 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:33:47 HKT ERROR:  relation "sde.sch_dataset" does not exist
2013-08-05 17:33:47 HKT STATEMENT:  SELECT 1 FROM sde.sde.SCH_DATASET WHERE 1 = 0
2013-08-05 17:34:01 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:36:29 HKT ERROR:  relation "sde.sch_dataset" does not exist
2013-08-05 17:36:29 HKT STATEMENT:  SELECT 1 FROM sde.sde.SCH_DATASET WHERE 1 = 0

刚开启服务,里面就有 ERROR的错误,这不是FATAL错误,就没关系。

看看出现FATAL错误的这个日志:

2013-08-05 17:30:04 HKT ERROR:  relation "sde.sde_logfiles" does not exist
2013-08-05 17:30:04 HKT STATEMENT:  SELECT logfile_name, logfile_id, logfile_data_id,             registration_id, flags, session_tag, column_name, logfile_data_db, logfile_data_owner, logfile_data_table FROM sde.sde.sde_logfiles WHERE flags%2 = 0
2013-08-05 17:30:13 HKT ERROR:  relation "sde.pnamehenan_none" does not exist
2013-08-05 17:30:13 HKT STATEMENT:  select  sde.sde.pnamehenan_none.*  from  sde.sde.PNamehenan_none 
2013-08-05 17:30:13 HKT ERROR:  index "r178_sde_rowid_uk" does not exist
2013-08-05 17:30:13 HKT STATEMENT:  drop index sde.r178_sde_rowid_uk
2013-08-05 17:30:13 HKT ERROR:  function sde.sde.i178_get_ids(integer, integer) does not exist at character 8
2013-08-05 17:30:13 HKT HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
2013-08-05 17:30:13 HKT STATEMENT:  SELECT sde.sde.i178_get_ids ($1,$2)
2013-08-05 17:30:13 HKT NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "i178_pk" for table "i178"
2013-08-05 17:30:13 HKT ERROR:  column "shape" does not exist at character 52
2013-08-05 17:30:13 HKT STATEMENT:  SELECT COUNT(*) FROM sde.sde.pnamehenan_none WHERE Shape IS NOT NULL
2013-08-05 17:31:09 HKT LOG:  server process (PID 5688) was terminated by exception 0xC0000005
2013-08-05 17:31:09 HKT HINT:  See C include file "ntstatus.h" for a description of the hexadecimal value.
2013-08-05 17:31:09 HKT LOG:  terminating any other active server processes
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT WARNING:  terminating connection because of crash of another server process
2013-08-05 17:31:09 HKT DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2013-08-05 17:31:09 HKT HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2013-08-05 17:31:09 HKT LOG:  loaded library "$libdir/plugins/plugin_debugger.dll"
2013-08-05 17:31:09 HKT FATAL:  the database system is in recovery mode
2013-08-05 17:31:09 HKT LOG:  all server processes terminated; reinitializing
2013-08-05 17:31:19 HKT FATAL:  pre-existing shared memory block is still in use
2013-08-05 17:31:19 HKT HINT:  Check if there are any old server processes still running, and terminate them.

在ntstatus.h中,有一行:

#define STATUS_ACCESS_VIOLATION          ((NTSTATUS)0xC0000005L)    // winnt

就是这个错误了。尼玛,查了一下 这就是段错误(segmentation fault)啊。PostGreSQL居然段错误停止了。。不过我安装的arcsde10 for windows自带的pg,8.3不是最新版本的PostGreSQL。可能新版本解决了bug呢。8.x最新的是8.4 我试试?应该可以安全升级才是的。9.x的估计与8.x的相差很大。

 ------------------------------------------------------

安装好了 ArcSDE SP1 补丁后,这个问题算是解决了,顺便把 SP2-SP5 都安装了。要顺序安装,SP5 不包括SP1 的内容的。

SP补丁下载地址:

http://support.esrichina.com.cn/support/download/ServicePack/

http://support.esri.com/en/downloads/patches-servicepacks/list/productid/66

其中ArcSDE SP1-5 所有补丁 解决的问题列表有:

http://gisupdates.esri.com/10sp5/ArcSDE/ArcSDE10sp5-issues.htm

原文地址:https://www.cnblogs.com/ayanmw/p/3238710.html