PS:更新中……
创建用户: 可指定用户表空间和临时表空间
create user myuser identified by 123456 default tablespace mytable temporary tablespace tmp_table;
用户授权:可以根据需要选择权限。
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO myuser;
查询所有用户:
select * from all_users;
----------------------------------------------
查看当前用户的表:
select table_name from user_tables;
查看表结构: desc 表名;
查看所有表名(其中包括系统表):
select table_name from all_tables;
查看oracle数据库有多少表空间:
SELECT COUNT(*) FROM DBA_DATA_FILES;
查看表空间名称:
SELECT TABLESPACE_NAME FROM DBA_DATA_FILES;
查看表空间详细:
SELECT FILE_NAME,TABLESPACE_NAME,BYTES,USER_BLOCKS FROM DBA_DATA_FILES;
创建表空间:
create tablespace tablespacename logging datafile 'E:/app/user/oradata/orcl/tablespacename.dbf' Size 32m autoextend on extent management local;
创建临时表空间:
create temporary tablespace tablespacename tempfile 'E:/app/user/oradata/orcl/tablespacename.dbf' Size 32m autoextend on extent management local;
PS:临时表空间与表空间的区别
临时空间,顾名思义,是在执行执行包含排序的算法过程中使用的临时空间,会释放。表空间:数据库的逻辑区域,在数据库中一直存在,不会自动丢失。
创建同样大小的表空间,永久表空间要比临时标空间慢很多!你可以试试~
SQL> set timing on SQL> create tablespace data1 datafile 'D:data1.DBF' SIZE 1 G; 表空间已创建。 已用时间: 00: 00: 38.73 SQL> create temporary tablespace data2 tempfile 'D:data2.DBF ' SIZE 1G; 表空间已创建。 已用时间: 00: 00: 00.62 SQL>
用户的表空间主要是在用户创建数据库对象时如果不显示的指定创建的对象存储的表空间时,会被默认放置的表空间。而用户是可以在任何允许访问的表空间上创建数据库对象的。
用户以后创建的数据库对象将存放在此表空间内,创建用户的时候还必须使用quota子句为用户在默认表空间中分配空间配额,如果不指定默认表空间,ORACLE将会把SYSTEM表空间做为用户的默认表空间,这种情况应该避免.
创建用户时的临时表空间:
当用户所执行的SQL语句需要进行排序操作是,会要求获取一定的临时空间。这时,oracle将在用户的临时表空间中创建临时段,该临时段属于sys用户,而不是属于用户!
用户的临时表空主要是用户在执行大型的sql语句时所示用的临时排序空间,如果临时表空间不足在排序时则会使用硬盘进行排序,这会导致大量的磁盘读写操作,从而影响sql的执行性能。