1、plsql下怎么查询哪些是自己建立的用户?2、users下是不是谁登陆都能看到所有的用户?3、表空间和用户都要分别drop,用户不是属于表空间么,把表空间先drop掉,users下还有这个表空间下的用户?4、表属于用户,把用户drop掉了,用户下的表是不是也drop了(oracle处理的)?

解决方案 »

  1.   

    1. plsql下怎么查询哪些是自己建立的用户?
    回答:有难度。2. users下是不是谁登陆都能看到所有的用户?
    回答:左侧的Object子窗口中始终显示所有用户3. 表空间和用户都要分别drop,用户不是属于表空间么,把表空间先drop掉,users下还有这个表空间下的用户?
    回答:表空间不属于特定的用户。所以不会在drop表空间时,用户也被drop了。4.表属于用户,把用户drop掉了,用户下的表是不是也drop了?
    回答:不是的。必须指定CASCADE子句才会在删除用户时同时删除表。
           例:drop user scott cascade;
      
      

  2.   

    你好,楼主,你对这些概念可能有些模糊,试着回答你的问题:
    1、plsql下怎么查询哪些是自己建立的用户?
    select * FROM dba_users 2、users下是不是谁登陆都能看到所有的用户?
    答,是的,语句:SELECT * from v$session3、表空间和用户都要分别drop,用户不是属于表空间么,把表空间先drop掉,users下还有这个表空间下的用户?
    答,概念理解有误,用户和表空间并非是从属关系。
    应该这样理解:实例下有用户和表空间,用户经授权则可以访问某表空间,表空间是存数据的。所以,删不删表空间,对用户本身没有干扰,而这个表空间里若是存储有该用户的数据,那只是数据丢失了而已。
    我理解这个概念,把一个数据库实例看成一台电脑,把表空间当成电脑的硬盘,数据库中的用户当做电脑操作系统的用户,这个用户有权限访问F盘,你删掉了这块F盘,操作系统的用户当然还是存在的,只是这个用户下F盘的文件数据都没了。4、表属于用户,把用户drop掉了,用户下的表是不是也drop了(oracle处理的)?
    答,这个可以明确的告诉你,是的,不仅是表,该用户其他诸如视图、过程、方法等逻辑实体全部drop了。
    语句:drop user XXX cascade;
      

  3.   

    3.表空间和用户都要分别drop,用户不是属于表空间么,把表空间先drop掉,users下还有这个表空间下的用户?用户是用户,表空间是表空间,当你的表空间删除之后你的用户还可以指定使用其他表空间,只是你存在之前表空间的那部分数据会丢失,没有用户属于表空间的说法,只有指定某个用户使用哪个表空间.
    如: alter user userName default tablespace tbs_user01;4、表属于用户,把用户drop掉了,用户下的表是不是也drop了(oracle处理的)?
    这个是肯定的,只要是属于你用户的所有对象,用户不存在了其他的也就不可以以其他形态存在.drop user userName cascade ;--这样会清到你要删除的用户下所有对象
      

  4.   

    总结下哈:
    1、plsql下怎么查询哪些是自己建立的用户?
    这个描述的不清楚,大家都误解了,呵呵,应该是除了sys,system,scott三个用户,其他都可以删除吧,
    2、users下是不是谁登陆都能看到所有的用户?
      那就是users下的没有权限一说,谁登陆都可以看到所有用户。

    3、表空间和用户都要分别drop,用户不是属于表空间么,把表空间先drop掉,users下还有这个表空间下的用户
    这个2楼的比喻很形象,很好理解,呵呵4、表属于用户,把用户drop掉了,用户下的表是不是也drop了(oracle处理的)?drop user XXX cascade;
      

  5.   

    用户只属于系统,不属于某个表空间。我想你的意思是,这些用户的默认表空间是该表空间,但他们互相没有包含与被包含的关系。
    http://topic.csdn.net/u/20080921/16/0a2831e5-f072-4b9b-8292-078d0334a953.html