本文讲述了Oracle修改表空间大小的方法。分享给大家供大家参考,具体如下:

查看用户和默认表空间的关系。
select username,default_tablespace from dba_users;

1)查看各表空间分配情况

1.查看表结构:desc表名

SQL select tablespace_name, sum(bytes) / 1024 / 1024 from dba_data_files group by tablespace_name;TABLESPACE_NAME SUM(BYTES)/1024/1024------------------------------ --------------------UNDOTBS1 100SYSAUX 530USERS 5SYSTEM 700EXAMPLE 1005 rows selected

2.查看当前用户的表:

2)查看各表空间空闲情况

select table_name from user_tables;
3.查看所有用户的表名:

SQL select tablespace_name, sum(bytes) / 1024 / 1024 from dba_free_space group by tablespace_name; TABLESPACE_NAME SUM(BYTES)/1024/1024------------------------------ --------------------SYSAUX 26.125UNDOTBS1 69.6875USERS 0.9375SYSTEM 1.1875EXAMPLE 21.255 rows selected

select table_name from all_tables;
4.查看所有表名(其中包括系统表)

3)更改数据表大小(10G)复制代码
代码如下:alter database datafile ‘/ora/oradata/radius/testNS.dbf’ resize
10240m;

select table_name from all_tables;
5.查看所有的表:

希望本文所述对大家Oracle数据库程序设计有所帮助。

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;

以上是在Oracle中查看用户权限 ,

在DB2中为:

  select * from syscat.dbauth

  或者

  get authorizations

查看sid

  select * from v$instance

1 创建临时表空间
2 Sql代码 
3 create temporary tablespace stbss_tmp  
4 tempfile
‘E:oracleproduct10.2.0oradataorclstbss_temp01.dbf’  
5 size 32m  
6 autoextend on  
7 next 32m maxsize 2048m  
8 extent management local; 

10
11 创建数据表空间
12 Sql代码 
13 create tablespace stbss  
14 logging  
15 datafile
‘E:oracleproduct10.2.0oradataorclstbss01.dbf’  
16 size 32m  
17 autoextend on  
18 next 32m maxsize 2048m  
19 extent management local; 
20

1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为32M
3) UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k
4) 空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ‘
E:oracleproduct10.2.0oradataorclstbss01.dbf ‘ resize 32m;
//手动修改数据文件大小为32M 
21
22 创建用户并指定表空间
23 Sql代码 
24 create user username identified by password  
25 default tablespace stbss 
26 temporary tablespace stbss_tmp;  
27 
28
29 给用户授予权限
30 Sql代码 
31 grant connect,resource to username; 
32 
33  改变用户默认表空间
34 
35 
36 Sql代码 
37 alter user username default tablespace stbss; 
38
  查询用户和表空间之间的关系
select distinct(owner) ,tablespace_name from dba_segments;
39
   向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

40
以后以该用户登录,创建的任何数据库对象都属于stbss_tmp和stbss表空间,这就不用在每创建一个对象给其指定表空间了
41 
42 删除oracle临时表空间
43 
新建一个临时表空间,然后把数据库的默认临时表空间指向新建的这个,等到旧的临时表空间没人用的时候,就可以删除了
44
45 Sql代码 
46 –1:查看数据库的默认临时表空间 
47 select property_name, property_value 
48   from database_properties 
49  where property_name = ‘default_temp_tablespace’; 
50  
51 –2:创建一个新的临时表空间temp_xxxx 
52 —–参考上面的创建语句 
53 –3:查看数据库中有哪些临时表空间。 
54 select distinct tablespace_name from dba_temp_files; 
55  
56 –4:把默认临时表空间从temp切换到temp_xxxx 
57 alter database default temporary tablespace temp_xxxx; 
58  
59 –5:再次查看数据库的默认临时表空间 
60 select property_name, property_value 
61   from database_properties 
62  where property_name = ‘default_temp_tablespace’; 
63  
64 –6:删除原来的临时表空间 
65 drop tablespace temp; 

删除用户:test
drop user test cascade

删除表空间:
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES

删除表:
delete from users;

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章