美文网首页我爱编程
Oracle数据开发之SQL(1)------“查看以及修改用户

Oracle数据开发之SQL(1)------“查看以及修改用户

作者: HQ今日磨墨 | 来源:发表于2015-12-14 23:48 被阅读1080次

    这篇文章讲得主要是关于如何通过SQL Plus 查看登陆用户的表空间,下面三个是这篇文章的三个方面:

    • dba_tablespace, user_tablespaces; (通过dba数据库管理员身份或者用户身份查看用户表空间)

    • dba_users, user_users;(通过dba或者user身份查看用户)

    • 设置用户的默认或者临时表空间。


    1. dba_tablespace, user_tablespace

    1.1 通过管理者(system账号)来访问用户表空间

    打开SQL Plus,会挑出输入用户名的提示,输入:system, 然后输入你自己设置的口令,就可以登录了。

    登录界面

      接下来,我们应该如何查看管理员用户下所拥有的表空间类型呢?不要急,在SQL>  下输入如下语句:

    SQL> select tabllespace_name from dba_tablespaces;

    其中的dba意思是指在数据字典中进行查找。应用会返回给你6个表空间:

    显示的表空间类型

    简要介绍一下这六个表空间的职能范围:

    • SYSTEM: 是系统表空间;
    • SYSAUX: 是EXAMPLE的辅助表空间;
    • UNDOTBS1:存储一些撤销信息的表空间;
    • TEMP: 用于存储临时表空间;
    • USERS: 是永久性表空间,当用户创建了对象,就会保存在这里,和SYSTEM表空间作用类似,不过SYSTEM保存的是系统信息;
    • EXAMPLE:安装oracle实例的表空间。

    1.2 通过普通用户访问用户的表空间

    上面我使用了system管理员用户登录查看了用户表空间,我们现在来尝试通过普通用户来查看用户表空间。(使用scott用户来登录查看)
      首先需要转换用户:

    SQL> connect scott/口令

    转换登录用户之后,我们不能通过dba数据库来进行用户表格控件的查找。即下面的这条语句是会报错的:

    scott用户无法通过dba数据库进行访问查找,因为权限不够

    SQL> select tablespace_name from user_tablespaces;

    这条语句通过查找user的数据库则能得到想要的表格空间。这说明了不同的登录用户有着不同的使用权限!


    2. dba_users, user_users;

    在scott用户下访问 dba_users是会报错的。


    因为权限的问题,必须切换登录用户为SYSTEM.(connect system/口令)
    然后重复 dba_users,则可以得到system用户的一些信息。如图所示:

    现在来查看一下它的默认表空间和临时表空间是什么(分别是用户创建对象后默认存放的地点和临时信息存放的空间地点,并且默认只有一个临时表格空间),语句如下:

    SQL> select default_tablespace, temporary_tablespace from dba_users where username='SYSTEM';

    特别要注意,SYSTEM必须要大写!

    3. 修改默认表格空间

    得到了默认表格空间是“SYSTEM”,临时表格空间是“TEMP”。接下来学会操作如何修改默认表空间(因为临时表空间只有一个,所以不做修改)。
    修改格式是这样的:

    ALTER USER username
    DEFAULT|TEMPORARY
    TABLESPACE tablespace_name

    其实是可以不区分大小写的。

    验证:

    说明用户的默认表格空间已经从SYSTEM改为了USERS。改变默认表格空间成功。同时应该知道,普通用户是没有权限修改默认表格空间的。

    相关文章

      网友评论

        本文标题:Oracle数据开发之SQL(1)------“查看以及修改用户

        本文链接:https://www.haomeiwen.com/subject/xaeuhttx.html