用SQL语言管理Oracle数据库
1,查看数据库的基本属性:
SELECT dbid 数据库编号,name 数据库名称,db_unique_name 全局名称,created 创建时间,log_mode 归档方式,open_mode 访问方式,platform_name 版本类型 FROM v$database;
2,查看所有数据库对象的类别和大小:
SELECT count(name) num_instances,type,sum(source_size) source_size,sum(parsed_size) parsed_size,sum(code_size) code_size,
sum(error_size) error_size, sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required FROM dba_object_size GROUP BY type ORDER BY 2;
NUM_INSTANCES TYPE SOURCE_SIZE PARSED_SIZE CODE_SIZE ERROR_SIZE SIZE_REQUIRED
------------- -------------------------- ----------- ----------- ---------- ---------- -------------
264 FUNCTION 90226 163614 286766 0 540606
16417 JAVA CLASS 0 0 79741994 0 79741994
306 JAVA DATA 0 0 9061460 0 9061460
770 JAVA RESOURCE 0 0 10738795 0 10738795
843 PACKAGE 5570226 5597328 2593462 0 13761016
787 PACKAGE BODY 16979979 0 20748156 0 37728135
83 PROCEDURE 195788 80300 266716 0 542804
77 SEQUENCE 0 21269 0 0 21269
170 TRIGGER 202051 0 176799 0 378850
1859 TYPE 897097 1438090 587281 0 2922468
173 TYPE BODY 326762 13013 922875 0 1262650
11 rows selected.
3,查看当前数据库的object数目:
SELECT decode(o.type#,1,'INDEX',2,'TABLE',3,'CLUSTER',4,'VIEW',5,'SYNONYM',6, 'SEQUENCE','OTHER') 对象类型 , count(*) 对象数目
FROM sys.obj$ o WHERE o.type# > 1 GROUP BY decode(o.type#,1,'INDEX',2,'TABLE',3,'CLUSTER',4,'VIEW',5,'SYNONYM',6,'SEQUENCE','OTHER')
union SELECT 'COLUMN', count(*) FROM sys.col$
union SELECT 'DB LINK' , count(*) FROM all_objects;
对象类型 对象数目
---------------- ----------
CLUSTER 10
COLUMN 55879
DB LINK 49896
OTHER 23667
SEQUENCE 141
SYNONYM 20027
TABLE 1634
VIEW 3670
8 rows selected.
4,查看当前数据库的字符集:
SELECT userenv('language') FROM dual;
或者:
SELECT userenv('lang') FROM dual;
或者:
SELECT * FROM sys.props$ WHERE name='NLS_CHARACTERSET';
5,查看数据库文件的属性;
查看控制文件的命令如下
SELECT name FROM v$controlfile;
查看数据文件的命令如下
SELECT tablespace_name,file_id,bytes/1024/1024,file_name FROM dba_data_files ORDER BY file_id;
查看日志文件的命令如下
SELECT * FROM v$logfile;
查看日志文件的组名、成员数量、状态和大小,命令如下
SELECT group#,members,bytes,status FROM v$log;
查看临时文件的命令如下
SELECT name,bytes FROM v$tempfile;
6,查看数据库归档信息
查看数据库归档参数设置:
show parameter archive
查看数据库归档位置信息:
SELECT dest_id,dest_name,status,name_space,binding, target, destination FROM v$archive_dest;
查看归档日志文件信息:
SELECT name, FIRST_CHANGE#,next_change# FROM v$archived_log;
查看归档进程信息:
SELECT * FROM v$archive_processes;
7,查看数据库的后台进程
SELECT * FROM v$bgprocess;
8,查看系统的当前时间
1)查看系统当前时间的命令如下:
SQL> SELECT to_char(sysdate, 'yyyy"年"mm"月"dd"日", hh24"时":mi"分":ss"秒"') 现在时间 FROM dual;
现在时间
------------------------------------------------------------------------
2013年01月27日, 00时:11分:02秒