imp导入到sys中同名表空间中
导出数据
表结构导出为sql,表数据导出为dmp。
导入数据
sqlplus中登录新建用户,@sql文件导入表结构成功。
sqlplus ins/123456
@D:\ins.sql
imp命令导入时导入到了sys中去
imp "'ins/123456 as sysdba'" file=D:\ins.dmp full=y ignore=y;
查询
新建的用户下和sys中都有相同的表,且都属于_data表空间
唯一区别是sys下的表有数据,ins下的表无数据。
排查
删除ins下的表
删除后发现sys下的表依然存在
删除表空间
drop tablespace INS_DATA including contents;
删除表空间后,发现两个用户下的表都没有了
原因分析
1.用户、表空间是平级关系,都属于system object。
2.schema属于用户,schema和user是从属关系。
3.表空间是物理文件的逻辑结构,对于用户来说,每个用户都可以把自己的表放进去,但是因为表和用户是从属关系,所以会存在同一表空间内有多个表名的情况(这些同名表属于不同用户)。
把表授权给其他用户访问
select 'grant select on usera.' || tname || ' to userb;' from tab;
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
2021-12-01 Win10关闭自动更新和防护