orcale数据泵导入导出小记

准备工作

使用expdp命令导出数据
1.登录数据库,进入sqlplus
	cmd>sqlplus sys/aaaaaa@orcl as sysdba
	或者免密登录
	cmd>sqlplus / as sysdba
2. 创建的目录对应的名字(并不会创建实际目录,只做映射)
	SQL>create directory export_dir as 'E:\oradataBak';
	#授读写权限给用户
	SQL> grant read, write on directory export_dir to 用户名;
	执行完后要在对应目录创建这个(E:\oradataBak)文件夹
	cmd>mkdir -p  E:\oradataBak
3.导出数据
	cmd>expdp 用户名/密码@orcl directory=export_dir dumpfile=导出的文件名.dmp logfile=导出日志.log schemas=NCC10
	#可拼接参数 
	#schemas=用户名 按用户导出
	#tablespaces=表空间名称 按表空间导出
	#tables=table1,table2 导出多个表
	#tables=table1='where id=1' 按查询条件导出数据
使用impdp命令导入数据

准备步骤

-- 创建表空间
create tablespace DATA_0520 datafile 'F:\oradata\0520\DATA_01.dbf' size 10240m autoextend on next 50m maxsize unlimited;
-- 创建索引空间
create tablespace INDEX_0520 datafile 'F:\oradata\0520\INDEX_01.dbf' size 10240m autoextend on next 50m maxsize unlimited;
-- 创建临时表空间
create temporary tablespace DATA_0520_TEMP tempfile 'F:\oradata\0520\DATA_temp.dbf' size 50m autoextend on next 50m maxsize unlimited;
-- 创建用户并制定默认表空间和临时表空间
CREATE USER SC0520 IDENTIFIED BY SC0520 DEFAULT TABLESPACE DATA_0520 TEMPORARY TABLESPACE DATA_0520_TEMP;	
参照expdp导出步骤”里的前二步,建立逻辑导入目录,创建用户且授权;
cmd>impdp 用户名/密码@orcl directory=import_dir dumpfile=导入文件名.dmp logfile=导入日志.log remap_schema=source_username:target_username remap_tablespace= source_tablespace:target_tablespace,source_indexspace:target_indexspace,source_tempspace:target_tempspace parallel=4 full=y

【注意】:
(1)如果是还原到同一表空间的不同数据库用户,则可以不需要“remap_tablespace= source_tablespace: target_tablespace”
(2)remap_schema:将一个方案中的对象加载到另一个方案。
(3)remap_tablespace:将表空间对象重新映射到另一个表空间。
(4)parallel:更改当前作业的活动 worker 的数量,提高速度。
 #full=y全量导入
 #table_exists_action:
	# skip 是如果已存在表,则跳过并处理下一个对象;
	# append是为表增加数据;
	# truncate是截断表,然后为其增加新数据;
	# replace是删除已存在表,重新建表并追加数据;

 #exclude=index 导入数据
 #include=index 导入索引
 #remap_schema,remap_tablespace可以指定多个,remap_tablespace=源1:目标1,源2:目标2
 不同源可以指向相同目标
任务执行状态查看
#查询导入导出任务详情
select * from dba_datapump_jobs

cmd> impdp 用户名/密码 attach=任务名称
输入status可以查看任务状态是否有更新

在这里插入图片描述

相关SQL
--表空间使用率
SELECT
a.tablespace_name,
a.bytes / 1024 / 1024 "sum MB",
( a.bytes - b.bytes ) / 1024 / 1024 "used MB",
b.bytes / 1024 / 1024 "free MB",
round( ( ( a.bytes - b.bytes ) / a.bytes ) * 100, 2 ) "used%" 
FROM
	( SELECT tablespace_name, sum( bytes ) bytes FROM dba_data_files GROUP BY tablespace_name ) a,
	( SELECT tablespace_name, sum( bytes ) bytes, max( bytes ) largest FROM dba_free_space GROUP BY tablespace_name ) b 
WHERE
	a.tablespace_name = b.tablespace_name 
ORDER BY
	( ( a.bytes - b.bytes ) / a.bytes ) DESC
	
--查看表空间中数据文件存放的位置
SELECT
	tablespace_name,
	file_id,
	file_name,
	round( bytes / ( 1024 * 1024 ), 0 ) total_space 
FROM
	dba_data_files 
ORDER BY
	tablespace_name;

--创建表空间:
CREATE TABLESPACE 表空间名 'D:\orcl\data01.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;

--增加数据文件个数从而追加表空间大小(索引)
ALTER TABLESPACE 表空间名 ADD DATAFILE 'D:\orcl\data02.dbf' SIZE 10240M AUTOEXTEND ON NEXT 500M maxsize 12000M;

--增加临时表数据文件个数从而追加表空间大小
ALTER TABLESPACE 表空间名 ADD TEMPFILE 'D:\orcl\temp02.dbf' SIZE 10240M AUTOEXTEND ON NEXT 500M maxsize 12000M;

--创建用户
CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 默认表空间 TEMPORARY TABLESPACE temp;

--授权
GRANT connect,dba,resource to 用户;

--查询对应用户的表空间
select username,default_tablespace from dba_users;

--删除用户
drop user 用户名称 cascade;

--为用户指定表空间
alter user 用户名 default tablespace 表空间名字 ;

--查找表空间路径
select * from dba_data_files;

--查询表空间下的用户
select distinct s.owner from dba_segments s where s.tablespace_name ='表空间名称';

--删除表空间对应的dbf文件
alter tablespace NNC_DATA01  drop DATAFILE  '/home/oracle/datafiles/nnc_data01_ex22.dbf';

--修改dbf文件状态
ALTER DATABASE DATAFILE '/home/oracle/datafiles/nnc_data01_ex22.dbf' ONLINE

----创建用户test密码为123456并指定默认表空间为SYSTEM
create user test identified by 123456 Default tablespace SYSTEM;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值