冷备份数据库的步骤
- 关闭数据库;
使用命令 shutdown immediate;
- 需要备份所有相关的数据库文件:
- 参数文件 $ORACLE_HOME/dbs/*.ora
- 控制文件(可用select name from v$controlfile;列出所有控制文件)
- 数据文件(可用select name from v$datafile;列出所有数据文件)
- Redo日志(可用select member from v$logfile;列出所有redo日志文件)
- 归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序 和产生时间)。
注意:如果开启了归档模式,备份时候才需要加上归档日志
root用户登录服务器
mkdir –p /backup/ctl /backup/dbf /backup/redo /backup/dbs #新建Oracle数据库备份目录
chown -R oracle:oinstall /backup/ #设置目录权限为oinstall用户组的oracle用户
(用户oracle与用户组oinstall是在安装Oracle数据库时设置的)
备份相关的文件
su – oracle #跳转到oracle用户
[root@oracle ~]# su – oracle 切换到oracle用户
[oracle@oracle dbs]$ sqlplus / as sysdba
输入shutdown immediate; 关闭数据库
exit退出数据库操作窗口,返回Linux系统操作窗口
cp /oradata/orcl/control01.ctl /u01/app/oracle/fast_recovery_area/orcl/control02.ctl /backup/ctl
#复制控制文件到指定目录/backup/ctl
控制文件(可用select name from v$controlfile;列出所有控制文件)
cp /oradata/orcl/*.dbf /backup/dbf #复制数据文件到指定的目录/backup/dbf
cp /oradata/orcl/redo*.log /backup/redo #复制redo日志文件到指定目录/backup/redo
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/* /backup/dbs #复制参数文件到指定目/backup/dbs
归档日志备份仅在开启归档模式时候才会有,非归档模式并没有相关的日志目录
归档日志备份:
cp -R
/u01/app/oracle/fast_recovery_area/ORCL/archivelog/ /backup/reback/ 备份归档日志文件到/backup/reback/ (arc文件为归档日志)
冷备份数据库文件还原的步骤
- 检查备份文件的数量
①参数文件 $ORACLE_HOME/dbs/*.ora
②控制文件(一般是以ctl结尾的文件,数据库中存在两个控制文件)
③数据文件(可用select name from v$datafile;列出所有数据文件)
④Redo日志(可用select member from v$logfile;列出所有redo日志文件)
- 准备好需要恢复的服务器,保持服务器的操作系统版本,数据库版本和备份的数据库的保持一致,避免出现其他的问题,新的服务器安装好操作系统,数据库以及数据库实例名保持一致,不需要新建用户以及导入其他数据,新建实例即可,恢复时要先关闭数据库,新建数据库时,默认是开启状态。(内存尽量保持一致,变大或者变小都将需要修改参数文件,下边会做简单介绍)
- 将文件恢复到对应的位置,即备份时候的原始位置也是新库新建的位置
这里将相关的文件利用ssh传输到Linux服务器/backup位置,这里不讲解相关上传的过程,直接从上传后开始进行。
①将参数文件恢复到原始位置
cp /backup/dbs /u01/app/oracle/product/11.2.0/dbhome_1/dbs/*
②将控制文件恢复到对应的位置(两个控制文件内容一致,为相同文件两份,不能缺少,有单个损坏可以将另一个正常的控制文件改名后替换即可)
cp /backup/ctl/control01.ctl /oradata/orcl/control01.ctl
cp /backup/ctl/control02.ctl /u01/app/oracle/fast_recovery_area/orcl/control02.ctl
③恢复数据文件到对应的位置
cp /backup/dbf/*.dbf /oradata/orcl/
④恢复Redo日志文件
cp /backup/redo /oradata/orcl/redo*.log
⑤给放回数据库的文件重新赋予权限
chown –R oracle:oinstall /u01 重新给u01授权,使Oracle用户组有读写的权限
chown –R oracle:oinstall /oradata 重新给oratada授权,使Oracle用户组有读写的权限
redo日志文件一般和数据文件存放在一个目录下
使用root用户登录还原后数据库服务器
[root@oracle ~]# su – oracle 切换到oracle用户
[oracle@oracle dbs]$ sqlplus / as sysdba
在语句中输入 startup 启动数据库
到此数据库启动完成
注意:
oracle启动 错ORA-00845: MEMORY_TARGET not supported on this system解决办法
该错误是由于多半是因为两台服务器内存不一致造成的,处理方案为:
cd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs 跳转到dbs目录
cp spfileorcl.ora spfileorcl.ora.bak 文件名字可能因为实例名不同不一致,找spfile*开头文件即可 备份相关的参数文件
vim spfileorcl.ora
修改spfile*文件中参数*.memory_target=104857600 值的大小根绝实际情况增大或者缩小
- oracle启动 错
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ‘/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora’
该错误是由于参数文件不一致造成,可通过替换参数文件替换解决
cd /u01/app/oracle/admin/orcl/pfile/ 跳转到pfile目录
cp init.ora.* /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
文件名根据 错提示LRM-00109中文件名修改
文中用到的软件下载地址
链接:
https://pan.baidu.com/s/1tQk6yk9Gh99QyepkUJSAXA 提取码: sfep
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!