資料庫表匯出不全導致tomcat無法釋出程式
今天開發找我調錯誤,tomcat啟動後無法訪問程式,看了下資料庫正常,仔細看了下tomcat的錯誤[org.springframework.jdbc.support.SQLErrorCodesFactory]-SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
發現和資料庫表和程式對不上有關,對比開發庫和生產庫,發現使用者表數量不一致,開發庫比生產庫多近10張表。
問過倒庫的人員,表示匯出時未報錯。靈光一現,11g的deferred_segment_creation屬性,經查果然如此,重新匯出匯入後,此問題解決。
通知各個操作人員倒庫完成後
[oracle@vm51 ~]$ sqlplus 業務使用者/密碼
SQL> select count(*) from user_tables;
檢查源庫和目標庫的表數量是否一致
檢查源庫和目標庫的表數量是否一致
11G中新特性,當表無資料時,不分配segment,以節省空間
解決方法:
1、在空表中插入資料,再rollback,則產生segment。匯出時則可匯出空表。太麻煩。
2、設定deferred_segment_creation 引數
alter system set deferred_segment_creation=false;
該引數值預設是TRUE,當改為FALSE時,無論是空表還是非空表,都分配segment。
需注意的是:該值設定後對以前匯入的空表不產生作用,仍不能匯出,只能對後面新增的表產生作用。
如需匯出之前的空表,進入業務使用者,用以下這句查詢使用者下的空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
把查詢結果匯出,執行匯出的語句。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26972107/viewspace-774254/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [oracle]undo表空間出錯,導致資料庫例項無法開啟Oracle資料庫
- DB2資料庫匯出表結構與匯入、匯出表資料DB2資料庫
- UNDO表空間損壞導致資料庫無法OPEN資料庫
- 資料泵無法匯出sys使用者下的表
- listener的ORACLE_HOME配置出錯導致無法遠端登陸資料庫Oracle資料庫
- ORACLE DSG資料同步軟體程式導致資料庫無法正常關閉Oracle資料庫
- mysqldump匯入匯出表資料MySql
- 資料泵匯出匯入表
- HA異常導致oracle資料庫無法啟動Oracle資料庫
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- PROC++批次匯入匯出ORACLE資料庫表 (轉)Oracle資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 資料庫的匯入匯出資料庫
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- Oracle11g新特性導致空表不能匯出Oracle
- MySQL表資料匯入與匯出MySql
- Progress資料表的匯入匯出
- Oracle資料庫——資料匯出時出現匯出成功終止, 但出現警告。Oracle資料庫
- 安裝mongodb,建立資料庫、使用者、建立表、匯出匯入資料庫MongoDB資料庫
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- 誤修改ORACLE_HOME導致無法登陸資料庫Oracle資料庫
- 歸檔問題導致的資料庫無法啟動資料庫
- 修改SQLNET.ORA導致資料庫無法啟動SQL資料庫
- 達夢資料庫遷移資料/複製表/匯入匯出2資料庫
- Mysql匯出表結構、表資料MySql
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysqldump匯入匯出mysql資料庫MySql資料庫
- oracle資料庫匯入匯出命令!Oracle資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- db_file_name_convert設定出錯導致備庫無法recovery
- PHP匯出資料庫方法PHP資料庫
- ClickHouse 資料表匯出和匯入(qbit)
- 匯入匯出 Oracle 分割槽表資料Oracle
- Oracle使用資料泵匯出匯入表Oracle
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- expdp匯出表的部分資料
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫