zoukankan      html  css  js  c++  java
  • [Oracle故障处理]ORA-30012: undo tablespace 'UNDOTBS1' does not exist

    场景:用RMAN在异机上恢复数据。

    错误信息如下:

    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type
    进程 ID: 6341
    会话 ID: 386 序列号: 3
    

    主要原因是:数据库的pfile基本都是一致的,但是有个别数据库有人员切换过undo表空间,导致这个错误。重装一些pfile文件
    即可。

    环境对比;
    源数据库的系统参数

    SYS@oradb> show parameter undo;         
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     172800
    undo_tablespace                      string      UNDOTBS2
    

    新环境数据库的系统参数

    SYS@oradb> show parameter undo;
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     172800
    undo_tablespace                      string      UNDOTBS1
    

    数据库中获取pfile文件

    create pfile='/home/oracle/pfile.ora' from spfile;
    

    编辑pfile文件

    [root@oradb oracle]# cat pfile.ora 
    oradb.__db_cache_size=8443133952
    oradb.__java_pool_size=16777216
    oradb.__large_pool_size=20971520
    oradb.__oracle_base='/u01/app'#ORACLE_BASE set from environment
    oradb.__pga_aggregate_target=7214202880
    oradb.__sga_target=9965666304
    oradb.__shared_io_pool_size=0
    oradb.__shared_pool_size=1430257664
    oradb.__streams_pool_size=0
    *.audit_file_dest='/u01/app/admin/oradb/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.4.0'
    *.control_files='/u01/app/oradata/oradb/control01.ctl','/u01/app/oradata/oradb/control02.ctl'#Restore Controlfile
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='oradb'
    *.db_recovery_file_dest='/u01/app/fast_recovery_area'
    *.db_recovery_file_dest_size=4385144832
    *.diagnostic_dest='/u01/app'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=oradbXDB)'
    *.job_queue_processes=1000
    *.log_archive_dest_1='location=/u01//archive'
    *.memory_max_target=17179869184
    *.memory_target=17179869184
    *.open_cursors=300
    *.pga_aggregate_target=0
    *.processes=1000
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sec_case_sensitive_logon=FALSE
    *.sessions=225
    *.sga_max_size=0
    *.sga_target=0
    *.undo_retention=172800
    *.undo_tablespace='UNDOTBS2'
    

    把参数*.undo_tablespace修改成UNDOTBS2

    后面,重新启动数据库,正常!

  • 相关阅读:
    Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
    LeetCode第二十四题-交换链表中节点值
    LeetCode第二十三题-合并n个有序链表
    LeetCode第二十二题-创建n对括号
    LeetCode第二十一题-对两个有序链表排序
    LeetCode第二十题-有效的括号
    LeetCode第十九题-链表节点的删除
    LeetCode第十八题-四数之和
    LeetCode第十七题-电话号码的字母组合
    LeetCode第十六题-找出数组中三数之和最接近目标值的答案
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/12596707.html
Copyright © 2011-2022 走看看