分类: Oracle
2013-05-21 15:30:40
用oracle用户连接数据库,
[oracle@data /]$ env |grep ORA
ORACLE_SID=undosql
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@data /]$ sqlplus / as sysdba
SQL> archive log list;
Database log modeNoArchive Mode //非归档模式
Automatic archivalDisabled
Archive destinationUSE_DB_RECOVERY_FILE_DEST
Oldest online log sequence1
Current log sequence3
SQL> select name from v$database;
NAME
---------
UNDOSQL //数据库名字为undosql
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
关闭数据库,原来的数据文件存放在/u01/app/oracle/oradata下
[oracle@dataoradata]$ pwd
/u01/app/oracle/oradata
[oracle@data oradata]$ ll
total 8
drwxr-x--- 2 oracle oinstall 4096 May 1520:11 orcl
drwxr-x--- 2 oracle oinstall 4096 May 16 08:57 undosql
一、我们在/u01/app/oracle下建立一个和backup目录(可以随便取名字,但是要拥有oracle权限),先把oradata下undosql数据库的的所有数据拷贝到该目录下作为备份,用cp命令
[oracle@data backup]$ cp /u01/app/oracle/oradata/undosql/* .
undosql数据库的口令文件和spfiel文件 不需要拷贝,假设这些文件放在另外一个磁盘的目录中;
[oracle@data oracle]$ cd oradata///把undosql的数据库该个名字模拟磁盘损坏;
[oracle@data oradata]$ ll
total 8
drwxr-x--- 2 oracle oinstall 4096 May 1520:11 orcl
drwxr-x--- 2 oracle oinstall 4096 May 1608:57 undosql
[oracle@data oradata]$ mv undosql/undosql.bak
我们现在假设存放数据库文件的磁盘oradata损坏了,undosql数据库不能启动了,要把原先备份在backup中的数据库恢复到另外一个磁盘neworadata磁盘下(新加的磁盘)