用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秒