oracle用户,表空间,数据文件之间的关系问题
一个用户A被创建,并指定了表空间,没有给他指定其它表空间的管理权限.但用户A能操作其它表空间,在其它表空间中创建表,是怎么回事哪,还有一个问题就是一个表空间中有几个数据文...
一个用户A被创建,并指定了表空间,没有给他指定其它表空间的管理权限.但用户A能操作其它表空间,在其它表空间中创建表,是怎么回事哪,还有一个问题就是一个表空间中有几个数据文件,那用户A在创建一个表后,这个表被放到那个数据文件了?请高人帮忙解答.
展开
展开全部
一个用户A被创建,并指定了表空间
这个 指定了表空间,其实是 默认表空间。
也就是这个用户 CREATE TABLE ... () 语句, 不指定表空间的话。 就默认把表,建立在那个 默认表空间 上面。
没有给他指定其它表空间的管理权限.但用户A能操作其它表空间,在其它表空间中创建表,是怎么回事哪。
这个要看你到底给了多少权限给这个用户A
你要是
SQL> GRANT CONNECT TO A;
Grant succeeded.
SQL> GRANT DBA TO A;
Grant succeeded.
那么这个 用户A, 确实是可以干很多你不希望他干的事情。
所以,除了A的权限, 还要看看A的角色。
还有一个问题就是一个表空间中有几个数据文件,那用户A在创建一个表后,这个表被放到那个数据文件了?
这个表放那个数据文件,由数据库自己管理的。
原因也很简单。
比如你现在表空间 100M 只有1个文件。
数据库就只有一个很大的表
当运行一段时间后,表空间不足了。
你对这个表空间,增加一个 100M的文件。
使得这个表空间有 200M了。
那么,实际上,这个表,最后会在2个数据文件上,都有数据。
这个 指定了表空间,其实是 默认表空间。
也就是这个用户 CREATE TABLE ... () 语句, 不指定表空间的话。 就默认把表,建立在那个 默认表空间 上面。
没有给他指定其它表空间的管理权限.但用户A能操作其它表空间,在其它表空间中创建表,是怎么回事哪。
这个要看你到底给了多少权限给这个用户A
你要是
SQL> GRANT CONNECT TO A;
Grant succeeded.
SQL> GRANT DBA TO A;
Grant succeeded.
那么这个 用户A, 确实是可以干很多你不希望他干的事情。
所以,除了A的权限, 还要看看A的角色。
还有一个问题就是一个表空间中有几个数据文件,那用户A在创建一个表后,这个表被放到那个数据文件了?
这个表放那个数据文件,由数据库自己管理的。
原因也很简单。
比如你现在表空间 100M 只有1个文件。
数据库就只有一个很大的表
当运行一段时间后,表空间不足了。
你对这个表空间,增加一个 100M的文件。
使得这个表空间有 200M了。
那么,实际上,这个表,最后会在2个数据文件上,都有数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询