Oracle imp exp 导入导出 执行脚本
一:用命令 imp/exp 的方式进行数据的导入和导出
一:文件后缀名:
二:oracle 导出 exp 命令
1 echo 开始备份数据库
2 if not exist D:\oracle_bak\files md D:\oracle_bak\files
3 if not exist D:\oracle_bak\logs md D:\oracle_bak\logs
4
5 set var=%date:~0,4%%date:~5,2%%date:~8,2%%time:~9,2%
6 exp GDSDCZJ/GDSDCZJ1234@192.168.1.100/pdborcl file=D:\oracle_bak\files\GDSDCZJ_%var%.dmp log=D:\oracle_bak\logs\GDSDCZJ_%var%.log
7 echo 备份数据库结束
8
9 echo 删除30天前的备份记录
10 forfiles /p "D:\oracle_bak" /s /m *.dmp /d -30 /c "cmd /c del @path"
11 forfiles /p "D:\oracle_bak" /s /m *.log /d -30 /c "cmd /c del @path"
12 echo 删除30天前的备份记录结束
13 exit
14
三:oracle 导入 imp 命令
1 echo 开始导入数据库
2 set var=%date:~0,4%%date:~5,2%%date:~8,2%
3 imp GDSDYTH/GDSDYTH@192.168.0.110/pdborcl full=y ignore=y file=D:\oracle_bak\files\gdsd_czj_%var%.dmp log=D:\oracle_bak\logs\gdsd_czj_to_apa_imp_%var%.log
4 echo 导入数据库结束
5 exit
6
四:oracle 删除用户 再创建用户并赋予相对应的操作权限,然后再 导入 imp 命令
1 drop user sync_plus_1_0501 cascade;
2 create user sync_plus_1_0501 identified by sync_plus_1_0501
3 default tablespace sync_plus_1 temporary tablespace temp quota 500m on users;
4 grant all privileges to sync_plus_1_0501 ;
5 grant ALLTAX to SYNC_PLUS_1_0501;
6 grant ALLINONE_JX to sync_plus_1_0501 ;
7 grant ALLOUTSIDE to sync_plus_1_0501 ;
8 grant dba to sync_plus_1_0501;
9 grant RDCX to sync_plus_1_0501;
10 quit;
11
1 echo 开始导入数据库
2 sqlplus sys/oracle@192.168.1.168/pdborcl as sysdba @F:\decoument\DB_soft\createUser.sql
3
4 set var=%date:~0,4%%date:~5,2%%date:~8,2%
5 imp sync_plus_1_0501/sync_plus_1_0501@192.168.1.168/pdborcl full=y ignore=y
6 file=F:\decoument\DB_soft\imp_data\SYNC_PLUS_1_%var%.dmp
7 log=F:\decoument\DB_soft\imp_data\logs\SYNC_PLUS_1_to_apa_imp_%var%.log
8 echo 导入数据库结束
9 exit;
执行 效果:
五:每天自动创建当天日期为后缀名的oracle用户。并给该用户导入数据
1:看执行效果
2:上脚本:
Imp_toDay_Data.bat
1 echo 开始导入数据库
2 set var=%date:~0,4%%date:~5,2%%date:~8,2%
3 sqlplus sys/oracle@192.168.1.168/pdborcl as sysdba @F:\decoument\DB_soft\imp_toDay_Data\createUser.sql
4
5 imp sync_plus_1_%var%/sync_plus_1_%var%@192.168.1.168/pdborcl full=y ignore=y file=F:\decoument\DB_soft\SYNC_PLUS_1_%var%.dmp log=F:\decoument\DB_soft\imp_toDay_Data\logs\SYNC_PLUS_1_to_apa_imp_%var%.log
6 echo 导入数据库结束
7createUser.sql
1 declare
2 v_time varchar(20);
3 v_sql varchar(4000);
4 v_count int :=0;
5 v_count_sql varchar(4000);
6 v_username varchar(300);
7 begin
8 select to_char(sysdate,'yyyyMMdd') into v_time from dual;
9 v_username :='SYNC_PLUS_1_'||v_time;
10 dbms_output.put_line(v_username);
11 SELECT count(USERNAME) into v_count FROM ALL_USERS t where t.username =v_username ;
12 dbms_output.put_line(v_count);
13 if v_count = 0 then
14 v_sql :='create user sync_plus_1_'||v_time ||' identified by sync_plus_1_'||v_time ||' default tablespace sync_plus_1 temporary tablespace temp quota 500m on users';
15 dbms_output.put_line(v_sql);
16 execute immediate v_sql;
17 end if;
18 v_sql:='grant all privileges to sync_plus_1_'||v_time ;
19 dbms_output.put_line(v_sql);
20 execute immediate v_sql;
21 v_sql:='grant ALLTAX to sync_plus_1_'||v_time;
22 dbms_output.put_line(v_sql);
23 execute immediate v_sql;
24 v_sql:='grant ALLINONE_JX to sync_plus_1_'||v_time ;
25 dbms_output.put_line(v_sql);
26 execute immediate v_sql;
27 v_sql:='grant ALLOUTSIDE to sync_plus_1_'||v_time ;
28 dbms_output.put_line(v_sql);
29 execute immediate v_sql;
30 v_sql:='grant dba to sync_plus_1_'||v_time;
31 dbms_output.put_line(v_sql);
32 execute immediate v_sql;
33 v_sql:='grant RDCX to sync_plus_1_'||v_time;
34 dbms_output.put_line(v_sql);
35 execute immediate v_sql;
36 commit;
37 end;
38 /
39
40 quit;
六: 对oracle数据库某个用户 进行删表后再导入数据
Imp_SYNC_PLUS_1.bat
1 echo 开始导入数据库
2 sqlplus /nolog @F:\decoument\DB_soft\imp_data\createUser.sql
3
4 set var=%date:~0,4%%date:~5,2%%date:~8,2%
5 imp SYNC_PLUS_1/SYNC_PLUS_1@192.168.1.168/pdborcl full=y ignore=y file=F:\decoument\DB_soft\SYNC_PLUS_1_%var%.dmp log=F:\decoument\DB_soft\imp_data\logs\SYNC_PLUS_1_to_apa_imp_%var%.log
6 echo 导入数据库结束
7 exit;
createUser.sql
--drop user sync_plus_1 cascade;
--create user sync_plus_1 identified by sync_plus_1 default tablespace sync_plus_1 temporary tablespace temp quota 500m on users;
--grant all privileges to sync_plus_1 ;
--grant ALLTAX to sync_plus_1;
---grant ALLINONE_JX to sync_plus_1 ;
--grant ALLOUTSIDE to sync_plus_1 ;
--grant dba to sync_plus_1;
--grant RDCX to sync_plus_1;
conn SYNC_PLUS_1/SYNC_PLUS_1@192.168.1.168/pdborcl ; ----禁用所有的外键
/*--批量生成规则
select 'alter table ' || table_name || ' disable constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'R';
*/
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit; ------禁用所有的主键;
/*
select 'alter table ' || table_name || ' disable constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'P'; */
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='P') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit; ----删除所有外键:
/*
select 'alter table ' || table_name || ' drop constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'R';
*/ SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' drop CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
/*for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;*/
end;
/
commit; ----删除主键:
/*
select 'alter table ' || table_name || ' drop constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'P'; */ SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' drop CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='P') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
/*for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;*/
end;
/
commit; -----删除所有表
--- 批量生成规则 select 'drop table '||table_name||';' from cat where table_type='TABLE' ; SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'drop TABLE '||TABLE_NAME||' ' as v_sql from cat where table_type='TABLE') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
/*for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;*/
end;
/
commit; quit;
二:使用 PL/SQL 工具 进行数据的导入 导出
1: 前提:需要安装oracle Xe 的客户端
2: 使用Plsql 工具 进行demp 文件 的数据导入
——————————————————————————————————————————————————————————————————————————————————————————————————————
Oracle imp exp 导入导出 执行脚本的更多相关文章
- oracle imp exp 导入导出
一.exp导出 exp myuser/mypwd@orcl file=D:\sql-bak\myuser.dmp log=D:\sql-bak\myuser.log exp 用户/密码@实例名 fil ...
- oracle快速创建用户、imp/exp导入导出dmp文件
1.首先我们可以用管理员用户以sysdba的身份登录oracle sqlplus username/password as sysdba 2.然后我就可以来创建用户了. create user use ...
- 关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 ...
- oracle数据库数据导入导出步骤(入门)
oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...
- Oracle 数据泵导入导出总结
Oracle 数据泵(IMPDP/EXPDP)导入导出总结 Oracle数据泵导入导出是日常工作中常用的基本技术之一,它相对传统的逻辑导入导出要高效,这种特性更适合数据库对象数量巨大的情形,因为我日常 ...
- Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题
影响Oracle数据库字符集最重要的参数是NLS_LANG参数. 它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言.地域和字符集),每 ...
- oracle数据库的导入 导出实例
oracle数据库的导入 导出实例 分类: DataBase2011-09-07 23:25 377人阅读 评论(0) 收藏 举报 数据库oraclefileusercmdservice 我要从另外一 ...
- oracle数据的导入导出(两种方法三种方式)
大概了解数据库中数据的导入导出.在oracle中,导入导出数据的方法有两种,一种是使用cmd命令行的形式导入导出数据,另一种是使用PL/SQL工具导入导出数据. 1,使用cmd命令行导入导出数据 1. ...
- ORACLE数据库在导入导出时序列不一致的问题
ORACLE数据库在导入导出时序列不一致的问题 在使用ORACLE数据库时,当给一个表设置自增字段时,我们经常会使用到序列+触发器来完成.但当你需要对数据库进行导入导出时,序列很容易出问题. 当你 ...
随机推荐
- Emmet 记录
Refs 熟悉 css 有优势,emmet 的的缩写语法特别像 css 选择器. =>参考本博笔记 # id > 直接子元素 child . class + Sibling 同级相邻的一个 ...
- MFC项目中:报错:“fatal error LNK1561: 必须定义入口点”解决方法
编译的时候,报错:“fatal error LNK1561: 必须定义入口点” 解决方案1: 右键->属性->链接器->高级->入口点,设置成:WinMainCRTStartu ...
- lua 语言笔记
Lua语言基础汇总(1) -- 类型与值 基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8种基本类型,分别是: nil(空)类型 bool ...
- 迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法
迅为4412开发板QtE系统源码-屏幕横竖屏切换修改方法 详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com/ 用户在开发板上运 ...
- 第25月第8天 100-Days-Of-ML-Code
1.100-Days-Of-ML-Code https://github.com/Avik-Jain/100-Days-Of-ML-Code https://github.com/llSourcell ...
- PhpStorm+xdebug+postman调试
PhpStorm+xdebug+postman调试 写PHP时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了. 下面记录 ...
- gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化
参考链接 : http://blog.csdn.net/qq_31108501/article/details/51842166 gcc -D选项的作用,声明宏 参考链接: http://blog. ...
- day 10 - 2 函数练习
1.写函数 接收 n 个数字 求这些参数数字的和 def sum_func(*args): total = 0 for i in args: total += i return total prin ...
- JAVA知识笔记
1.对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的.更详细介绍参考http://blog.csdn.net/libing13820393394/articl ...
- scrapy基础 之 爬虫入门:先用urllib2来跑几个爬虫
1,爬取糗事百科 概况:糗事百科是html网页,支持直接抓取html字符然后用正则过滤 爬取糗事百科需要同时发送代理信息,即user-agent import urllib2,re def pacho ...