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

1) 用户

常用的有三个:syssystemscott。默认密码分别是change_on_installmanagertiger

它们都有角色,角色决定它们的权限,如sysdbasysoperdba。(具体这些角色有什么权限可以百度一下)。

用任何一个用户连接数据库,它们拥有的表都是不一样的。

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_tablessynonym

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;



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Oracle中创建用户并查询表空间,可以按照以下步骤进行。 首先,登录到Oracle数据库。可以使用SQL*Plus或SQL Developer等工具。 使用管理员账户(通常是sys或system)登录数据库。 执行以下语句创建一个新用户(例如,用户名为“myuser”): CREATE USER myuser IDENTIFIED BY password; 请将“password”替换为您要为该用户设置的密码。 然后,为用户分配表空间。执行以下语句: ALTER USER myuser DEFAULT TABLESPACE your_tablespace; 请将“your_tablespace”替换为您要为该用户分配的表空间名称。这将设置用户的默认表空间为指定的表空间。 您还可以指定用户在临时表空间中的默认使用量。执行以下语句: ALTER USER myuser TEMPORARY TABLESPACE your_temp_tablespace; 请将“your_temp_tablespace”替换为您要为该用户分配的临时表空间名称。 最后,为该用户授予权限,使其能够执行必要的操作。例如,您可以执行以下语句将CONNECT和RESOURCE角色授予该用户: GRANT CONNECT, RESOURCE TO myuser; 这些语句将创建一个新用户并为其分配表空间。 要查询一个用户当前使用的表空间,可以执行以下查询语句: SELECT username, default_tablespace, temporary_tablespace FROM dba_users WHERE username = 'myuser'; 请将“myuser”替换为您要查询的用户名。 以上是创建用户并查询表空间的步骤。请根据您的具体需求调整语句中的名称和参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值