ITPub博客

首页 > 数据库 > Oracle > ORA-30046: Undo tablespace UNDOTBS1 not found in control file 无undo启动库

ORA-30046: Undo tablespace UNDOTBS1 not found in control file 无undo启动库

原创 Oracle 作者:yewushang 时间:2014-02-16 16:09:55 0 删除 编辑

本来是要模拟ora 1173,但是出现其他的情况,简单记录下。

环境:win7+11.2.0.1

点击(此处)折叠或打开

  1. C:\Users\Administrator>net start oracleserviceorcl    --启动服务 语法为:net start oracleservice+sid
  2. OracleServiceORCL 服务正在启动 ......
  3. OracleServiceORCL 服务已经启动成功。


  4. C:\Users\Administrator>sqlplus / as sysdba

  5. SQL*Plus: Release 11.2.0.1.0 Production on 星期日 2月 16 14:55:49 2014  

  6. Copyright (c) 1982, 2010, Oracle. All rights reserved.


  7. 连接到:
  8. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production  --版本
  9. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  10. SQL> shutdown immediate;
  11. 数据库已经关闭。
  12. 已经卸载数据库。
  13. ORACLE 例程已经关闭。
  14. SQL>

  15. SQL> startup nomount;
  16. ORACLE 例程已经启动。

  17. Total System Global Area 1043886080 bytes
  18. Fixed Size 2182344 bytes
  19. Variable Size 603980600 bytes
  20. Database Buffers 432013312 bytes
  21. Redo Buffers 5709824 bytes
  22. SQL> alter database mount;

  23. 数据库已更改。

  24. SQL> alter database backup controlfile to trace;  --跟踪控制文件到trace

  25. 数据库已更改。

  26. CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG   --完整的控制文件信息
  27.     MAXLOGFILES 16
  28.     MAXLOGMEMBERS 3
  29.     MAXDATAFILES 100
  30.     MAXINSTANCES 8
  31.     MAXLOGHISTORY 292
  32. LOGFILE
  33.   GROUP 1 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
  34.   GROUP 2 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
  35.   GROUP 3 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG\' SIZE 50M BLOCKSIZE 512
  36. -- STANDBY LOGFILE
  37. DATAFILE
  38.   'F:\\APP\\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF\,
  39.   'F:\\APP\\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF',
  40.   'F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF',
  41.   'F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'
  42. CHARACTER SET ZHS16GBK
  43. ;


  44. C:\\Users\\Administrator>sqlplus / as sysdba

  45. SQL*Plus: Release 11.2.0.1.0 Production on 星期日 2月 16 15:01:56 2014

  46. Copyright (c) 1982, 2010, Oracle. All rights reserved.


  47. 连接到:
  48. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  49. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  50. SQL> shutdown immediate;
  51. ORA-01109: 数据库未打开


  52. 已经卸载数据库。
  53. ORACLE 例程已经关闭。
  54. SQL> startup nomount;
  55. ORACLE 例程已经启动。

  56. Total System Global Area 1043886080 bytes
  57. Fixed Size 2182344 bytes
  58. Variable Size 603980600 bytes
  59. Database Buffers 432013312 bytes
  60. Redo Buffers 5709824 bytes
  61. SQL>
  62. SQL> CREATE CONTROLFILE REUSE DATABASE \"ORCL\" NORESETLOGS NOARCHIVELOG   --重建控制文件 但是少写undo的信息.
  63.   2 MAXLOGFILES 16
  64.   3 MAXLOGMEMBERS 3
  65.   4 MAXDATAFILES 100
  66.   5 MAXINSTANCES 8
  67.   6 MAXLOGHISTORY 292
  68.   7 LOGFILE
  69.   8 GROUP 1 \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\REDO01.LOG\' SIZE 50M BLOCKSIZE 512,
  70.   9 GROUP 2 \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\REDO02.LOG\' SIZE 50M BLOCKSIZE 512,
  71.  10 GROUP 3 \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\REDO03.LOG\' SIZE 50M BLOCKSIZE 512
  72.  11 -- STANDBY LOGFILE
  73.  12 DATAFILE
  74.  13 \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSTEM01.DBF\',
  75.  14 \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSAUX01.DBF\',
  76.  15 \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS01.DBF\'
  77.  16 CHARACTER SET ZHS16GBK
  78.  17 ;

  79. 控制文件已创建。

  80. SQL> alter database open;
  81. alter database open
  82. *
  83. 第 1 行出现错误:
  84. ORA-01092: ORACLE instance terminated. Disconnection forced
  85. ORA-30046: Undo tablespace UNDOTBS1 not found in control file.   --报此错误
  86. 进程 ID: 3932
  87. 会话 ID: 125 序列号: 3

  88.   在参数文件中添加参数 :*.undo_management='MANUAL'

  89. SQL>

  90. SQL> conn / as sysdba
  91. 已连接到空闲例程。
  92. SQL> create spfile from pfile;

  93. 文件已创建。

  94. SQL> startup
  95. ORACLE 例程已经启动。

  96. Total System Global Area 1043886080 bytes
  97. Fixed Size 2182344 bytes
  98. Variable Size 603980600 bytes
  99. Database Buffers 432013312 bytes
  100. Redo Buffers 5709824 bytes
  101. 数据库装载完毕。
  102. ORA-01113: 文件 1 需要介质恢复
  103. ORA-01110: 数据文件 1: \'F:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSTEM01.DBF\'


  104. SQL> recover database;
  105. 完成介质恢复。
  106. SQL> alter database open;  --成功open.

  107. 数据库已更改。

  108. SQL> select status from v$instance;

  109. STATUS
  110. ------------
  111. OPEN

  112. SQL> show parameter undo

  113. NAME TYPE VALUE
  114. ------------------------------------ ----------- ------------------------------
  115. undo_management string MANUAL
  116. undo_retention integer 900
  117. undo_tablespace string UNDOTBS1
  118. SQL>

  119. SQL> select segment_name from dba_rollback_segs;

  120. SEGMENT_NAME
  121. ------------------------------
  122. SYSTEM
  123. _SYSSMU10_378818850$
  124. _SYSSMU9_3186340089$
  125. _SYSSMU8_1682283174$
  126. _SYSSMU7_1101470402$
  127. _SYSSMU6_1439239625$
  128. _SYSSMU5_2520346804$
  129. _SYSSMU4_1451910634$
  130. _SYSSMU3_478608968$
  131. _SYSSMU2_1531987058$
  132. _SYSSMU1_3086899707$

  133. 已选择11行。

  134. SQL> conn scott/tiger  --解锁下scott用户
  135. ERROR:
  136. ORA-28000: the account is locked


  137. 警告: 您不再连接到 ORACLE。
  138. SQL> alter user scott account unlock;
  139. SP2-0640: 未连接
  140. SQL> conn / as sysdba
  141. 已连接。
  142. SQL> alter user scott account unlock;

  143. 用户已更改。

  144. SQL> conn scott/tiger
  145. ERROR:
  146. ORA-28001: the password has expired


  147. 更改 scott 的口令
  148. 新口令:
  149. 重新键入新口令:
  150. 口令已更改
  151. 已连接。
  152. SQL> select * from cat;

  153. TABLE_NAME TABLE_TYPE
  154. ------------------------------ -----------
  155. BONUS TABLE
  156. DEPT TABLE
  157. EMP TABLE
  158. SALGRADE TABLE

  159. SQL> create table yws as select * from emp;
  160. create table yws as select * from emp
  161.                                   *
  162. 第 1 行出现错误:
  163. ORA-01552: cannot use system rollback segment for non-system tablespace \'USERS\'  --当创建表的时候会报没有回滚段

  164. SQL> alter session set events \'10046 trace name context forever, level 12\';  --本想做个10046 权限不够
  165. ERROR:
  166. ORA-01031: insufficient privileges
  167. 用sys 用户登录发现
  168. SQL>
  169. SQL> conn / as sysdba
  170. 已连接。
  171. SQL> create table yws as select * from scott.emp;  --但是sys用户可以

  172. 表已创建。

  173. SQL> select segment_name from dba_rollback_segs;

  174. SEGMENT_NAME
  175. ------------------------------
  176. SYSTEM
  177. _SYSSMU10_378818850$
  178. _SYSSMU9_3186340089$
  179. _SYSSMU8_1682283174$
  180. _SYSSMU7_1101470402$
  181. _SYSSMU6_1439239625$
  182. _SYSSMU5_2520346804$
  183. _SYSSMU4_1451910634$
  184. _SYSSMU3_478608968$
  185. _SYSSMU2_1531987058$
  186. _SYSSMU1_3086899707$

  187. 已选择11行。

  188. SQL> select segment_name,status from dba_rollback_segs;

  189. SEGMENT_NAME STATUS
  190. ------------------------------ ----------------
  191. SYSTEM ONLINE                                              --是online的
  192. _SYSSMU10_378818850$ OFFLINE
  193. _SYSSMU9_3186340089$ OFFLINE
  194. _SYSSMU8_1682283174$ OFFLINE
  195. _SYSSMU7_1101470402$ OFFLINE
  196. _SYSSMU6_1439239625$ OFFLINE
  197. _SYSSMU5_2520346804$ OFFLINE
  198. _SYSSMU4_1451910634$ OFFLINE
  199. _SYSSMU3_478608968$ OFFLINE
  200. _SYSSMU2_1531987058$ OFFLINE
  201. _SYSSMU1_3086899707$ OFFLINE

  202. 已选择11行。

  203. SQL>

  204. SQL> grant alter session to scott;

  205. 授权成功。

  206. SQL> alter session set events \'10046 trace name context forever, level 12\';

  207. 会话已更改。

  208. SQL> create table yws as select * from emp;
  209. create table yws as select * from emp
  210.                                   *
  211. 第 1 行出现错误:
  212. ORA-01552: 非系统表空间 \'USERS\' 不能使用系统回退段


  213. SQL> exit


10046的trace已经生成,抽时间写下。
主要是是自己库,基本就是属于静止库,无事务发生,模拟失败,简单记录下,继续ing。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29477587/viewspace-1082131/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-02-09

  • 博文量
    53
  • 访问量
    275822