查看用户和默认表空间的关系。
select username,default_tablespace from dba_users;
1.查看表结构:desc表名
2.查看当前用户的表:
select table_name from user_tables;
2.1 查看某个用户(NEWERMA)下表的记录数
SELECT t.table_name, t.num_rows FROM sys.dba_tables
t
where owner='NEWERMA' and num_rows is not null
order by num_rows desc3.查看所有用户的表名:
select table_name from all_tables;
4.查看所有表名(其中包括系统表)
select table_name from all_tables;
5.查看所有的表:
select * from tab/dba_tables/dba_objects/cat;
下面介绍Oracle查询用户表空间
◆Oracle查询用户表空间:select * from user_all_tables
◆Oracle查询所有函数和储存过程:select * from user_source
◆Oracle查询所有用户:select * from all_users.select * from
dba_users
◆Oracle查看当前用户连接:select * from v$Session
◆Oracle查看当前用户权限:select * from session_privs
◆Oracle查看用户表空间使用情况:
select a.file_id "FileNo",a.tablespace_name
"Tablespace_name",
a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",
sum(nvl(b.bytes,0)) "Free",
sum(nvl(b.bytes,0))/a.bytes*100 "%free"
from dba_data_files a, dba_free_space b
where a.file_id = b .file_id(+)
group by a.tablespace_name ,
a.file_id,a.bytes order by a.tablespace_name;
1.查看所有用户:
select * from dba_user;
select * from all_users;
select * from user_users;
2.查看用户系统权限:
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
3.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
6.查看角色所拥有的权限:
select * from role_sys_privs;
select * from role_tab_privs;
7.查看所有系统权限
select * from system_privilege_map;
8.查看所有对象权限
select * from table_privilege_map;
9.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
以上是在Oracle中查看用户权限 ,
在DB2中为:
select * from syscat.dbauth
或者
get authorizations
查看sid
select * from v$instance
创建临时表空间
Sql代码 create temporary tablespace
stbss_tmp tempfile
'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 创建数据表空间
Sql代码 create tablespace
stbss logging datafile
'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf' size
32m autoextend
on next 32m maxsize
2048m extent management local;
DATAFILE: 表空间数据文件存放路径
SIZE: 起初设置为32M
UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k
空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
alter database datafile '
E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m;
//手动修改数据文件大小为32M 创建用户并指定表空间
Sql代码 create user username identified by
password default tablespace stbss temporary tablespace
stbss_tmp; 给用户授予权限
Sql代码 grant connect,resource to
username; 改变用户默认表空间
Sql代码 alter user username default tablespace
stbss; 查询用户和表空间之间的关系
select distinct(owner) ,tablespace_name from dba_segments;
向USERS表空间增加一个数据文件:
SQL> alter tablespace users add datafile
'/opt/oracle/oradata/eygle/users02.dbf' size 10M;
Tablespace altered.
SQL> select file#,name from v$datafile;
FILE# NAME
----------
--------------------------------------------------
1 /opt/oracle/oradata/eygle/system01.dbf
2 /opt/oracle/oradata/eygle/undotbs01.dbf
3 /opt/oracle/oradata/eygle/sysaux01.dbf
4 /opt/oracle/oradata/eygle/users01.dbf
5 /opt/oracle/oradata/eygle/users02.dbf
5 rows selected.
确认表空间文件信息:
SQL> select file_name,file_id from
dba_data_files where tablespace_name='USERS';
FILE_NAME FILE_ID
--------------------------------------------------
----------
/opt/oracle/oradata/eygle/users02.dbf 5
/opt/oracle/oradata/eygle/users01.dbf 4
确认表空间未被存储占用:
SQL> select segment_name,file_id,blocks from
dba_extents where file_id=5;
no rows selected
删除表空间中的空数据文件:
SQL> alter tablespace users drop datafile
'/opt/oracle/oradata/eygle/users02.dbf';
Tablespace altered.
检查数据字典,这个空文件的信息已经被彻底清除了:
SQL> select file_name,file_id from
dba_data_files where tablespace_name='USERS';
FILE_NAME FILE_ID
--------------------------------------------------
----------
/opt/oracle/oradata/eygle/users01.dbf 4
以后以该用户登录,创建的任何数据库对象都属于stbss_tmp和stbss表空间,这就不用在每创建一个对象给其指定表空间了
删除oracle临时表空间
新建一个临时表空间,然后把数据库的默认临时表空间指向新建的这个,等到旧的临时表空间没人用的时候,就可以删除了
Sql代码 --1:查看数据库的默认临时表空间 select property_name,
property_value from
database_properties where property_name =
'default_temp_tablespace'; --2:创建一个新的临时表空间temp_xxxx -----参考上面的创建语句 --3:查看数据库中有哪些临时表空间。 select distinct tablespace_name from
dba_temp_files; --4:把默认临时表空间从temp切换到temp_xxxx alter database default temporary tablespace
temp_xxxx; --5:再次查看数据库的默认临时表空间 select property_name,
property_value from
database_properties where property_name =
'default_temp_tablespace'; --6:删除原来的临时表空间 drop tablespace temp;
删除用户:test
drop user test cascade
删除表空间:
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES
删除表:
delete from users;