Board logo

标题: Oracle11gR2的备份与还原 [打印本页]

作者: admin    时间: 2020-10-26 14:07     标题: Oracle11gR2的备份与还原

笺注:这是在 Navicat连接Oracle11gR2 的基础上进行的。 登录Oracle: [root@oracle ~]# su - oracle [oracle@oracle ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 12 06:49:09 2019 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> conn /as sysdba; Connected. SQL> 查看当前的用户表空间: SQL> select TABLESPACE_NAME from Dba_Tablespaces; TABLESPACE_NAME ------------------------------------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS ZHUOHUA_TS 6 rows selected. SQL> 切换用户: SQL> connect happy/mima; Connected. SQL> SQL> show user; USER is "HAPPY" SQL> 使用当前用户创建表STU_01: SQL> Create table STU_01(ID int,NAME varchar2(8),ADDRESS varchar2(9)); Table created. SQL> 查看表STU_01的表结构: 图片1.png 使用当前用户创建表STU_02: SQL> Create table STU_02(ID int,NAME varchar2(80),ADDRESS clob); Table created. SQL> 查看表STU_02的表结构: 图片2.png ####### 往表STU_01一次性插入多条记录: INSERT into STU_01 values (1,'小明','广州市'); INSERT into STU_01 values (2,'小李','佛山市'); INSERT into STU_01 values (3,'Zhuohua','成都市'); 图片3.png 查看表STU_01的当前表数据: SELECT * FROM STU_01; 图片4.png ####### 往表STU_02一次性插入多条记录: INSERT into STU_02 values (1,'小明','北京市'); INSERT into STU_02 values (2,'小李','上海市'); INSERT into STU_02 values (3,'Zhuohua','深圳市'); 图片5.png 查看表STU_02的当前表数据: SELECT * FROM STU_02; 图片6.png ####### ####### 备份数据库表结构的脚本: [root@oracle ~]# vi backup_tables.sh #!/bin/bash rq=`date '+%Y%m%d%H%M'` su - oracle -c "exp system/oracle file=/backup/all_$rq.dmp log=/backup/tables.log full=y rows=n" 注释: 会备份所有表空间; 也包含了所有用户,以及用户的权限、所拥有的表; 但用户的表是没有数据的; 数据库用户system的密码为oracle 备份数据库用户happy的表、表数据: [root@oracle ~]# vi backup_happy_data.sh #!/bin/bash rq=`date '+%Y%m%d%H%M'` su - oracle -c "exp happy/mima file=/backup/happy_$rq.dmp log=/backup/happy_data.log grants=y" 注释: 包含了指定用户所拥有的表、及其表中的数据; 用户happy的密码为mima 创建备份文件的存放目录: [root@oracle ~]# mkdir -p /backup/ [root@oracle ~]# chmod -R 777 /backup/ [root@oracle ~]# 运行脚本备份数据库表结构: [root@oracle ~]# bash backup_tables.sh 运行脚本备份数据库用户happy的表、表数据: [root@oracle ~]# bash backup_happy_data.sh 备份完成: [root@oracle ~]# find /backup/ -type f /backup/happy_202010161917.dmp /backup/tables.log /backup/all_202010161913.dmp /backup/happy_data.log [root@oracle ~]# [root@oracle ~]# du -ah /backup/ 16K /backup/happy_202010161917.dmp 80K /backup/tables.log 33M /backup/all_202010161913.dmp 4.0K /backup/happy_data.log 33M /backup/ [root@oracle ~]# 查看数据库表结构的备份日志: [root@oracle ~]# tail /backup/tables.log . exporting materialized views . exporting snapshot logs . exporting job queues . exporting refresh groups and children . exporting dimensions . exporting post-schema procedural objects and actions . exporting user history table . exporting default and system auditing options . exporting statistics Export terminated successfully with warnings. [root@oracle ~]# 查看数据库用户happy的表、表数据的备份日志: [root@oracle ~]# tail /backup/happy_data.log . exporting bitmap, functional and extensible indexes . exporting posttables actions . exporting materialized views . exporting snapshot logs . exporting job queues . exporting refresh groups and children . exporting dimensions . exporting post-schema procedural objects and actions . exporting statistics Export terminated successfully without warnings. [root@oracle ~]# ############## ############## 笺注:以下是在另外一台新的Oracle服务器上进行还原。 此时,有默认实例(ORCL)、有默认的表空间,没有自定义数据库用户。 SQL> select instance_name from v$instance; INSTANCE_NAME -------------------------------- ORCL SQL> SQL> select TABLESPACE_NAME from Dba_Tablespaces; TABLESPACE_NAME ------------------------------------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS SQL> SQL> connect happy/mima; ERROR: ORA-01017: invalid username/password; logon denied Warning: You are no longer connected to ORACLE. SQL> 上传备份文件到新服务器: [root@oracle ~]# find /backup/ -type f /backup/happy_202010161917.dmp /backup/tables.log /backup/all_202010161913.dmp /backup/happy_data.log [root@oracle ~]# 设置目录权限: [root@oracle ~]# chmod -R 777 /backup/ [root@oracle ~]# 先还原数据库的表结构: [root@oracle ~]# su - oracle [oracle@oracle ~]$ imp system/oracle full=Y file=/backup/all_202010161913.dmp 注释:数据库用户system的密码为oracle 数据库的表结构还原后: SQL> select TABLESPACE_NAME from Dba_Tablespaces; TABLESPACE_NAME ------------------------------------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS ZHUOHUA_TS 6 rows selected. SQL> SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /db/app/oracle/oradata/orcl/system01.dbf /db/app/oracle/oradata/orcl/sysaux01.dbf /db/app/oracle/oradata/orcl/undotbs01.dbf /db/app/oracle/oradata/orcl/users01.dbf /db/app/oracle/oradata/orcl/zhuohua.dbf SQL> 切换到数据库用户happy: SQL> connect happy/mima; Connected. SQL> SQL> show user; USER is "HAPPY" SQL> 查看当前用户所拥有的表: SQL> Select t.table_name from user_tables t; TABLE_NAME ------------------------------------------------------------ STU_02 STU_01 SQL> 此时,数据库用户happy的表是没有数据的: 图片7.png 图片8.png 还原数据库用户happy的表、表数据: [root@oracle ~]# su - oracle [oracle@oracle ~]$ imp happy/mima full=Y ignore=Y file=/backup/happy_202010161917.dmp 至此,数据库用户happy的表、表数据还原成功: 图片9.png 图片10.png ############## 假如数据库用户happy的表在还原前已经有数据,还原回来的数据会在后面追加,如下图: 图片11.png 可以先把表都删除掉: drop table STU_01; drop table STU_02; 图片12.png 再还原数据库用户happy的表、表数据: [root@oracle ~]# su - oracle [oracle@oracle ~]$ imp happy/mima full=Y ignore=Y file=/backup/happy_202010161917.dmp 这样,数据库用户happy的表数据就不会重复: 图片13.png 图片14.png ############ ############ 使用crontab周期性计划任务备份Oracle: [root@oracle ~]# service crond status crond (pid 1602) is running... [root@oracle ~]# [root@oracle ~]# chkconfig --list crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@oracle ~]# 给系统用户root创建两个crontab计划任务: ( 每天的8时20分运行一次脚本/root/backup_tables.sh;每天的8时23分运行一次脚本/root/backup_happy_data.sh;用户登不登录,任务都会执行) [root@oracle ~]# crontab -e -u root 追加: 20 8 * * * bash /root/backup_tables.sh 23 8 * * * bash /root/backup_happy_data.sh 查看系统用户root的crontab计划任务: [root@oracle ~]# crontab -l -u root 20 8 * * * bash /root/backup_tables.sh 23 8 * * * bash /root/backup_happy_data.sh [root@oracle ~]# 自动备份出来的文件: [root@oracle ~]# du -ah /backup/ 80K /backup/tables.log 4.0K /backup/happy_data.log 16K /backup/happy_202010170823.dmp 33M /backup/all_202010170820.dmp 33M /backup/ [root@oracle ~]# 相关文章: 本地备份站点目录和数据库+crontab计划任务 CentOS8_在Docker中安装Oracle11gR2 CentOS8_在Docker中安装Oracle19c

图片附件: 图片1.png (2022-6-29 22:29, 45.5 KB) / 下载次数 84
http://blog.zhuohua.store/attachment.php?aid=19986&k=a29a525c4da6010ac2f64f33726f6c12&t=1714360464&sid=0LlT7l



图片附件: 图片2.png (2022-6-29 22:29, 41.3 KB) / 下载次数 74
http://blog.zhuohua.store/attachment.php?aid=19987&k=04c28b92337020a17591b6d8ac370b13&t=1714360464&sid=0LlT7l



图片附件: 图片3.png (2022-6-29 22:30, 25.08 KB) / 下载次数 89
http://blog.zhuohua.store/attachment.php?aid=19988&k=5ced1f9de6a2c5ff9ca2b96463e2da4c&t=1714360464&sid=0LlT7l



图片附件: 图片4.png (2022-6-29 22:30, 21.4 KB) / 下载次数 79
http://blog.zhuohua.store/attachment.php?aid=19989&k=08bcfd400ca8239ef40f9bbe54946ad4&t=1714360464&sid=0LlT7l



图片附件: 图片5.png (2022-6-29 22:30, 25.36 KB) / 下载次数 71
http://blog.zhuohua.store/attachment.php?aid=19990&k=e38bc7df63d62c3570009af720fb9606&t=1714360464&sid=0LlT7l



图片附件: 图片6.png (2022-6-29 22:31, 21.67 KB) / 下载次数 80
http://blog.zhuohua.store/attachment.php?aid=19991&k=42269b98e3ecc4143fb3474490f67af8&t=1714360464&sid=0LlT7l



图片附件: 图片7.png (2022-6-29 22:36, 29.26 KB) / 下载次数 91
http://blog.zhuohua.store/attachment.php?aid=19992&k=d015f136217b028566242dcb7c21af12&t=1714360464&sid=0LlT7l



图片附件: 图片8.png (2022-6-29 22:36, 29.38 KB) / 下载次数 81
http://blog.zhuohua.store/attachment.php?aid=19993&k=4825248822096fb90959a444c87b6420&t=1714360464&sid=0LlT7l



图片附件: 图片9.png (2022-6-29 22:37, 37.68 KB) / 下载次数 86
http://blog.zhuohua.store/attachment.php?aid=19994&k=d0ec702e9da2c85c7594be3583645305&t=1714360464&sid=0LlT7l



图片附件: 图片10.png (2022-6-29 22:37, 37.96 KB) / 下载次数 81
http://blog.zhuohua.store/attachment.php?aid=19995&k=09233233fb8a0fe03fa23c6280a13d60&t=1714360464&sid=0LlT7l



图片附件: 图片11.png (2022-6-29 22:38, 50.32 KB) / 下载次数 87
http://blog.zhuohua.store/attachment.php?aid=19996&k=c895d0cdeeb7c31d6ea2d267b8db0623&t=1714360464&sid=0LlT7l



图片附件: 图片12.png (2022-6-29 22:38, 68.24 KB) / 下载次数 83
http://blog.zhuohua.store/attachment.php?aid=19997&k=ff7ae7bd068c6835e7182d6fa7da6745&t=1714360464&sid=0LlT7l



图片附件: 图片13.png (2022-6-29 22:38, 37.68 KB) / 下载次数 91
http://blog.zhuohua.store/attachment.php?aid=19998&k=1a7a25dd6ef9f1583ef4db47ed673419&t=1714360464&sid=0LlT7l



图片附件: 图片14.png (2022-6-29 22:38, 37.96 KB) / 下载次数 77
http://blog.zhuohua.store/attachment.php?aid=19999&k=238da41a1ee2d4b9d365d0fa6b63d7cc&t=1714360464&sid=0LlT7l






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2