您的位置:首页 > 数据库 > Oracle

Oracle学习系列笔记------数据库登陆、表空间管理

2011-03-12 16:50 561 查看
1 //把下面显示文本保存到TablespaceStudy.txt文件中
2
3 SQL> spool 'F:\app\Administrator\oradata\TablespaceStudy.txt';
4
5 //创建临时表空间
6
7 SQL> create temporary tablespace user_temp
8
9 1 tempfile 'F:\app\Administrator\oradata\user_temp.dbf'
10
11 2 size 50m
12
13 3 autoextend on
14
15 4 next 50m maxsize 20480m
16
17 5 extent management local;
18
19 //创建数据表空间
20
21 SQL> create tablespace user_data
22
23 2 logging
24
25 3 datafile 'F:\app\Administrator\oradata\user_data.dbf'
26
27 4 size 50m
28
29 5 autoextend on
30
31 6 next 50m maxsize 20480m
32
33 7 extent management local;
34
35
36
37 //创建用户并指定表空间
38
39 SQL> create user username identified by password
40
41 2 default tablespace user_data
42
43 3 temporary tablespace user_temp;
44
45
46
47 //给用户授予权限
48
49
50 SQL> grant connect,resource to username;
51
52
53 SQL> connect system /as sysdba;
54 已连接。
55 SQL> select tablespace_name,file_id,file_name,round(bytes/(1024*1024),0) total_sapce from dba_data_files order by tablespace_name;
56
57 TABLESPACE FILE_ID FILE_NAME TOTAL_SAPCE
58 ---------- ---------- ------------------------------ -----------
59 EXAMPLE ########## F:\APP\ADMINISTRATOR\ORADATA\O ##########
60 RCL\EXAMPLE01.DBF
61
62 SYSAUX ########## F:\APP\ADMINISTRATOR\ORADATA\O ##########
63 RCL\SYSAUX01.DBF
64
65 SYSTEM ########## F:\APP\ADMINISTRATOR\ORADATA\O ##########
66 RCL\SYSTEM01.DBF
67
68 UNDOTBS1 ########## F:\APP\ADMINISTRATOR\ORADATA\O ##########
69 RCL\UNDOTBS01.DBF
70
71 USERS ########## F:\APP\ADMINISTRATOR\ORADATA\O ##########
72 RCL\USERS01.DBF
73
74 USER_DATA ########## F:\APP\ADMINISTRATOR\ORADATA\U ##########
75 SER_DATA.DBF
76
77
78
79 SQL> alter tablespace user_data
80 2 add datafile 'F:\app\Administrator\oradata\user_data2.dbf'
81 3 size 10m
82 4 autoextend on
83 5 maxsize 100m
84 6 ;
85
86 表空间已更改。
87
88
89 SQL> select file_name,file_id,tablespace_name from dba_data_files;
90
91 FILE_NAME FILE_ID TABLESPACE
92 ------------------------------ ---------- ----------
93 F:\APP\ADMINISTRATOR\ORADATA\O ########## USERS
94 RCL\USERS01.DBF
95
96 F:\APP\ADMINISTRATOR\ORADATA\O ########## UNDOTBS1
97 RCL\UNDOTBS01.DBF
98
99 F:\APP\ADMINISTRATOR\ORADATA\O ########## SYSAUX
RCL\SYSAUX01.DBF

F:\APP\ADMINISTRATOR\ORADATA\O ########## SYSTEM
RCL\SYSTEM01.DBF

F:\APP\ADMINISTRATOR\ORADATA\O ########## EXAMPLE
RCL\EXAMPLE01.DBF

F:\APP\ADMINISTRATOR\ORADATA\U ########## USER_DATA
SER_DATA.DBF

F:\APP\ADMINISTRATOR\ORADATA\U ########## USER_DATA
SER_DATA2.DBF

已选择7行。

SQL> select file_name,file_id,tablespace_name from dba_data_files where tablespace_name='USER_DATA';

FILE_NAME FILE_ID TABLESPACE
------------------------------ ---------- ----------
F:\APP\ADMINISTRATOR\ORADATA\U ########## USER_DATA
SER_DATA.DBF

F:\APP\ADMINISTRATOR\ORADATA\U ########## USER_DATA
SER_DATA2.DBF

删除表空间数据文件
SQL> alter tablespace user_data
2 drop datafile 'F:\app\Administrator\oradata\USER_DATA2.DBF';

表空间已更改。

SQL> select file_name,file_id,tablespace_name from dba_data_files where tablespace_name='USER_DATA';

FILE_NAME FILE_ID TABLESPACE
------------------------------ ---------- ----------
F:\APP\ADMINISTRATOR\ORADATA\U ########## USER_DATA
SER_DATA.DBF

SQL> connect username/password;
已连接。
SQL> create table Customer(ID int, Name varchar(30)) tablespace user_data;
成功创建表

查看当前用户下的表
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ---------
Customer TABLE

SQL> desc customer;
名称 类型
ID UMBER(38)
NAME Varchar2

--切换到system账户
SQL> connect system /as sysdba;

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME STATUS

1 orcl WWW-81A02E68C5B 11.1.0.7.0 04-3月 -11 OPEN

------------查看表空间信息

SQL> select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
2 from dba_tablespaces t, dba_data_files d
3 where t.tablespace_name = d.tablespace_name
4 group by t.tablespace_name;

TABLESPACE TS_SIZE
---------- -------
UNDOTBS1 75
SYSAUX 609
USERS 5
SYSTEM 720
EXAMPLE 100
USER_DATA 50

已选择6行。

SQL> grant select on dba_tablespaces to username;

授权成功。

SQL> select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",
2 b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from
3 (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
4 (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
5 where a.tablespace_name=b.tablespace_name
6 order by ((a.bytes-b.bytes)/a.bytes) desc
7 ;

TABLESPACE Sum MB used MB free MB percent_used
---------- ------ ------- ------- ------------
SYSTEM 720 714 6 99.17
SYSAUX 608.5 578 30.5 94.99
USERS 5 4.063 .9375 81.25
EXAMPLE 100 78.63 21.38 78.63
UNDOTBS1 75 18.06 56.94 24.08
USER_DATA 50 1.188 48.81 2.38

SQL> spool off;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐