目前来说,我们只有两文件,一个system文件一个user文件,需要用他们两个把数据库启动起来 启动数据库需要 1 参数文件 2 控制文件 3 数据文件 第一步: 安装软件 首先准备软件环境,查看数据文件的软件版本 安装相应版本的软件 [root@rac1 software]# strings system01.dbf |grep "RDBMS version" 11.2.0.4.0 RDBMS version for NLS parameters, > version constant pls_integer := 11; -- RDBMS version number GL-- VERSION (text) - version number of the first RDBMS version 安装软件。。。。。。。。。。。 第二步:编辑参数文件 我们先编辑一个参数文件将数据库启动到nomount状态 几个比较重要的,数据库名字,数据块大小,控制文件位置,允许跳过部分redo,禁止job,禁止部分回滚段 等等 编辑参数文件我们要获取数据库的dbname 1 从alert日志的启动信息获取。 $ cat alert_XXX.log |grep -i DB_NAME 2 从spfile/pfile文件的参数设置信息获取。 $ cat initXXX.ora |grep -i db_name *.db_name='XXX' $ strings spfileXXX |grep -i db_name *.db_name='XXX' 3 通过bbed从数据文件头获取,位置block 1 offset 32-39。 BBED> p kcvfhhdr.kccfhdbn text kccfhdbn[0] @32 D text kccfhdbn[1] @33 B text kccfhdbn[2] @34 1 text kccfhdbn[3] @35 1 text kccfhdbn[4] @36 G text kccfhdbn[5] @37 3 text kccfhdbn[6] @38 text kccfhdbn[7] @39 4 通过dd+strings也可以获取。 ---通过dd转储block 1 dd if=/home/oracle/data/system01.dbf of=/tmp/db_name_tbs skip=1 count=1 bs=8192 ---通过strings命令获取字符串DB_NAME strings /tmp/db_name_tbs [oracle@rac1 bbed]$ strings /tmp/db_name_tbs DB11G3 SYSTEM 获取数据块大小 [oracle@rac1 data]$ dbfsize system01.dbf Database file: system01.dbf Database file type: file system Database file size: 101120 8192 byte blocks 获取需要屏蔽的undo 段 [oracle@rac1 data]$ strings system01.dbf |grep -i _SYSSMU|cut -d $ -f 1|sort -u |awk '{ print $1"$"}' _SYSSMU10_1197734989$ _SYSSMU10_3470984480$ _SYSSMU11_453117999$ _SYSSMU11_894599432$ _SYSSMU12_1573055333$ _SYSSMU12_2674635073$ _SYSSMU1_2603659607$ _SYSSMU13_1678745135$ _SYSSMU13_3860906822$ _SYSSMU1_3724004606$ _SYSSMU14_3319140121$ _SYSSMU14_483387481$ _SYSSMU15_1436577151$ _SYSSMU16_1689093467$ _SYSSMU17_1049158485$ _SYSSMU18_1557221903$ _SYSSMU19_2284825117$ _SYSSMU20_2312497597$ _SYSSMU2_2996391332$ _SYSSMU2_73114111$ _SYSSMU3_1723003836$ _SYSSMU3_596277271$ _SYSSMU4_1254879796$ _SYSSMU4_2523322691$ _SYSSMU5_4008018903$ _SYSSMU5_898567397$ _SYSSMU6_1263032392$ _SYSSMU6_4235600416$ _SYSSMU7_2070203016$ _SYSSMU7_2271882308$ _SYSSMU8_517538920$ _SYSSMU8_854328387$ _SYSSMU9_1650507775$ _SYSSMU9_508477954$ 最后整理的参数文件内容 *.compatible='11.2.0.4.0' *.db_name='DB11G3' *.undo_management='MANUAL' *._allow_resetlogs_corruption=TRUE *.job_queue_processes=0 *._system_trig_enabled=false *._corrupted_rollback_segments='_SYSSMU10_1197734989$','_SYSSMU10_3470984480$','_SYSSMU11_453117999$','_SYSSMU11_894599432$','_SYSSMU12_1573055333$','_SYSSMU12_2674635073$','_SYSSMU1_2603659607$','_SYSSMU13_1678745135$','_SYSSMU13_3860906822$','_SYSSMU1_3724004606$','_SYSSMU14_3319140121$','_SYSSMU14_483387481$','_SYSSMU15_1436577151$','_SYSSMU16_1689093467$','_SYSSMU17_1049158485$','_SYSSMU18_1557221903$','_SYSSMU19_2284825117$','_SYSSMU20_2312497597$','_SYSSMU2_2996391332$','_SYSSMU2_73114111$','_SYSSMU3_1723003836$','_SYSSMU3_596277271$','_SYSSMU4_1254879796$','_SYSSMU4_2523322691$','_SYSSMU5_4008018903$','_SYSSMU5_898567397$','_SYSSMU6_1263032392$','_SYSSMU6_4235600416$','_SYSSMU7_2070203016$','_SYSSMU7_2271882308$','_SYSSMU8_517538920$','_SYSSMU8_854328387$','_SYSSMU9_1650507775$','_SYSSMU9_508477954$' 启动数据库到nomount 状态 [oracle@rac1 data]$ cat pfile *.compatible='11.2.0.4.0' *.db_name='DB11G3' *.undo_management='MANUAL' *._allow_resetlogs_corruption=TRUE *.job_queue_processes=0 *._system_trig_enabled=false *._corrupted_rollback_segments='_SYSSMU10_1197734989$','_SYSSMU10_3470984480$','_SYSSMU11_453117999$','_SYSSMU11_894599432$','_SYSSMU12_1573055333$','_SYSSMU12_2674635073$','_SYSSMU1_2603659607$','_SYSSMU13_1678745135$','_SYSSMU13_3860906822$','_SYSSMU1_3724004606$','_SYSSMU14_3319140121$','_SYSSMU14_483387481$','_SYSSMU15_1436577151$','_SYSSMU16_1689093467$','_SYSSMU17_1049158485$','_SYSSMU18_1557221903$','_SYSSMU19_2284825117$','_SYSSMU20_2312497597$','_SYSSMU2_2996391332$','_SYSSMU2_73114111$','_SYSSMU3_1723003836$','_SYSSMU3_596277271$','_SYSSMU4_1254879796$','_SYSSMU4_2523322691$','_SYSSMU5_4008018903$','_SYSSMU5_898567397$','_SYSSMU6_1263032392$','_SYSSMU6_4235600416$','_SYSSMU7_2070203016$','_SYSSMU7_2271882308$','_SYSSMU8_517538920$','_SYSSMU8_854328387$','_SYSSMU9_1650507775$','_SYSSMU9_508477954$' [oracle@rac1 data]$ export ORACLE_SID=DB11G3 [oracle@rac1 data]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 13 23:13:41 2024 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount pfile='/home/oracle/data/pfile'; ORACLE instance started. Total System Global Area 250560512 bytes Fixed Size 2252136 bytes Variable Size 192938648 bytes Database Buffers 50331648 bytes Redo Buffers 5038080 bytes SQL> 第三步:生成控制文件 CREATE CONTROLFILE REUSE DATABASE "DB11G3" RESETLOGS NOARCHIVELOG MAXLOGFILES 13 MAXLOGMEMBERS 3 MAXDATAFILES 20 MAXINSTANCES 3 MAXLOGHISTORY 1024 LOGFILE GROUP 11 '/home/oracle/data/redo1_.log' SIZE 50M BLOCKSIZE 512, GROUP 12 '/home/oracle/data/redo2_.log' SIZE 50M BLOCKSIZE 512, GROUP 13 '/home/oracle/data/redo3_.log' SIZE 50M BLOCKSIZE 512 -- STANDBY LOGFILE DATAFILE '/home/oracle/data/system01.dbf', '/home/oracle/data/users01.dbf' CHARACTER SET AL32UTF8; 如果redo 还在的话需要注意redo的大小 详见 无备份手动恢复控制文件 数据库名字已经获取了,redo 丢失了,我们只需要再获取字符集即可 方法1: alert 日志 方法2: character存储在基表props$下面,Oracle11g 在system file 1 block 801,Oracle19c 在system file 1 block 1321。 查询方法: select distinct dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block# from props$; BBED> set offset 7100 OFFSET 7100 BBED> d /v File: /home/oracle/data/system01.dbf (1) Block: 801 Offsets: 7100 to 7611 Dba:0x00400321 ------------------------------------------------------- 69737469 63206465 66696e69 74696f6e l istic definition 2c000311 4e4c535f 44415445 5f4c414e l ,...NLS_DATE_LAN 47554147 4508414d 45524943 414e0d44 l GUAGE.AMERICAN.D 61746520 6c616e67 75616765 2c00030f l ate language,... 4e4c535f 44415445 5f464f52 4d415409 l NLS_DATE_FORMAT. 44442d4d 4f4e2d52 520b4461 74652066 l DD-MON-RR.Date f 6f726d61 742c0003 0c4e4c53 5f43414c l ormat,...NLS_CAL 454e4441 52094752 45474f52 49414e0f l ENDAR.GREGORIAN. 43616c65 6e646172 20737973 74656d2c l Calendar system, 0103104e 4c535f43 48415241 43544552 l ...NLS_CHARACTER 53455408 414c3332 55544638 0d436861 l SET.AL32UTF8.Cha 72616374 65722073 65742c00 03164e4c l racter set,...NL 535f4e55 4d455249 435f4348 41524143 l S_NUMERIC_CHARAC 我们的是AL32UTF8 CREATE CONTROLFILE REUSE DATABASE "DB11G3" RESETLOGS NOARCHIVELOG MAXLOGFILES 13 MAXLOGMEMBERS 3 MAXDATAFILES 20 MAXINSTANCES 3 MAXLOGHISTORY 1024 LOGFILE GROUP 11 '/home/oracle/data/redo1_.log' SIZE 50M BLOCKSIZE 512, GROUP 12 '/home/oracle/data/redo2_.log' SIZE 50M BLOCKSIZE 512, GROUP 13 '/home/oracle/data/redo3_.log' SIZE 50M BLOCKSIZE 512 -- STANDBY LOGFILE DATAFILE '/home/oracle/data/system01.dbf', '/home/oracle/data/users01.dbf' CHARACTER SET AL32UTF8;SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Control file created. SQL> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED 第四部: 启动数据库 至此,数据库已经mount 了,我们成功了一小步 SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS ---------------- ------------ DB11G3 MOUNTED SQL> col name for a50 SQL> select file#,name,status from v$datafile; FILE# NAME STATUS ---------- -------------------------------------------------- ------- 1 /home/oracle/data/system01.dbf SYSTEM 4 /home/oracle/data/users01.dbf RECOVER SQL> alter database open RESETLOGS; Database altered. 至此 数据库已经启动了 第五步: 验证以及后续操作 SQL> select count(*) from zc.test111; COUNT(*) ---------- 6990000 重建undo drop tablespace UNDOTBS1 including contents and datafiles; create undo tablespace UNDOTBS1 datafile '/home/oracle/data/undotbs01.dbf' size 100M autoextend on; 修改参数文件重启 *.compatible='11.2.0.4.0' *.db_name='DB11G3' 导出数据 exp zc/zc file=/home/oracle/data/zc.dmp log=/home/oracle/data/zc.log tables=test111 [oracle@rac1 data]$ exp zc/zc file=/home/oracle/data/zc.dmp log=/home/oracle/data/zc.log tables=test111 Export: Release 11.2.0.4.0 - Production on Sun Jul 14 00:39:16 2024 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. EXP-00056: ORACLE error 28002 encountered ORA-28002: the password will expire within 46 days Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options Export done in US7ASCII character set and AL16UTF16 NCHAR character set server uses AL32UTF8 character set (possible charset conversion) About to export specified tables via Conventional Path ... . . exporting table TEST111 6990000 rows exported Export terminated successfully without warnings. [oracle@rac1 data]$
只剩system和一个数据文件的情况下拉起数据库
来源:这里教程网
时间:2026-03-03 20:29:17
作者:
编辑推荐:
- 只剩system和一个数据文件的情况下拉起数据库03-03
- 运维实战来了!如何构建适用于YashanDB的Prometheus Exporter03-03
- 数据库管理-第228期 Oracle全球分布式数据库-初探(20240812)03-03
- 【YashanDB数据库】YAS-00413 wait for receive timeout03-03
- 【YashanDB数据库】YAS-02079 archive log mode must be enabled when database03-03
- 【YashanDB数据库】yasboot查询数据库状态时显示数据库状态为off03-03
- 【YashanDB数据库】YAS-02024 lock wait timeout, wait time 0 milliseconds03-03
- 【YashanDB数据库】YAS-02032 column type is incompatible with referenced column03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 运维实战来了!如何构建适用于YashanDB的Prometheus Exporter
- 数据库管理-第228期 Oracle全球分布式数据库-初探(20240812)
- 【YashanDB数据库】YAS-02079 archive log mode must be enabled when database
- 【YashanDB数据库】yasboot查询数据库状态时显示数据库状态为off
- 【YashanDB知识库】ycm托管数据库时报错OM host ip:127.0.0.1 is not support
- 【YashanDB数据库】YashanDB如何回收表空间
【YashanDB数据库】YashanDB如何回收表空间
26-03-03 - 【YashanDB知识库】YMP元数据阶段二报错YAS-04204
【YashanDB知识库】YMP元数据阶段二报错YAS-04204
26-03-03 - 【YashanDB数据库】yasql登录有特殊字符@导致无法登录
【YashanDB数据库】yasql登录有特殊字符@导致无法登录
26-03-03 - 【YashanDB知识库】自关联外键插入数据时报错:YAS-02033 foreign key constraint
- 【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed
