oracle10g创建、修改、删除用户和用户表空间1?创建临时表空间??2?Sql代码???3?create?temporary?tablespace?
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?
1) DATAFILE:?表空间数据文件存放路径
2) SIZE: 起初设置为32M
3) UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k?
4) 空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名. 5) AUTOEXTEND ON/OFF?表示启动/停止自动扩展表空间
6) alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.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;修改表名称alter table old_table_name rename to new_table_name;