Oracle备份、还原数据库
备份数据库
创建备份目录(用sys账号),若已创建备份目录,此步可忽略
create directory db_bak as 'D:\ ECIMS_DB'
--查看创建的目录
select * from dba_directories --删除已创建的目录
drop directory DB_BAK 格式:
drop directory 目录名
备份(导出)数据库(cmd状态下)
expdp XXX/XXX@XXX schemas=XXX dumpfile=XXX_20181130.dump logfile=XXX_20181130.LOG DIRECTORY=DB_BAK 语法:
expdp 用户名/密码@实例名 schemas=用户名 dumpfile=导出dump文件名.dump logfile=导出日志文件名.LOG DIRECTORY=DB_BAK
导入数据库
步骤一、导入前,先删除账号(plsql状态下)
drop user XXX cascade; 格式:
drop user 用户名 cascade;
注:若删除不掉,需先删除所有会话!!!
select username, sid, serial# from v$session where username='XXX' --找到用户SESSION 格式:
select username, sid, serial# from v$session where username='用户名' --找到用户SESSION 注:若有多条会话,需批量删除 alter system kill session '249,57377' --杀掉用户SESSION 'sid,serial#'
alter system kill session '250,57376' --杀掉用户SESSION 'sid,serial#'
alter system kill session '251,57375' --杀掉用户SESSION 'sid,serial#' 格式:
alter system kill session 'sid,serial'
步骤二、创建账号,赋予权限(plsql状态下)
create user XXX identified by XXX default tablespace USERS
temporary tablespace TEMP
profile DEFAULT; -- Grant/Revoke role privileges
grant connect to XXX;
grant dba to XXX;
grant resource to XXX; -- Grant/Revoke system privileges
grant alter any sequence to XXX;
grant alter any table to XXX;
grant alter any trigger to XXX;
grant change notification to XXX;
grant create any procedure to XXX;
grant create any sequence to XXX;
grant create any table to XXX;
grant create any type to XXX;
grant create any view to XXX;
grant unlimited tablespace to XXX; --------------------------------------------------------------
格式:
create user 用户名 identified by 密码 default tablespace USERS
temporary tablespace TEMP
profile DEFAULT; -- Grant/Revoke role privileges
grant connect to 用户名;
grant dba to 用户名;
grant resource to 用户名; -- Grant/Revoke system privileges
grant alter any sequence to 用户名;
grant alter any table to 用户名;
grant alter any trigger to 用户名;
grant change notification to 用户名;
grant create any procedure to 用户名;
grant create any sequence to 用户名;
grant create any table to 用户名;
grant create any type to 用户名;
grant create any view to 用户名;
grant unlimited tablespace to 用户名;
步骤三、导入数据(cmd状态下)
impdp XXX/XXX DIRECTORY=db_bak DUMPFILE=XXX.dump logfile=XXX.log REMAP_SCHEMA=XXX:XXX remap_tablespace=XXX:XXX 格式
impdp 用户名/密码 DIRECTORY=db_bak DUMPFILE=备份文件名.dump logfile=备份日志文件名.log REMAP_SCHEMA=导出用户名:导入用户名 remap_tablespace=导出表空间:导入表空间
方式二备份及导入(推荐)
--备份数据库
expdp YZJ_TEST/YZJ_TEST@ECIMS schemas=YZJ_TEST dumpfile=YZJ_TEST_20181130.dump logfile=YZJ_TEST_20181130.LOG DIRECTORY=DB_BAK
--删除帐号
drop user YZJ_TEST cascade;
--查看账号连接数量
select username, sid, serial# from v$session where username='YZJ_TEST' --找到用户SESSION
alter system kill session '249,57377' --杀掉用户SESSION 'sid,serial#' /*第1步:创建临时表空间 */
create temporary tablespace DMIS_STD_TEMP
tempfile 'F:\app\Administrator\oradata\ECIMS\DMIS_STD_TEMP.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local; /*第2步:创建数据表空间 */
create tablespace DMIS_STD_DATA
logging
datafile 'F:\app\Administrator\oradata\ECIMS\DMIS_STD_DATA.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local; /*第3步:创建用户并指定表空间 */
create user DMIS_STD identified by DMIS_STD
default tablespace DMIS_STD_DATA
temporary tablespace DMIS_STD_TEMP; 3、导入语句按下面的方式
impdp system/eMarine123 DIRECTORY=db_bak DUMPFILE=ERIM_PROD.dump logfile=ERIM_PROD_imp.log REMAP_SCHEMA=ERIM_PROD:<新用户名> remap_tablespace=ERIM_PROD:<新表空间名>
注意事项!!
注:若是新数据库,需要执行第2、3步骤,旧数据库无需执行!!!!
Oracle备份、还原数据库的更多相关文章
- oracle备份还原数据库
首先到对应bin目录下打开cmd(windows),linux用相应终端链接:eg:D:\app\sun\product\11.2.0\dbhome_1\BIN 用户备份:exp u_tdms/p_t ...
- SQL点滴12—SQL Server备份还原数据库中的小把戏
原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support 1 media families, ...
- 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测
如何使用T-SQL备份还原数据库及c#如何调用执行? 准备材料:Microsoft SQL Server一部.需要还原的bak文件一只 一.备份 数据库备份语句:user master backup ...
- SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库
我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...
- WinForm c# 备份 还原 数据库(Yc那些事儿 转)
Yc那些事儿 我愿意 为了我的幸福 奋斗终生 2008-11-17 18:04 WinForm c# 备份 还原 数据库 其实是个非常简单的问题,一个Form,一个Button,一个OpenF ...
- Oracle备份恢复之数据库备份、还原、恢复理论
备份 冷备:关闭数据库并进行数据库物理文件的拷贝过程. 热备:数据库处于open阶段时的备份,通过指令将数据库文件头锁定,然后进行物理系统拷贝,然后通过指令解冻数据文件头,解冻后通过日志文件和undo ...
- 【摘】Mysql备份还原数据库之mysqldump实例及参数详细说明
原文http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html 我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一 ...
- Mysql备份还原数据库之mysqldump实例及参数详细说明
[root@localhost myexport]# mysqldump -h211.100.75.204 -uroot -p@^#coopen -P5029 --single-transaction ...
- (转)Mysql备份还原数据库之mysqldump实例及参数详细说明
http://www.xuejiehome.com/blfl-2.html http://www.cnblogs.com/xuejie/archive/2013/01/11/2856911.html ...
- Oracle 备份还原
导出整个数据库,在CMD命令窗口执行 EXP 用户名/密码@服务名(数据库) FULL=Y FILE=路径 EXP INTERFACE/INTERFACE@PIVAS_XMDWYY FULL=Y FI ...
随机推荐
- df,dh 命令
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/df2f05c4-b ...
- 剑指offer题解(Java版)
剑指offer题解(Java版) 从尾到头打印链表 题目描述 输入一个链表,按从尾到头的顺序返回一个ArrayList. 方法1:用一个栈保存从头到尾访问链表的每个结点的值,然后按出栈顺序将各个值存入 ...
- [译]C# 7系列,Part 2: Async Main 异步Main方法
原文:https://blogs.msdn.microsoft.com/mazhou/2017/05/30/c-7-series-part-2-async-main/ 你大概知道,C#语言可以构建两种 ...
- C# 只读模式读取txt文件内容
读取txt文件时,提示异常: 文件“..\Log\all_info.txt”正由另一进程使用,因此该进程无法访问此文件 原因: 日志文件通过lognet生成的日志文件(C#使用log4net记录日志) ...
- ASP.NET+d3.js实现Sqlserver数据库的可视化展示
效果: 数据库端: 前端展示: 实现原理: 1.在数据段建立两个存储过程 queryUserAnsawer(id) 根据用户ID返回每一题的得分,主要是bcp exe时不能直接在sqlserver中执 ...
- JS---DOM---案例:模拟百度搜索框
模拟百度搜索框 我的思路整理: 1. 注册文本框抬起事件(onkeyup) 2. 处理函数: --->创建临时数组,循环遍历文本框键入的文字内容和keywords数组,用keyWords[i]. ...
- DG中switchover切换操作
问题描述:我们配置DG的目的就是为了在主库出现故障时,备库能够提供服务,保证业务的正常运行,switchover是用户有计划的进行停机切换,能够保证不丢失数据,我记录一下我进行switchover中的 ...
- Redis简单命令(部分示例代码)
一.redis文件夹下的可执行文件(文章尾部有示例代码) 可执行文件 作用 redis-server 启动redis redis-cli redis命令行工具 redis-benchmark 基准测试 ...
- CentOS自行编译升级Git
上一篇升级Git的方式是通过更改yum的源,然后通过yum来安装,那么对于喜欢折腾的人来说,怎么通过Git的源代码自行安装呢? 我安装的是CentOS-7-x86_64-1908,自带的git是1.8 ...
- Git submodule update 命令执行
git submodule update操作可能导致执行.gitmodules文件中定义的任意shell命令. 受影响的产品 Git版本2.20.0至2.24.0 修复版本 Git v2.24.1,v ...