1) 用户
常用的有三个:sys,system,scott。默认密码分别是change_on_install,manager,tiger。
它们都有角色,角色决定它们的权限,如sysdba,sysoper,dba。(具体这些角色有什么权限可以百度一下)。
用任何一个用户连接数据库,它们拥有的表都是不一样的。
2)表空间
表空间是一个虚拟的概念,来管理表啊,视图啊,索引啊等等这些逻辑对象,用户可以将不同性质的逻辑对象存放在不同的表空间下。
如有实例表空间EXAMPLE,用来存放实例信息,
有索引表空间INDEX,用来存放数据库索引信息,
等等。
Select tablespace_name from dba_tablespaces; 查看有什么表空间。
Oracle中数据库的概念和SQL server的服务器概念相近;
Oracle的表空间和SQL server的数据库概念相近,但它是分类了的。
3) 表
所有用户都拥有若干个表
用命令select table_name from user_tables 可以查看当前连接的用户的所有表的名称。
用命令select table_name from all_tables 可以查看所有用户的所有表的名称。(如果权限允许的话)
前缀的意义:
dba_tables 所有的tables
all_tables 当前用户所能看到的所有的tables
user_tables 当前用户的有的tables
tab tabs好象是user_tables的synonym
4)一些查询命令
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
查看当前用户的角色
SQL>select * from user_role_privs;
查看用户下所有的表
SQL>select * from user_tables;
查询oracle用户帐户、用户的表与表空间
1. 查询oracle中所有用户信息
通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQLPLUS字符工具、TOAD、PL/SQL等,连接到数据库后执行如下的查询语句:
a.a1 表空间名称,
c.c2 类型,
c.c3 区管理,
b.b2 / 1024 / 1024 表空间大小M,
(b.b2 - a.a2) / 1024 / 1024 已使用M,
substr((b.b2 - a.a2) / b.b2 * 100 , 1 , 5 ) 利用率
from
( select
( select tablespace_name b1, sum (bytes) b2 from dba_data_files group by tablespace_name) b,
( select tablespace_name c1,contents c2,extent_management c3
where a.a1 = b.b1 and c.c1 = b.b1;
该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间大小,已使用的表空间大小及表空间利用率。dba_free_space表描述了表空间的空闲大小,dba_data_files表描述了数据库中的数据文件,dba_tablespaces表描述了数据库中的表空间。
上面语句中from子句后有三个select语句,每个select语句相当于一个视图,视图的名称分别为a、b、c,通过它们之间的关联关系,我们得到了表空间的相关信息。
语句执行结果如下:
上面描述中分别介绍了查看Oracle数据库中表空间信息的工具方法和命令方法。
6、建立和删除表空间
建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES
如何查看oracle有哪些表