Fork me on GitHub

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表空间
image
image
唯一区别是sys下的表有数据,ins下的表无数据。

排查

删除ins下的表

删除后发现sys下的表依然存在

删除表空间

drop tablespace INS_DATA including contents;

删除表空间后,发现两个用户下的表都没有了
image

原因分析

1.用户、表空间是平级关系,都属于system object。
2.schema属于用户,schema和user是从属关系。
3.表空间是物理文件的逻辑结构,对于用户来说,每个用户都可以把自己的表放进去,但是因为表和用户是从属关系,所以会存在同一表空间内有多个表名的情况(这些同名表属于不同用户)。

把表授权给其他用户访问

select 'grant select on usera.' || tname || ' to userb;' from tab;
posted @   秋夜雨巷  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2021-12-01 Win10关闭自动更新和防护
点击右上角即可分享
微信分享提示