1. 创建表空间
    --查看所有用户,以及对应的永久表空间,临时表空间
    select username,default_tablespace,temporary_tablespace from dba_users

    where username='SYSTEM';


    1.1 创建临时表空间
        CREATE TEMPORARY TABLESPACE DB_TEMP

             TEMPFILE 'D:appAdministratororadataNewDBDB_TEMP.DBF'

             SIZE 32M

             AUTOEXTEND ON

             NEXT 32M MASIZE UNLIMITED

             EXTENT MANAGEMENT LOCAL;



    1.2 创建数据表空间
        
        create tablespace 表空间名  
            datafile ' 路径(要先建好路径)\***.dbf  ' size *M  
                   ( ' 路径\***.dbf ' size *M  )--这里可以创建多个dbf文件
            autoextend on    --自动增长  
        next 5M          --增长梯度
        maxsize 3000M;   --最大范围
            --还有一些定义大小的命令,看需要  
             default storage(  
             initial 100K,  
             next 100k,  
            );  


    ----非自动增长的表空间进行扩展

    alter tablespace <tablespace_name> add datafile '<file>' size <size> autoextend off;



    第三步:创建用户并制定表空间
        CREATE USER NEWUSER IDENTIFIED BY BD123

             ACCOUNT UNLOCK

             DEFAULT TABLESPACE DB_DATA

             TEMPORARY TABLESPACE DB_TEMP;



    第四步:给用户授予权限


    SQL> GRANT CONNECT,RESOURCE TO NEWUSER;  --表示把 connect,resource权限授予news用户

    SQL> GRANT DBA TO NEWUSER;  --表示把 dba权限授予给NEWUSER用户

        授权成功。

        OK! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!



    --案例:
    create tablespace mytest datafile '/home/oracle/dbdates/mytest.dbf' SIZE 20M;

    --创建用户
    create user zzg identified by zzg123;

    --创建用户并指定表空间
    create user demo identified by demo  default tablespace std;

    --修改用户的表空间,到指定的表空间
    ALTER user ewell DEFAULT tablespace mytest;

    --删除表空间(临时表空间)
    drop tablespace mytest;删除后dbf文件还在,可以通过下面语句找回
    (create tablespace name datafile '删除表空间dbf路径';)
    drop tablespace mytest including contents;删除表空间和段,dbf文件还在

    drop tablespace mytest including contents and datafiles;将删除表空间和段以及数据文件

    --修改用户的密码.
    alter user zzg identified by unis;

    --用户授权
    grant create session to 用户名;  

    ---查看当前用户的所有权限
    select *from session_privs;


    --删除用户以及相关对象

    语法:drop user 用户名;

    例子:drop user test;

    若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。

    语法:
    drop user 用户名 cascade;

    例子:drop user test cascade;