设为首页 加入收藏

TOP

oracle常用命令(自己日常整理,后面会继续更新)(五)
2014-11-23 21:48:52 来源: 作者: 【 】 浏览:58
Tags:oracle 常用 命令 自己 日常 整理 后面 继续 更新
)/a.bytes) desc
;

TABLESPACE_NAME Sum MB used MB free MB percent_used
------------------------------ ---------- ---------- ---------- ------------
SYSAUX 490 461.0625 28.9375 94.09
UNDOTBS1 75 66.8125 8.1875 89.08
USERS 5 1.3125 3.6875 26.25
ORA1TBS 400 2 398 .5
ORA2TBS 400 2 398 .5

查看表空间使用大小情况二

SQL> select a.tablespace_name,total,free,total-free used from
2 ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name; 3 4 5 6

TABLESPACE_NAME TOTAL FREE USED
------------------------------ ---------- ---------- ----------
USERS 5 .9375 4.0625
TESTTB 500 499 1
SYSAUX 550 30 520
EXAMPLE 100 20.75 79.25
UNDOTBS1 110 96.625 13.375

在SQL命令行情况下将结果输出到指定文件中。
SQL> spool out.txt
SQL> select * from v$database;
SQL> spool off

三、查看、管理ORACLE数据文件

查看数据文件:
SQL> select name from v$datafile;

更改数据文件大小:

SQL> alter database datafile '/oradata2/hisvhfs/undotbs01.dbf' resize 30G;

查看用户所有表空间及对应的数据文件和数据文件大小

SQL> select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

查看数据文件状态及大小

SQL> select name,BYTES,STATUS ,FILE# from v$datafile;

SQL> select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space
from dba_data_files order by tablespace_name; 查看所有表空间对应的数据文件

SQL> select name,BYTES,STATUS ,FILE# from v$datafile; 查看数据文件大小及状态

四、查看、管理ORACLE表

查看所有segment的大小。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

查询表的大小和表空间的大小

有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:
当前实例以scott用户登录,并创建dept表的副本dept_copy2为例。
SQL> select segment_name, bytes
2 from user_segments
3 where segment_type = 'TABLE';

SEGMENT_NAME BYTES
-------------------------------------------------------------------------------- ----------
DEPT_COPY2 65536
DEPT_COPY 65536
BIN$7Sa/taXJEKHgQ2kFqMCxMQ==$0 65536
ITEMS 65536
SALGRADE 65536
EMP 65536
DEPT 65536

7 rows selected

或者
SQL> Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name;

SEGMENT_NAME SUM(BYTES)/1024/1024
-------------------------------------------------------------------------------- --------------------
DEPT 0.0625
PK_DEPT 0.0625
EMP 0.0625
DEPT_COPY 0.0625
DEPT_COPY2 0.0625
ITEMS 0.0625
PK_EMP 0.0625
SALGRADE 0.0625

8 rows selected

另一种表实际使用的空间。这样查询:
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADEanalyze table emp compute statistics;
ITEMS
DEPT_COPY
DEPT_COPY2

SQL> analyze table DEPT_COPY2 compute statistics;

查看某个表属于哪个表空间:
SQL> select tablespace_name from all_tables where table_name='SYS_EXPORT_FULL_01';

创建表时指定表空间:
SQL>create table a (name varchar(10)) tablespace test;

查看数据库表结构:

SQL> desc dept_copy2;
Name Type Nullable Default Comments
------ ------------ -------- ------- --------
DEPTNO NUMBER(2) Y
DNAME VARCHAR2(14) Y
LOC VARCHAR2(13) Y

修改表的列名:
SQL> alter table users rename column ID to PID;

修改表的列的字符大小

SQL> alter table student modify class varchar2(10);

创建主键:
SQL> alter table users add constraint pk_users primary key(name);

修改表的列数据类型:
SQL> select * from users;

NAME AGE PID
---------- ---------- ----------
赵霞 3.2012E+18
李莉 3.2012E+18

SQL> alter table users add(newColumn varchar2(20));
SQL>

首页 上一页 2 3 4 5 6 下一页 尾页 5/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle优化技术 下一篇Linux下安装Oracle的过程和涉及的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: