读书人

oracle10g创设、修改、删除用户和用户

发布时间: 2012-07-29 15:26:13 作者: rapoo

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;

读书人网 >其他数据库

热点推荐