oracle查询未分配表空间,oracle查询表,表空间,用户权限等

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中所有用户信息

select  * from dba_users;

2. 只查询用户和密码

select username,password from dba_users;

3. 查询当前用户信息

select * from dba_ustats;

4. 查询用户可以访问的视图文本

select * from dba_varrays;

5. 查询数据库中所有视图的文本

select * from dba_views;

6. 查看当前用户的表

select  table_name  from user_tables;

7. 查看所有用户的表

select  table_name  from all_tables;

8. 查看系统表

select  table_name  from dba_tables;

9.查看Oracle数据库中表空间信息的命令方法:

通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQLPLUS字符工具、TOAD、PL/SQL等,连接到数据库后执行如下的查询语句:

select

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

tablespace_name a1,

sum

(nvl(bytes,

0

)) a2

from

dba_free_space

group

by

tablespace_name) a,

(

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

from

dba_tablespaces) c

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有哪些表

可以通过查询语句对系统表 user_tables 进行查询。

例如要列出用户表中都存在那些表,它们所使用的表空间是那个,可以用下面的语句进行查询

select table_name,tablespace_name from user_tables;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值