oracle运行情况总结文档格式.docx
- 文档编号:20427909
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:39
- 大小:108.09KB
oracle运行情况总结文档格式.docx
《oracle运行情况总结文档格式.docx》由会员分享,可在线阅读,更多相关《oracle运行情况总结文档格式.docx(39页珍藏版)》请在冰豆网上搜索。
resize2048M;
增加数据库文件sqlL
altertablespacetablespace_nameadddatafile'
size1024M;
三、查看表空间使用情形及版本
查看oracle版本:
SELECT*FROMPRODUCT_COMPONENT_VERSION;
查看Oracle数据库表空间的占有率
selecta.tablespace_name,
round((a.maxbytes/1024/1024),2)"
sumMB"
round((a.bytes/1024/1024),2)"
datafileMB"
round(((a.bytes-b.bytes)/1024/1024),2)"
usedMB"
round(((a.maxbytes-a.bytes+b.bytes)/1024/1024),2)"
freeMB"
round(((a.bytes-b.bytes)/a.maxbytes)*100,2)"
percent_used"
from(selecttablespace_name,sum(bytes)bytes,sum(maxbytes)maxbytes
fromdba_data_fileswheremaxbytes!
=0
groupbytablespace_name)a,
(selecttablespace_name,sum(bytes)bytes,max(bytes)largest
fromdba_free_space
groupbytablespace_name)b
wherea.tablespace_name=b.tablespace_name
orderby((a.bytes-b.bytes)/a.maxbytes)desc;
SelectSegment_Name,Sum(bytes)/1024/1024FromUser_ExtentsGroupBySegment_Name
那个命令能够查看当前用户下所有表占用的空间大小。
还有在命令行情形下如何将结果放到一个文件里。
1.查看所有表空间大小
SQL>
selecttablespace_name,sum(bytes)/1024/1024fromdba_data_files
groupbytablespace_name;
2.差不多使用的表空间大小
selecttablespace_name,sum(bytes)/1024/1024fromdba_free_space
2groupbytablespace_name;
3.因此使用空间能够如此运算
selecta.tablespace_name,total,free,total-freeusedfrom
(selecttablespace_name,sum(bytes)/1024/1024totalfromdba_data_files
groupbytablespace_name)a,
(selecttablespace_name,sum(bytes)/1024/1024freefromdba_free_space
wherea.tablespace_name=b.tablespace_name;
4.下面这条语句查看所有segment的大小〔相当于查看表使用的大小〕。
5.还有在命令行情形下如何将结果放到一个文件里。
spoolout.txt
select*fromv$database;
spooloff
6、查看表空间中分布的用户信息
select
tablespace_name,
owner,sum(bytes)
from
dba_segments
group
by
owner
四、查看redolog文件及切换情形,通常切换时刻为15~30分钟
select*fromv$logfile;
select*fromv$log;
修改redolog文件大小:
altersystemcheckpoint;
altersystemswitchlogfile;
alterdatabasedroplogfilegroup3;
alterdatabaseaddlogfilegroup3('
\ORACLE\PRODUCT\10.2.0\ORADATA\UPRR\REDO03.LOG'
)size200Mreuse;
五、碎片程度
selecttablespace_name,count(tablespace_name)fromdba_free_spacegroupbytablespace_name
havingcount(tablespace_name)>
10;
六、em的地址查看及em和isqlplus启动及关闭:
查看地址:
/oracle/oracle10g/sysman/config/emd.properties
默认地址:
:
//$IP:
1158/em/console
Linux下启动、停止EM和isqlplus:
su-oracle
【oracle#】emctlstopdbconsole
【oracle#】emctlstartdbconsole
【oracle#】isqlplusctlsotp;
【oracle#】isqlplusctlstart;
附注:
Q:
在命令行方式下,如何查看CPU、内存的使用情形,网络流量和磁盘I/O?
A:
在命令行方式下,
1.查看CPU使用情形的命令
"
每5秒刷新一次,最右侧有CPU的占用率的数据
$vmstat5
top然后按ShiftP,按照进程处理器占用率排序
$top
2.查看内存使用情形的命令
用free命令查看内存占用情形
$free
top然后按ShiftM,按照进程内存占用率排序
3.查看网络流量
能够用工具iptraf工具
$iptraf-g
针对某个Interface的网络流量能够通过比较两个时刻网络接口的RX和TX数据来获得
$date;
ifconfigeth1
4.查看磁盘i/o
用iostat查看磁盘/dev/sdc3的磁盘i/o情形,每两秒刷新一次
$iostat-d-x/dev/sdc32
用vmstat查看io部分的信息
$vmstat2
七、内存参数调整
64位linux,64位oracle10g,64位websphere6.1,;
服务器内存8G的情形下配置:
ALTERSYSTEMSETopen_cursors=3000SCOPE=SPFILE;
ALTERSYSTEMSETpga_aggregate_target=256MSCOPE=SPFILE;
ALTERSYSTEMSETdb_cache_size=50MSCOPE=SPFILE;
ALTERSYSTEMSETdb_file_multiblock_read_count=256SCOPE=SPFILE;
ALTERSYSTEMSETjava_pool_size=1024MSCOPE=SPFILE;
ALTERSYSTEMSETlarge_pool_size=768MSCOPE=SPFILE;
ALTERSYSTEMSETsga_max_size=3GCOMMENT='
internallyadjusted'
SCOPE=SPFILE;
ALTERSYSTEMSETshared_pool_size=1024MSCOPE=SPFILE;
--ALTERSYSTEMSETsort_area_size=1000MSCOPE=SPFILE;
--ALTERSYSTEMSETundo_retention=10800SCOPE=SPFILE;
------------------------------------------------------------------------------------------------------------------------------
在32位的操作系统中,Oracle最大可用内存为1.75g,也确实是说SGA+PGA<
=1.75g,超过这一限制的内存将可不能被Oracle用到(测试及分配1400M、300M)
showparametersga;
ALTERsystemSETsga_max_size=1504mscope=spfile;
ALTERsystemSETsga_target=1504mscope=spfile;
shutdownimmediate;
startup;
showparameterpga;
ALTERsystemSETpga_aggregate_target=256m;
内存参数的调整要紧是oracle的sga的调整,sea要紧由共享池、数据缓冲区、日志缓冲区三部分组成。
1、共享池有两部分组成:
共享sql区和数据字典缓冲区。
查看共享sql区得使用率,应该在90%以上,否那么需增加共享池的大小。
select(sum(pins-reloads))/sum(pins)"
libcache"
fromv$librarycache;
selectsum(pins)"
要求存取数"
sum(reloads)"
不命中数"
sum(reloads)/sum(pins)fromv$librarycache;
其中,pins,显示在库高速缓存中执行的次数;
reload,显示在执行时期库高速缓存不命中的数目,一样sum(reloads)/sum(pins)的值应接近于零.假如大于1%就应该增加shared_pool_size的值,来提高数据字典高速缓存可用的内存数量,减少不命中数.
查看数据字典缓冲区的使用率,应该在90%以上,否那么需要增加共享池的大小。
select(sum(gets-getmisses-usage-fixed))/sum(gets)"
rowcache"
fromv$rowcache;
2、数据缓冲区的使用命中率=1-(physicalreads/(dbblockgets+consistentgets)),应该在90%以上,否那么需增加数据缓冲区大小。
selectname,valuefromv$sysstatwherenamein('
dbblockgets'
'
consistengets'
physicalreads'
);
3、日志缓冲区失败率=requests/entries,应该接近0,否那么说明日志缓冲区太小,需增加。
selectname,valuefromv$sysstatwherenamein('
redoentries'
redologspacerequests'
)
4、刷共享池
altersystemflushshared_pool;
---是小块的内存合并成大块的内存,临时复原性能
----------
5、临时表空间的调整技巧如下:
假如即使在稳固的状态下也存在专门多的排序扩展锁〔sortextentpoollatch〕的竞争,应该通过修改临时表空间的defaultstorage字句的next值来增大扩展块的大小。
假如存在专门多的排序扩展锁〔sortextentpoollatch〕的竞争同时这种等待是由于过多的并发的排序造成的,应该增大sort_area_size参数的大小,以便更多的派讯能储存在内存中,建议让扩展块的大小和sort_area_size参数相同
---------------------
6、查看sql语句的解析情形
select*fromv$sysstatwherenamein('
parse_time_cpu'
parse_time_elapsed'
parse_count_hard'
'
------>
系统服务时刻
-------»
响应时刻
等待时刻waite_time=parse_time_elapsed-parse_time_cpu
sql语句平均解析等待时刻=waite_time/parse_count_hard
--------------------
7、查看低效率的sql语句优化有助于提高cpu的利用率
selectbuffer_gets,executions,sql_textfromv$sqlarea;
-------------
8、通过v$system_event的latchfree查看数据库冲突情形,假如没有冲突那么latchfree无结果值。
假如冲突太大那么可降低spin_count参数值来排除高的cpu使用率。
八、索引、磁盘及表空间调整
将物理磁盘分多个盘,不同的数据文件放不同的磁盘上课提高速度。
将不同的表放不同的表空间里〔多建几个表空间〕可提高速度。
将索引和表分别放到不同的表空间里可提高速度。
〔事实上确实是I/O调优的一种方式。
〕
九、log_buffer、processes及session调整
showparameterspfile;
--查看是否是spfile启动
createspfilefrompfile;
--假如不是创建并重启数据库;
altersystemsetprocesses=1000scope=spfile;
showparameterprocesses;
startup
showparametersessions;
【注:
sessions是个派生值,由processes的值决定,公式sessions=1.1*process+5】
altersystemsetlog_buffer=16Mscope=spfile(默认4M)
showparameterlog_buffer;
问题:
ORA-02095:
无法修改指定的初始化参数
altersystemsetlog_buffer=16777216scope=spfile;
〔不能用M直截了当用字节ok〕
环境:
11gR2
altersystemsetsessions=250scope=both。
提示无法修改制定的初始化参数。
altersystemsetsessions=250scope=spfile;
提示系统参数已修改。
这种情形下,重新启动数据库才会生效。
这涉及到oracle中有些参数能够动态修改,有些参数不能动态修改,如何具体哪些参数可动态修改,哪些参数不能够动态修改,通过v$parameter视图能够清晰查看。
descv$parameter;
名称
是否为空?
类型
---------------------------------------------------------------
NUM
NUMBER
NAME
VARCHAR2(80)
TYPE
VALUE
VARCHAR2(4000)
DISPLAY_VALUE
ISDEFAULT
VARCHAR2(9)
ISSES_MODIFIABLE
VARCHAR2(5)
ISSYS_MODIFIABLE
ISINSTANCE_MODIFIABLE
ISMODIFIED
VARCHAR2(10)
ISADJUSTED
ISDEPRECATED
ISBASIC
DESCRIPTION
VARCHAR2(255)
UPDATE_COMMENT
HASH
其中name标示参数名字,isses_modifiable标示是否能够会话级别修改,如何是false,那么不能够动态修改,true那么能够动态修改。
issys_modifiable标示是否系统级别修改,false那么不可修改,true那么可动态修改。
selectname,isses_modifiable,issys_modifiablefromv$parameterwherename='
sessions'
;
ISSES
ISSYS_MOD
--------------------
-----
---------
sessions
FALSE
FALSE
ORA-12519:
TNS:
noappropriateservicehandlerfound的解决
有时候连得上数据库,有时候又连不上.
可能是数据库上当前的连接数目差不多超过了它能够处理的最大值.
selectcount(*)fromv$process;
--当前连接数
COUNT(*)
63
selectvaluefromv$parameterwherename='
processes'
--数据库承诺的最大连接数
VALUE
500
修改最大连接数:
altersystemsetprocesses=1000scope=spfile;
重启数据库:
shutdownimmediate;
startup;
--查看当前有哪些用户正在使用数据
SELECTosuser,a.username,cpu_time/executions/1000000||'
s'
sql_fulltext,machine
fromv$sessiona,v$sqlareab
wherea.sql_address=b.addressorderbycpu_time/execu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 运行 情况 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)