oracle windows冷备恢复

安装新系统,安装相同版本oracle


将之前拷贝的admin,oradata文件放到原位置


将pifle文件,密码文件考到ORACLEHOME\database下,如果丢失可以通过admin中 init.ora.数字 更改成initSID.ora替代,如果主路径不同需要改其中的路径内容。

pwd文件通命令 Orapwd file=.. Password=.  密码文件中含有sys的密码 

建立服务:使用oradim 命令 cmd oradim -new -sid gbicc ,表示建立一个服务,sidgbicc。如果是在linux下,不需要此步。 

建立监听: net configuration assintant 来建立(建议将源系统的network下的文件拷过来,根据实际情况修改,或者直接更改TNS) 

打开数据库: cmd
set oracle_sid=SID; 
sqlplus /nolog; 
Conn / as sysdba;

select * from v$instance;--查看版本

startup mount

alter database open;


create undo tablespace MOZI datafile 'E:\oracle\product\10.2.0\oradata\orcl\MOZI.DBF' size 2048M extent management local;
alter system set undo_tablespace=MOZI;
WINDOW下面的ORCL数据库提示:数据库未打开: 仅允许在固定表/视图中查询
加载数据库时出错:
RA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: 'D:\TCM52.DBF'
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area  293601280 bytes
Fixed Size                  1290208 bytes
Variable Size             209715232 bytes
Database Buffers           75497472 bytes
Redo Buffers                7098368 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: 'D:\TCM52.DB<span class="hilite">F</span>'
原因:我在數據庫服務停止的時候,將數據文件D:\TCM52.DBF刪除了。
解決方法:
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area  293601280 bytes
Fixed Size                  1290208 bytes
Variable Size             213909536 bytes
Database Buffers           71303168 bytes
Redo Buffers                7098368 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: 'D:\TCM52.DBF'
 
SQL> alter database datafile 'd:\TCM52.dbf' offline drop;
数据库已更改。
 
SQL> alter database open;
数据库已更改。
 
SQL> drop tablespace TCM52 including contents;
表空间已删除。
 
SQL> create undo tablespace TCM52 datafile 'E:\oracle\product\10.2.0\oradata\TCM52.db<span class="hilite">f</span>' size 2048M extent management local;
表空间已创建。
 
SQL> alter system set undo_tablespace=TCM52;
系统已更改。
LINUX环境下出现类似的问题,转自itpub某大侠的博客
SQL> conn /as sysdba;
SQL> shutdown immediate
SQL> startup mount;
SQL>alter database datafile ‘/oracle/product/10.2/db_1/dbs/ AAAAAAAA’ offline drop;
Database altered
SQL> alter database tempfile ‘/oracle/product/10.2/db_1/dbs/ BBBBBBBB’ drop;
Database altered
SQL> alter database open;
Database opened
查询数据文件联、脱机状态,可以看到已offline的表空间
SQL> select file#,name,status from v$datafile;
接下来按照正常方式删除表空间
SQL> drop tablespace PCS_DWCOMMON including contents and datafiles;
Tablespace droped
SQL> drop tablespace PCS_TEMP including contents and datafiles;
Tablespace droped
重新创建表空间
SQL> CREATE TABLESPACE PCS_DWCOMMON DATAFILE 'AAAAAAAA' SIZE 5G AUTOEXTEND OFF;
Tablespace created
SQL> CREATE TEMPORARY TABLESPACE PCS_TEMP TEMPFILE 'BBBBBBBB' SIZE 20G AUTOEXTEND OFF;
Tablespace created
搞定。这里要注意一下,因为我的是RAC环境,所以在置表空间为offline的时候需要两个数据库都shutdown,然后启动一台或者两台到mount状态下操作。





1  sql>shutdown immediate
复制oradata目录下所有文件,包括数据文件,控制文件,REDO等,还有密码文件


2  安装数据库必须与源数据库版本一致。


3  创建一个数据库服务,SID要与源数据库一致
   >oradim -new -sid $ORALCE_SID 


4  创建口令文件或者复制存在的密码文件
   >orapwd file=c:\oracle\product\10.2.0\db_1\database\pwd[oracle_sid].ora password=sys entries=2
   密码为SYS用户的口令,entries之定数据库拥有DBA权限的用户个数
   路径必须oracle\product\10.2.0\db_1\database


5  创建SPFILE或者pfile
   >sqlplus /nolog
   sql>conn as /sysdba;
   sql>create pfile='c:\oracle\product\10.2.0\da_1\database\initorcl.ora' from spfile=''
   修改pfile里的各种文件路径


6  启动数据库NOMOUNT状态
   sql>startup nomount
   可能报错缺失pfile里的文件,按丢失位置创建相应文件


7  启动数据库到MOUNT状态
   sql>alter database mount;


8  查看CONTROLFILE里面的文件路径
   sql>alter database backup controlfile to track;
   如果oradata目录下的文件路径不一致需要更改路径


9  更改数据文件路径
   
   查看文件路径
   SQL>startup mount;
   sql>select name from v$datafile;

查看redo.log   
   sql>select * from v$logfile;


   复制文件到相应位置
   修改路径
   sql>alter database rename file 'd:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF' to         'E:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值