Oracle 整库备份还原
http://www.mamicode.com/info-detail-2481866.html
sql语句
system用户登陆
查看表空间和存放位置
select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;
查看所有表空间的大小
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
查看未使用的表空间大小
select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;
清理屏幕
clear screen
查看服务端编码
select userenv('language') from dual;
本地机器添加系统变量NLS_LANG,变量值为:服务端完整的编码类型即可解决显示不出中文的问题
查看所有表空间大小,使用情况,使用率的sql语句
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
total / (1024 * 1024 * 1024) "表空间大小(G)",
free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
执行上述sql语句即可查看所有的表空间名称,大小,使用情况。前提是执行者需要有dba权限。

整库备份还原首先需要system用户登陆,查询字符集,注意保持字符集的一致,然后然后创建备份目录,备份目录要对oracle用户开放读写权限。
1,备份
在系统上创建备份文件的存储目录,并且赋权给你oracle读写
mkdir /oraclebak
chown -R oracle:oinstall /oraclebak
以oracle用户登陆操作系统,以system用户的登陆sqlplus,创建备份的映射目录。
SQL> create directory data_dir as '/oraclebak';
以oracle用户登陆操作系统使用expdp执行备份工作。
expdp system/oracle directory=data_dir dumpfile=full.dmp full=y compression=all
2,还原,因为是全库备份,所有不需要考虑用户以及用户权限的问题,必须要考虑的问题是还原的时候,目的数据库一定要新建原数据库的名称一致的表空间,且目的数据库表空间容量大于原数据库。
以下为原数据库表空间信息

因为原数据库有ZWFW_MIG表空间,且大小为1G,所以在目的数据库上也创建大小大于1G,名称为ZWFW_MIG的表空间,以下为具体命令
CREATE TABLESPACE ZWFW_MIG
DATAFILE '/oracledata/ZWFW_MIG.dat'
SIZE 1024M
REUSE
AUTOEXTEND ON NEXT 100M MAXSIZE 2048M;
关键词解释:
CREATE TABLESPACE:创建表空间的关键字
ZWFW_MIG:新创建的表空间的名字
DATAFILE '/oracledata/ZWFW_MIG.dat' :定义表空间对应的数据文件位置,注意oracle用户要有权限
SIZE 1024M:表空间大小为1024MB
REUSE:允许oracle重新使用数据文件
AUTOEXTEND ON NEXT 100M MAXSIZE 2048M;:允许表空间自动增长,每次增长100M,最大为2048M
以上为创建新的表空间,如果目的数据库已有对应的表空间,则不需要另外新建,只需要扩展目的数据库的表空间即可,有两种方式扩展,
第一,当对应的表空间数据文件所在目录有足够的存储空间时,直接使用以下命令重新定义数据文件的大小,数据文件大小重新定义之后,表空间大小就被改变了。
alter database datafile '/u01/app/oracle/12/oradata/orcl/sysaux01.dbf' resize 3096m; (重新定义/u01/app/oracle/12/oradata/orcl/sysaux01.dbf数据文件的大小为3GB)
第二,当表空间对应的数据文件所在目录没有足够的存储空间时,需要另外增加数据文件,对应的命令如下
alter tablespace UNDOTBS1 add datafile '/oracledata/UNDOTBS1.dbf' size 5120m; (为UNDOTBS1表空间添加数据文件,添加的数据文件为5120M,位置为/oracledata/UNDOTBS1.dbf)
关于临时表空间:
查询原数据库的临时表空间,
select c.tablespace_name,
to_char(c.bytes/1024/1024/1024,'99,999.999') total_gb,
to_char( (c.bytes-d.bytes_used)/1024/1024/1024,'99,999.999') free_gb,
to_char(d.bytes_used/1024/1024/1024,'99,999.999') use_gb,
to_char(d.bytes_used*100/c.bytes,'99.99') || '%'use
from (select tablespace_name,sum(bytes) bytes
from dba_temp_files GROUP by tablespace_name) c,
(select tablespace_name,sum(bytes_cached) bytes_used
from v$temp_extent_pool GROUP by tablespace_name) d
where c.tablespace_name = d.tablespace_name;
扩展临时表空间
扩展临时表空间和扩展永久表空间的命令基本相似,仅仅是添加了temp关键字
alter tablespace TEMP add tempfile '/oracledata/TEMP1.dbf' size 15360m;
以上命令为为TEMP临时表空间添加数据文件,数据文件为15G
新建临时表空间
create temporary tablespace ZWFW_TEMP tempfile '/oracledata/ZWFW_TEMP1.dbf' size 1024m reuse autoextend on next 100m maxsize 2048m;
查询所有表空间的所有信息
select * from dba_tablespaces
创建还原的操作目录对象
create directory data_dir as '/oracledata';
关于归档模式,关闭归档模式可以快速的执行还原操作,且生成的日志较小。关于归档模式的命令如下
1.改变非归档模式到归档模式:
1)SQL> conn / as sysdba (以DBA身份连接数据库)
2)SQL> shutdown immediate;(立即关闭数据库)
3)SQL> startup mount (启动实例并加载数据库,但不打开)
4)SQL> alter database archivelog; (更改数据库为归档模式)
5)SQL> alter database open; (打开数据库)
6)SQL> alter system archive log start; (启用自动归档)
7)SQL> exit (退出)
做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!
2.改变归档模式到非归档模式:
1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>STARTUP MOUNT;
3)SQL>ALTER DATABASE NOARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;
执行还原命令
impdp system/system directory=data_dir dumpfile=full.dmp full=y
1,创建表空间
2,
3,创建表
4,插入数据
5,定义导出目录
6,导出全库
7,创建表空间
8,导入全库
Oracle 整库备份还原的更多相关文章
- SqlServer整库备份还原脚本
最近领导要求定时备份数据库(不是我的作业), 搜了一下资料还不少, 先mark一下, 得空再验证吧!!! 以下内容为转载 转自:https://www.cnblogs.com/want990/p/74 ...
- MongoDB整库备份与还原以及单个collection备份、恢复方法
mongodb数据库维护离不开必要的备份.恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份和恢复操作就可以了 mongodump.exe备份的原理是通过一次查询获取当前服务器快照 ...
- MongoDB之整库备份还原单表collection备份还原
MongoDB之整库备份还原单表collection备份还原 cd D:\MongoDB\bin 1整库备份: mongodump -h dbhost -d dbname -o dbdirectory ...
- MongoDB整库备份与还原以及单个collection备份、恢复
备份前的检查> show dbsMyDB 0.0625GBadmin (empty)bruce 0.0625GBlocal (empty)test 0.0625GB> use MyDBsw ...
- MongoDB整库备份+整库导入
备份前检查: [root@Load29 tmp]# mongo localhost: MongoDB shell version: connecting to: localhost:/test Ser ...
- 重装系统备份MYSQL数据(整库备份)
今天要重装Windows 8系统,但是我的Mysql里面数据太多,要备份成sql文件实在太麻烦,于是我听说可以直接拷贝数据文件夹,所以就试了,结果还成果了. 具体如下: 我安装的时候把数据文件夹就放在 ...
- Oracle之RMAN备份及还原
RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_heade ...
- mysql innobackupex xtrabackup 大数据量 备份 还原
大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 一.Xtrabackup介绍 1, ...
- mysql innobackupex xtrabackup 大数据量 备份 还原(转)
原文:http://blog.51yip.com/mysql/1650.html 作者:海底苍鹰 大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推 ...
随机推荐
- 3gcms-Flash幻灯片上传后图片模糊解决办法
很简单,不用纠结,直接修改admin/lib/action/FileAction.class.php 将 $upload->thumbMaxWidth='300'; //以字串格式来传,如果你希 ...
- 写SQL的套路
定义问题 转化问题 如要解决的问题是:查出每门课程成绩都大于80分学生的姓名,可以转化为:只要学生最小分数的课程大于80分,就是所有课程成绩都大于80分. 查询同名同姓学生名单并统计同名人数--> ...
- [转载]使用postgresql安装wordpress
1. 环境安装sudo apt-get install apache2sudo apt-get install postgresql-9.1sudo apt-get install php5sudo ...
- P4929-[模板]舞蹈链(DLX)
正题 题目链接:https://www.luogu.com.cn/problem/P4929 题目大意 \(n*m\)的矩形有\(0/1\),要求选出若干行使得每一列有且仅有一个\(1\). 解题思路 ...
- (一):细说贝叶斯滤波:Bayes filters
认知计算,还要从贝叶斯滤波的基本思想讲起,本文主要是对<Probabilistic Robotics>中贝叶斯滤波器部分的详细讲解. 这一部分,我们先回顾贝叶斯公式的数学基础,然后再来介绍 ...
- Redis事件机制
Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件:Redis通过套接字与客户端连接,文件事件是服务器对套接字操作的抽象. 时间事件:Redis服务器中的一些操作需要给定的时间 ...
- SpringCloud升级之路2020.0.x版-25.OpenFeign简介与使用
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent OpenFeign 的由来和实现思路 在微服务系统中,我们经常会进行 RPC 调用.在 S ...
- 在昨天夜黑风高的晚上,我偷了隔壁老王的Python入门课件,由浅入深堪称完美!
隔壁老王是一个资深码农,就业教育事业的秃顶之才昨天我下楼打酱油,看他迎面走来,满目春光我好奇的问道:老王,有什么好事,隔壁小花叫你上门了吗?老王:秘密!!我心想:哎呦~不错啊半晚之时,连猫狗都睡着了, ...
- CefSharp基于.Net Framework 4.0 框架编译
CefSharp基于.Net Framework 4.0 框架编译 本次源码使用的是Github上CefSharp官方的79版本源码 准备 IDE Visual Studio 2017 Enterpr ...
- Git学习笔记03-原理
在Git中,算上远程Git仓库有四个工作区域 Git本地有三个区域(工作区域.暂存区,资源区,远程Git仓库) 工作区域:就是你本机写好的代码,你可以看到的 暂存区:你写好的代码上传后被git管理的内 ...