plsql导出导入 表结构、表数据、存储过程等 Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)

时间:2024-03-04 08:24:38

 

导出:
首先点击   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:\test.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