oracle数据库的sde数据文件迁移操作方法

本质上是oracle数据文件迁移的问题,一个部署条件如下:两台机器做oracle(非归档模式)的双机热备,在安装sde时,把sdesde.dbf文件放在主服务器上了,而其他的oracle文件放在磁盘阵列上,这样如果主服务器当机,对另外一台热备机器就无法找到sde.dbf文件,失去了双机热备的效果,所以要把sde.dbf文件移动到磁盘阵列上,先把原来的sde.dbf文件拷贝到目标目录下。

 

全部在sql/plus上操作:

 

先用system/manager登录进去

 

SQL> conn /as sysdba;
  
    

已连接

 

//关闭数据库

SQL> shutdown immediate;
  
    
Database closed.
  
    
Database dismounted.
  
    
ORACLE instance shut down.
  
    

 

//mount方式启动数据库

SQL> startup mount;
  
    
ORACLE instance started.
  
    
Total System Global Area  101782828 bytes
  
    
Fixed Size                   451884 bytes
  
    
Variable Size              37748736 bytes
  
    
Database Buffers           62914560 bytes
  
    
Redo Buffers                 667648 bytes
  
    
Database mounted.
  
    

 

//修改数据文件指向

SQL> alter database rename file 'C:\ORACLE\PRODUCT\
  
    
      10.2.0 
    \DBFILES\DSBI\DS.ORA ' to ' D:\ORACLE\PRODUCT\10.2.0\DBFILES\DSBI\DS.ORA';
  
    
Database altered.
  
    

  
    
        
    
//打开数据库
  
    
SQL> alter database open;
  
    

  
    
        
    
此时可能报如下错误:
  
    
ORA-01113: 文件 5 需要介质恢复 
  
    
ORA-01110: 数据文件 5: 'D:\ORACLE\PRODUCT\
  
    
      10.2.0 
    \DBFILES\DSBI\DS.ORA' 
  
    
//打开自动回复
  
    
SQL> set autorecovery on
  
    
//恢复数据文件
  
    
SQL> recover datafile 5;这个5就是上面错误提到的数据文件 5
  
    

完成介质恢复

 

//打开数据库

SQL> alter database open;
  
    

  
    
        
    
OK
  
    

  
    
        
    
可以不关闭 sde 服务进行上面的操作,但会在 sde 服务器上跳出很多错误,可以不予理睬,

你可能感兴趣的:(oracle数据库)