plsql导出导入 表结构、表数据、存储过程等
导出:
首先点击 TOOLS,选择 EXPORT TABLES
选中你需要导出的表,
勾选 “Create tables” 是因为在导入的数据库中没有此表
如果勾选"Drop tables" 而没有勾选 “Create tables” ,而数据库中没有此表,会报表和视图不存在
Output file 为导出的路径
如果你想导的表 数据记录很多,就只想导出表结构,你可以在 where clause 后面接一个 否定条件,就可以只导出表结构而不导出数据了。 如下是 1=2 ,亲测有效
导入:(本地装了oracle才可以)
首先点击 TOOLS,选择 IMPORT TABLES
选择刚才导出的文件导出即可
导出用户对象: 包括表、存储过程、视图等,要更改表空间名称
修改表空间name:
1、 使用oracle用户登录执行
$sqlplus / as sysdba
2、 执行修改表空间命令如下
alter tablespace TEST rename to TEST1;
注:可连续对多个表空间进行重命名
3、 确认表空间名已经修改
select name from v$tablespace;
前提:在CMD 命令下
导出命令:exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:F:abcd.dmp)
测试截图:exp ZM/sql123@ORCL owner=ZM file=F:abcd.dmp
导入命令:imp 用户名/密码@数据库 fromuser=用户名 touser=用户名 file=d:cu.dmp ignore=y
imp:命令类型
cu/mycu@db:导入的数据库登陆(用户名/密码@数据库)
fromuser:文件的指定用户
touser:指定导入到当前登录的数据库某个用户
file:需要导入的数据文件
ignore:是否忽略创建错误
测试截图:imp ZM/sql123@ORCL fromuser=ZM touser=SZZM file=F: est.dmp ignore=y
如果报错:msg.dmp 是由具有dba角色的用户到导出的。要有相同或更高权限的用户才能导入该文件。
解决方案 :用system oracle123登录,给用户授权 grant dba to XXX
删除用户表空间所有数据
最省心的方法是级联删除 drop user XXXX cascade; 最后这个级联特别有用(删除用户以及所有关联的数据库对象) 麻烦一点的办法,把删除语句做成存储过程
注释:
1、删除用户 然后重建,这样最快:
1、在cmd中输入
sqlplus / as sysdba
2、删除用户A,级所有和用户A关联的数据
drop user a cascade;
3、重建用户A
create user A identified by 密码;
grant connect,resource to A;
4、登入A用户,就ok了
conn A/密码
这个方法挺快的,还方便啊。
drop user xxx cascade这样有些数据库对象好像也删除不了
有时候某些用户被授予很复杂的权限和角色,(若删除用户再创建用户的方法会很繁琐),所以还是衡量哪种方法更快,根据实际情况选择
————————————————
导出表数据:阙教
本地装了Oracle的话,导入表数据 阙教:(本地装了oracle才行)
原文链接:https://blog.csdn.net/qq_25221835/article/details/82586961