arcsde10 postgresql8.3 服務中止問題

---恢復內容開始---sql

arcsde10 安裝在windows server2008 R2 X64 上。數據庫

從.gdb文件數據庫 拷貝40W多的數據到ArcSDE ,而後postgresql就中止了,arcsde服務還沒中止。真是夠嗆的。windows

究竟是爲何啊?我先看看postgresql的日誌吧:安全

pg的日誌文件位於:C:\Program Files (x86)\PostgreSQL\8.3\data\pg_logsession

打開裏如今最近的那個:這個是剛剛開啓服務的post

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錯誤,就不要緊。this

看看出現FATAL錯誤的這個日誌:spa

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中,有一行:debug

#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)\PostgreSQL\8.3\data\pg_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

相關文章
相關標籤/搜索