【手工建庫】確保資料庫處於自動 UNDO管理模式
這是一個關乎細節的問題,有朋友在手工完成資料庫建立的過程中反覆收到報錯資訊,在沒有仔細研究報錯資訊內容的情況下浪費了大量的時間。
記錄在此,供參考。
1.報錯資訊如下
SQL> CREATE DATABASE secdb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/secdb/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/secdb/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/secdb/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/secdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 DATAFILE '/u01/app/oracle/oradata/secdb/tbs_1.dbf' SIZE 50M
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/secdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/secdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 CREATE DATABASE secdb
*
ERROR at line 1:
ORA-30014: operation only supported in Automatic Undo Management mode
2.問題原因
使用oerr工具探尋關於ORA-30014錯誤的描述資訊
[oracle@secdb1 ~]$ oerr ora 30014
30014, 00000, "operation only supported in Automatic Undo Management mode"
// *Cause: the operation is only supported in automatic undo mode.
// *Action: restart instance in Automatic Undo Management mode before
// retrying operation.
無論是簡短的報錯資訊還是oerr工具給出的提示資訊,如果稍微自己閱讀,問題原因便不言自明。
該問題是由於UNDO未處於自動管理模式導致的。
3.問題處理
如果將UNDO置於自動管理模式下呢?這與undo_management引數(該引數的Oracle官方文件參考資訊請訪問:)有關,該引數預設是MANUAL,需要手工將其調整為AUTO。
SQL> show parameter undo_management
NAME TYPE VALUE
------------------------------------ ----------- ---------------
undo_management string MANUAL
SQL> alter system set undo_management=AUTO scope=spfile;
System altered.
SQL> startup force nomount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 96470416 bytes
Database Buffers 213909504 bytes
Redo Buffers 2973696 bytes
SQL> show parameter undo_management
NAME TYPE VALUE
------------------------------------ ----------- ---------------
undo_management string AUTO
4.重新嘗試手工建立資料庫
注意:在執行建立資料庫語句之前需要清理一下已經建立的控制檔案。
1)清理報錯之前建立的檔案
[oracle@secdb1 ~]$ rm -f /u01/app/oracle/oradata/secdb/*
2)建立資料庫
SQL> CREATE DATABASE secdb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/secdb/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/secdb/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/secdb/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/secdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 DATAFILE '/u01/app/oracle/oradata/secdb/tbs_1.dbf' SIZE 50M
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/secdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/secdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Database created.
SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
OK,此時,資料庫建立成功。可以在此基礎上完成後續的資料字典及儲存過程的建立了。
5.小結
之所以記錄該問題,只是想提醒各位好朋友,在遇到問題時,即使時間非常的緊迫,也要認真分析報錯提示資訊,這樣可以防止浪費更多的寶貴時間。
Good luck.
secooler
10.08.09
-- The End --
記錄在此,供參考。
1.報錯資訊如下
SQL> CREATE DATABASE secdb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/secdb/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/secdb/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/secdb/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/secdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 DATAFILE '/u01/app/oracle/oradata/secdb/tbs_1.dbf' SIZE 50M
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/secdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/secdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 CREATE DATABASE secdb
*
ERROR at line 1:
ORA-30014: operation only supported in Automatic Undo Management mode
2.問題原因
使用oerr工具探尋關於ORA-30014錯誤的描述資訊
[oracle@secdb1 ~]$ oerr ora 30014
30014, 00000, "operation only supported in Automatic Undo Management mode"
// *Cause: the operation is only supported in automatic undo mode.
// *Action: restart instance in Automatic Undo Management mode before
// retrying operation.
無論是簡短的報錯資訊還是oerr工具給出的提示資訊,如果稍微自己閱讀,問題原因便不言自明。
該問題是由於UNDO未處於自動管理模式導致的。
3.問題處理
如果將UNDO置於自動管理模式下呢?這與undo_management引數(該引數的Oracle官方文件參考資訊請訪問:)有關,該引數預設是MANUAL,需要手工將其調整為AUTO。
SQL> show parameter undo_management
NAME TYPE VALUE
------------------------------------ ----------- ---------------
undo_management string MANUAL
SQL> alter system set undo_management=AUTO scope=spfile;
System altered.
SQL> startup force nomount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 96470416 bytes
Database Buffers 213909504 bytes
Redo Buffers 2973696 bytes
SQL> show parameter undo_management
NAME TYPE VALUE
------------------------------------ ----------- ---------------
undo_management string AUTO
4.重新嘗試手工建立資料庫
注意:在執行建立資料庫語句之前需要清理一下已經建立的控制檔案。
1)清理報錯之前建立的檔案
[oracle@secdb1 ~]$ rm -f /u01/app/oracle/oradata/secdb/*
2)建立資料庫
SQL> CREATE DATABASE secdb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/secdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/secdb/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/secdb/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/secdb/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/secdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1 DATAFILE '/u01/app/oracle/oradata/secdb/tbs_1.dbf' SIZE 50M
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/secdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/secdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Database created.
SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
OK,此時,資料庫建立成功。可以在此基礎上完成後續的資料字典及儲存過程的建立了。
5.小結
之所以記錄該問題,只是想提醒各位好朋友,在遇到問題時,即使時間非常的緊迫,也要認真分析報錯提示資訊,這樣可以防止浪費更多的寶貴時間。
Good luck.
secooler
10.08.09
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-670640/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次ORACLE資料庫undo壞塊處理Oracle資料庫
- 3.1.3 關於資料庫服務自動啟動資料庫
- 2.4.10 Step 9:手工建立資料庫資料庫
- 資料庫保護資料庫
- 如何確保位於各處的資料資產安全無虞?
- MyBatis SQL資料庫xml處理小於號與大於號正確的格式MyBatisSQL資料庫XML
- Mysql資料庫自動備份MySql資料庫
- 還在手工生成資料庫文件?3個步驟自動完成了解一下資料庫
- 4 配置Oracle資料庫自動啟動Oracle資料庫
- [python] 基於Tablib庫處理表格資料Python
- [重慶思莊每日技術分享]-在自動UNDO管理情況下,如何手工增加undo段
- 達夢資料庫手工恢復相關命令資料庫
- 主備資料庫狀態手工比對(一)資料庫
- 主備資料庫狀態手工比對(二)資料庫
- mysql資料庫語句自動生成MySql資料庫
- 每天自動備份Oracle資料庫Oracle資料庫
- ansible自動化運維資料庫運維資料庫
- MySQL資料庫自動補全命令MySql資料庫
- 基於 EventBridge 構建資料庫應用整合資料庫
- 資料庫自動收縮造成的阻塞資料庫
- 3.1.5.8 隨系統啟動自動啟動資料庫資料庫
- 資料庫篇:mysql日誌型別之 redo、undo、binlog資料庫MySql型別
- 通過SQL Server資料庫映象保護虛擬資料庫ICSQLServer資料庫
- 確保Oracle 11g R2資料庫高可用性WQOracle資料庫
- [影像處理] 基於CleanVision庫清洗影像資料集
- 3.1.5.1 關於啟動資料庫例項資料庫
- Oracle 12.2 Heavy swapping 資料庫自動關閉OracleAPP資料庫
- 【python介面自動化】- 對接各大資料庫Python大資料資料庫
- 【解決方案】基於資料庫驅動的自定義 TypeHandler 處理器資料庫
- Scapy 2.4.0 釋出,基於 Python 的互動式資料包處理庫Python
- 資料庫優化建議資料庫優化
- 基於 Apache ShardingSphere 構建高可用分散式資料庫Apache分散式資料庫
- 如何保護PostgreSQL資料庫安全? | goteleportSQL資料庫Go
- 墨者學院-SQL手工注入漏洞測試(MySQL資料庫)MySql資料庫
- oracle手工建庫後rman無法啟用(RMAN-04015)Oracle
- 乾貨滿滿 | 美團資料庫運維自動化系統構建之路資料庫運維
- 暑期自學 Day 12 | 資料庫 (五)- 多表,資料庫設計資料庫
- 保證資料庫質量安全:從0開始的資料庫測試資料庫
- idea內建資料庫 + sql語句庫表操作Idea資料庫SQL