Oracle_导入导出相关脚本

本文介绍了如何在Oracle数据库中进行导入导出操作,包括仅导出表结构、带有数据的导入导出,以及特定条件下的导入导出脚本。通过PL/SQL Developer工具和命令行imp/exp命令,详细阐述了不同场景下的使用方法,同时提供了查询表空间名的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、oracle导出建库脚本(只导表结构,不包含数据时)     

    在pl/sql developer中操作(其他操作方式都没这个方便):

选择tools(工具)->import user object(导出用户对象),页面中不选“include storage”,在导出时不会导出表空间信息。不选“include owner”,表和视图、存储过程中不会包含用户信息。

 

如果包含数据,从一个用户导出数据,恢复到另一个用户:

使用命令行方式:imp命令

导出时使用owner=用户名,确保只导出一个用户的数据。

例:

exp 用户名/密码@ip地址/实例名 owner=用户名 file=路径/文件名.dmp 

导入时使用fromuser=原用户名 touser=新用户名

例:

imp 用户名/密码@ip地址/实例名 fromuser=老用户名 touser=新用户名 file=路径/文件名.dmp ignore=y

两个用户名的表空间不同时:对新用户名设置默认表空间,导入时会默认导入到此用户的默认表空间里面。

 

-- 导出相关脚本
exp  username@127.0.0.1/orcl file = D:\dmp.DMP  owner = 用户名  grants=n  indexes=n triggers=n constraints=n;

 

-- 导入相关脚本
imp  username@127.0.0.1/orcl file = D:\dmp.DMP  grants=n  indexes=n constraints=n full=y tablespaces=TABLESPACES_NAME;

-- 只导入数据脚本
imp  username@127.0.0.1/orcl file = D:\dmp.DMP  grants=n  indexes=n constraints=n full=y data_only=Y tablespaces=TABLESPACES_NAME;

-- 只导某张表脚本
imp  username@127.0.0.1/orcl file = D:\dmp.DMP  grants=n  indexes=n constraints=n tables=(TABLES_NAME) data_only=Y tablespaces=TABLESPACES_NAME;

查询表空间名

select b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes/1024/1024 大小M,
 (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
 substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
from dba_free_space a,dba_data_files b
 where a.file_id=b.file_id
 group by b.tablespace_name,b.file_name,b.bytes
 order by b.tablespace_name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值