Oracle 表空间、用户

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/pengpengpeng85/article/details/78763033

一、表空间

  • 临时表空间

    • 创建临时表空间范例

      CREATE TEMPORARY TABLESPACE duke_temp         /* 临时表空间名称:duke_temp */
      tempfile 'C:\oracle\tablespace\duke_temp.dbf' /* 表空间路径 */
      size 50m                                      /* 空间初始大小:50M*/
      autoextend ON                                 /* 开启自动扩展 */
      NEXT 50m                                      /* 空间满了一次扩展50M*/
      maxsize 6G                                    /* 空间最终大小6G,可设为 unlimited 大小不受限制*/
      extent management local;
      
  • 表空间

    • 创建表空间范例

      CREATE TABLESPACE duke_data                   /* 临时表空间名称:duke_temp */
      datafile 'C:\oracle\tablespace\duke_data.dbf' /* 表空间路径 */
      size 50m                                      /* 表空间初始大小:50M */
      autoextend ON                                 /* 开启自动扩展*/
      NEXT 50m                                      /* 表空间满了后一次扩展50M */
      maxsize 10G                                   /* 空间最终大小10G,可设为 unlimited 大小不受限制*/
      logging extent management local; 
      
  • 删除表空间

    DROP TABLESPACE duke_temp INCLUDING CONTENTS AND DATAFILES;

    执行完之后,找到对应的 .dbf 文件删除。

二、用户

  Oracle 是以用户为单位来管理的,所有的对象都依赖于用户,因此 Oracle 中工作的起步就是建立一个自己的用户。Oracle 中默认的超级用户有SYSTEM和SYS,SYATEM拥有所有的数据字典视图,而SYS拥有数据库字典视图所依赖的基表,因此SYS的权限是最高的,SYSTEM次之。
  除超级用户外,Oracle 内部还有一些演示用例的用户,比较著名的有Scott,但这些用户默认都是锁定的,要解锁才能使用。
下面列出了关于用户的一些常用SQL语句,需要以管理员身份执行,如果忘记了超级用户密码,可以使用 connect/as sysdba 以sys 的身份登录。

  • 解锁 scott:

    alter user scott account unlock;
  • 创建其他用户:

    /* duke 是用户名,duke123 是密码。*/
    create user duke identified by duke123;
  • 修改用户的密码,该命令也可以在本用户中使用

    /* duke 是用户名,duke456 是密码。*/
    alter user duke identified by duke456;
  • 给已存在的用户指定一个临时表空间:

    /* duke 是用户名,duke_temp 临时表空间名称。*/
    alter user duke TEMPORARY TABLESPACE duke_temp;
  • 给已存在的用户指定一个表空间:

    /* duke 是用户名,duke_data 表空间名称。*/
    alter user duke DEFAULT TABLESPACE duke_data;
  • 创建用户同时并指定临时表空间与表空间

    CREATE USER duke                   /* 用户名 */ 
    IDENTIFIED BY duke123              /* 密码 */   
    DEFAULT TABLESPACE duke_data       /* 表空间 */     
    TEMPORARY TABLESPACE duke_temp     /* 临时表空间 */   
  • 用户授予权限

        新创建的用户是不能直接登陆的,需要给它授予必要的权限。一般我们给用户授予两个系统内置的角色权限,他们时 connect 和 resource。
        connect 使得用户可以登录;resource 使得用户可以进行程序开发,如建立表、触发器等。授权命令如下:

    GRANT CONNECT,RESOURCE TO duke;
  • 一条命令:建立用户 + 授权

    GRANT CONNECT,RESOURCE TO duke IDENTIFIED BY duke123;
  • 用户撤销权限

    revoke resource from duke;
  • 删除用户
    说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。

    drop user duke cascade;

猜你喜欢

转载自blog.csdn.net/pengpengpeng85/article/details/78763033