[转帖]Oracle10g创建、修改、删除用户和用户表空间
1 创建临时表空间
2 Sql代码
3 create temporary tablespace stbss_tmp
4 tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'
5 size 32m
6 autoextend on
7 next 32m maxsize 2048m
8 extent management local;
9
10
11 创建数据表空间
12 Sql代码
13 create tablespace stbss
14 logging
15 datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf'
16 size 32m
17 autoextend on
18 next 32m maxsize 2048m
19 extent management local;
20
6) alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m; //手动修改数据文件大小为32M
2 Sql代码
3 create temporary tablespace stbss_tmp
4 tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'
5 size 32m
6 autoextend on
7 next 32m maxsize 2048m
8 extent management local;
9
10
11 创建数据表空间
12 Sql代码
13 create tablespace stbss
14 logging
15 datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.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 不要求相同,可随意命名.
2) SIZE: 起初设置为32M
3) UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k
4) 空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
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表空间增加一个数据文件:
确认表空间未被存储占用:
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;
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;
drop user test cascade
删除表空间:
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES
删除表:
delete from users;