新手求教 同一个数据库建两个表空间问题

时间:2022-05-03 00:47:55
新手刚用oracle 我在同一个数据库 oralce(数据库名) 里面建了两个表空间 
EBSPACE 和 EBSPACE2 每个空间里面建立一个用户 ebills_query 和 gjyw
我想当我登陆gjyw的时候 查看EBSPACE2的表
登陆ebills_query的时候查看EBSPACE的表
这样可行嘛?

13 个解决方案

#1


在线等 急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#2


自己顶  速度来人啊  高手~~~~

#3


可以用select table_name ,tablespace_name from user_tables where tablespace_name='表空间名称';
查看你表空间下的表

#4


你可以把gjyw用户的默认表空间设置为:EBSPACE2。
把ebills_query的默认表空间设置为:EBSPACE。这样在你用相应的用户登陆后进行查询的时间,就可以
从相应的表空间中查询出其该用户所属的表了。

用sys用户登陆,然后设置相应用户的默认表空间。
alter user user_name default tablepace  tablespace_name;

#5


表空间下面建用户,这说法不对,只能说给用户指定默认表空间,就像LS说的那样。

#6


各用户仅限定指定表空间限额。无权限在其他表空间上建表。



搞掂。

#7




楼主要理解这样一个关系。 
1. 一般我们都是先建表空间
2. 在建立用户,并且将用户指定到特定的表空间,比如我们之前创建的某个表空间。
3. 当我们用自己建立的用户连接数据库之后,在这个用户写的一些创建产生的表等对象都是放在该用户指定的比空间下。 我们可以 通过user_tables 这个表知道用户下有哪些表。 


一般我们都是从用户这个角度来看表等对象。 不同的用户还可以设置不同的权限。



------------------------------------------------------------------------------ 
Blog: http://blog.csdn.net/tianlesoftware 
网上资源: http://tianlesoftware.download.csdn.net 
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
Q Q 群:62697716

#8


--1、建立用户时指定默认表空间为相应的表空间,如:
create user ebills_query identified by ebills_query default tablespace EBSPACE;
create user gjyw identified by gjyw default tablespace EBSPACE2;
--2、登录相应的用户建立相应对象时使用默认表空间,即不指定tablespace参数(或者指定各自相应的表空间),如:
create table test(a varchar2);
--3、使用pl/sql developer工具察看时,左上角的(select filter)下拉列表中选择my objects就行了;

#9


--创建表空间、用户
create tablespace EBSPACE2 datafile 'd:\date\ebspace2.dbf' size 500M autoextend on maxsize unlimited;

create user gjyw identified by gjyw default tablespace EBSPACE2 temporary tablespace temp;

--赋权限
Grant Unlimited TableSpace To gjyw;
Grant DBA To gjyw;

--导表、数据
imp gjyw/gjyw@oracle fromuser=gjyw file=E:\yzbankdb\yzbankdb003_1.dmp touser=gjyw buffer=10240000 


然后pl_sql查询表的时候 出现的是另外一个表空间内的数据 ebills_query.sc_user

#10


用 ebills_query  给 gjyw  加权限 让他可以看 EBSPACE  啊 
另一个 也是 
有权限了 以后就可以查看了呀,

#11


LS  我是想用gjyw 查看 EBSPACE2的表啊 结果查出来的是 EBSPACE的表

#12


引用 11 楼 java_gjyw 的回复:
LS  我是想用gjyw 查看 EBSPACE2的表啊 结果查出来的是 EBSPACE的表


楼主还没明白oracle中关系。
oracle中 用户,表,表空间 三者的关系是 :
 表空间与用户不具有从属关系,表空间和表也没有从属关系。
 表 是从属于 用户的;
 一个表可能有使用多个表空间,一个表空间通常也会存储多个表的数据。
 用户有一个默认表空间,但是用户下的表 ,索引可以使用多个表空间
所以通常情况下是不存在用gjyw 查看 EBSPACE2的表这种做法

#13


明白了 谢谢各位大大 现在建两个数据库可以完成以上操作

#1


在线等 急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#2


自己顶  速度来人啊  高手~~~~

#3


可以用select table_name ,tablespace_name from user_tables where tablespace_name='表空间名称';
查看你表空间下的表

#4


你可以把gjyw用户的默认表空间设置为:EBSPACE2。
把ebills_query的默认表空间设置为:EBSPACE。这样在你用相应的用户登陆后进行查询的时间,就可以
从相应的表空间中查询出其该用户所属的表了。

用sys用户登陆,然后设置相应用户的默认表空间。
alter user user_name default tablepace  tablespace_name;

#5


表空间下面建用户,这说法不对,只能说给用户指定默认表空间,就像LS说的那样。

#6


各用户仅限定指定表空间限额。无权限在其他表空间上建表。



搞掂。

#7




楼主要理解这样一个关系。 
1. 一般我们都是先建表空间
2. 在建立用户,并且将用户指定到特定的表空间,比如我们之前创建的某个表空间。
3. 当我们用自己建立的用户连接数据库之后,在这个用户写的一些创建产生的表等对象都是放在该用户指定的比空间下。 我们可以 通过user_tables 这个表知道用户下有哪些表。 


一般我们都是从用户这个角度来看表等对象。 不同的用户还可以设置不同的权限。



------------------------------------------------------------------------------ 
Blog: http://blog.csdn.net/tianlesoftware 
网上资源: http://tianlesoftware.download.csdn.net 
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
Q Q 群:62697716

#8


--1、建立用户时指定默认表空间为相应的表空间,如:
create user ebills_query identified by ebills_query default tablespace EBSPACE;
create user gjyw identified by gjyw default tablespace EBSPACE2;
--2、登录相应的用户建立相应对象时使用默认表空间,即不指定tablespace参数(或者指定各自相应的表空间),如:
create table test(a varchar2);
--3、使用pl/sql developer工具察看时,左上角的(select filter)下拉列表中选择my objects就行了;

#9


--创建表空间、用户
create tablespace EBSPACE2 datafile 'd:\date\ebspace2.dbf' size 500M autoextend on maxsize unlimited;

create user gjyw identified by gjyw default tablespace EBSPACE2 temporary tablespace temp;

--赋权限
Grant Unlimited TableSpace To gjyw;
Grant DBA To gjyw;

--导表、数据
imp gjyw/gjyw@oracle fromuser=gjyw file=E:\yzbankdb\yzbankdb003_1.dmp touser=gjyw buffer=10240000 


然后pl_sql查询表的时候 出现的是另外一个表空间内的数据 ebills_query.sc_user

#10


用 ebills_query  给 gjyw  加权限 让他可以看 EBSPACE  啊 
另一个 也是 
有权限了 以后就可以查看了呀,

#11


LS  我是想用gjyw 查看 EBSPACE2的表啊 结果查出来的是 EBSPACE的表

#12


引用 11 楼 java_gjyw 的回复:
LS  我是想用gjyw 查看 EBSPACE2的表啊 结果查出来的是 EBSPACE的表


楼主还没明白oracle中关系。
oracle中 用户,表,表空间 三者的关系是 :
 表空间与用户不具有从属关系,表空间和表也没有从属关系。
 表 是从属于 用户的;
 一个表可能有使用多个表空间,一个表空间通常也会存储多个表的数据。
 用户有一个默认表空间,但是用户下的表 ,索引可以使用多个表空间
所以通常情况下是不存在用gjyw 查看 EBSPACE2的表这种做法

#13


明白了 谢谢各位大大 现在建两个数据库可以完成以上操作