浏览 4248 次
锁定老帖子 主题:oracle日常维护常用的55条语句
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-05-22
最后修改:2012-05-22
unix下 ps -ef | grep ora windows下 看服务是否起来 是否可以连上数据库 SQL> select status, instance_role from v$instance; 通过此语句可以核查数据库是否出于open状态 2.如何查有多少个数据库实例 SQL>SELECT * FROM V$INSTANCE; 3.怎样查得数据库的SID select name from v$database; 也可以直接查看 init.ora文件 4.查看表空间占用情况 select b.file_id file_ID, b.tablespace_name tablespace_name, b.bytes Bytes, (b.bytes-sum(nvl(a.bytes,0))) used, sum(nvl(a.bytes,0)) free, sum(nvl(a.bytes,0))/(b.bytes)*100 Percent from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id; 5如何.获取表空间信息 select * from dba_tablespaces(或者v$tablespace); 6.如何改变表空间的大小 通过手动改变数据文件大小来改变表空间大小: Alter database datafile ‘/opt/oracle/data/datafilename.dbf’ resize 500m; 通过在表空间中增加数据文件来改变表空间大小: Alter tablespace tablespace_name add datafile ‘opt/oracle/data/newdatafile.dbf’ size 300m; 7.如何增加临时表空间大小 如果原来的用户缺省临时表空间大小不够,此时首先用如下语句创建一足够大的临时表空间: CREATE TEMPORARY TABLESPACE temp TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M; 然后用如下语句改变用户的缺省临时表空间: alter user username temporary tablespace new_temporary_tablespace_name; 8. 如何查看数据文件的信息 数据文件信息: Select * from dba_data_files(v$datafile); 临时数据文件信息: Select * from dba_temp_files(v$tempfile) 9.如何将表移动之表空间 ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME; 10.如何查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = v.usn(+) order by segment_name ; 11.如何察看回滚段竞争情况 Select * from v$undostat; 返回结果中nospaceerrcnt字段的值应该为0,如果持续出现非0,建议增加回滚段表空间大小. 12.如何查看控制文件. select name from v$controlfile; 13.如何查看日志文件 select member from v$logfile; 14.如何查看日志文件的切换时间 SQL>select to_char(first_time,'yyyy-mm-dd hh24:mi:ss') change_time from v$log_history; 15.查看数据库版本 select * from v$version 16.查看会话情况 select machine,terminal from v$session; 17.如何查看系统最大会话数 Select * from v$parameter where name like ‘proc%’ Show parameter processes Select * from v$license 18. 如何查看系统被锁的事务时间 select * from v$locked_object 19.查看数据库的创建日期和归档方式 select created,log_mode,log_mode from v$database 20.如何以archivelog的方式运行oracle init.ora log_archive_start = true RESTART DATABASE 21.如何获取有哪些用户在使用数据库 select username from v$session; 22.如何显示当前连接用户 SHOW USER 23.如何获取用户相关信息 Select * from dba_users(dba_ts_quotas); 从结果中可以查看用户的缺省临时表空间等信息. 24.如何查看每个用户的权限 SELECT * FROM DBA_SYS_PRIVS; 25. 如何知道使用CPU多的用户session 11是cpu used by this session select a.sid,spid,status,substr(a.program,1,40)prog,a.terminal,osuser,value/60/100 value from v$session a,v$process b,v$sesstat c where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc; 26.unix 下怎么调整数据库的时间? su -root date -u 08010000 27.如何查看当前数据库里锁的情况 以DBA角色, 查看当前数据库里锁的情况可以用如下SQL语句: select object_id,session_id,locked_mode from v$locked_object; select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;如果有长期出现的一列,可能是没有释放的锁。我们可以用下面SQL语句杀掉长期没有释放非正常的锁: alter system kill session 'sid,serial#'; 如果出现了锁的问题, 某个DML操作可能等待很久没有反应。 28.如何解锁 ALTER SYSTEM KILL SESSION ‘SID,SERIR#’; 29.如何获取错误信息 SELECT * FROM USER_ERRORS; 30.如何获取连接状况 Select * from DBA_DB_LINKS; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-10-08
真心好 我要保留了
|
|
返回顶楼 | |