oracle ERP开发总结2:开始熟悉开发流程,接触到Form开发(2013-11-11)
2013-12-07 23:59
405 查看
====================================<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
2008-8-28 日晚数据库日志 程序全局区 排序区
大池 JAVA池 ORACLE 10G 自动共享内存管理
====================================
程序全局区:单个用户或服务器数据和控制信息的内存区域。由ORACLE 自动分配。
排序区:为由拍训的SQL语句提供内存空间 sort_area_size
select name,value from v$parameter where name like 'sort%size';
NAME VALUE
1 sort_area_size 65536
2 sort_area_retained_size 0
内存的排序量 和磁盘的排序量 通过V$SYSSTAT数据字典查询
select name ,value from v$sysstat where name like '%sort%'
sorts (memory) 305634
sorts (disk) 0
sorts (rows) 16529326
大池:用于数据库备份工具----- 恢复管理器(RMAN) 由large_pool_size 确定
select name ,value from v$parameter where name like 'share%size'
NAME VALUE
1 shared_pool_size 0
2 shared_pool_reserved_size 4823449
ORACLE 10G 自动共享内存管理
oracle 10g 中只要将参数statistics_level 设置为TYPICAL 或者ALL ,使用新参数SGA_TARGET 指出SGA内存区的总大小就可以了,不需要定义SGA数据库的每个参数的大小,数据库会根据需要在各个组件之间自动分配内存的大小
select ((select sum(value) from v$sga) -
(select current_size from v$sga_dynamic_free_memory)) "sga_target"
from dual
==============================================================
ORACLE 的进程结构
==============================================================
ORACLE 实例 实例包括两个部分 ,一个部分是内存中的系统全局区, 一个部分是后台进程。
oracle 实例进程结构
单进程ORACLE实例(一般不用)在一台机器上与性,只能一个用户
多进程ORACLE 实例 unix /windows 2000 系统的进程分为用户进程 服务器进程 和后台进程
数据库所占用的操作系统进程总数受参数PORCESSES 的限制
show parameter processes 或者 select value from v$paramter where name like '%processes'
在系统中所有进程不能超过PORCESSES的数量PROCESSES可以在参数文件中修改,在UNIX中这个数量收到系统参数semmns设置制约。
用户进程和服务器进程
通过 数据字典 V$PROCESS,V$SESSTAT,S$SESSION 查询进程
select substr(s.sid, 1, 3) sid,
substr(s.SERIAL#, 1, 5) ser,
spid,
substr(schemaname, 1, 10) schema,
substr(type, 1, 3) typ,
substr(decode((consistent_gets + block_gets),
0,
'none',
(100 * (consistent_gets + block_gets - physical_reads) /
(consistent_gets + block_gets))),
1,
4) "%hit",
value cpu,
substr(block_changes, 1, 5) bchng
from v$process p, v$sesstat t, v$session s, v$sess_io i
where i.sid = s.sid
and s.sid = t.sid
and p.ADDR = s.PADDR(+)
SID :回话ID 号
SER :会话 序列号
SPID:对应操作系统进程
schma:数据库用户名
typ:进程类型 USE 用户 BAC 后台进程
%hit:数据缓冲区命中率
CPU: 使用CPU的时间
PCHNG:修改数据块的个数
后台进程结构
数据写入进程DBWR
日志写入进程LGWR
检查点进程CKPT
系统监控PMON
归档进程ARCH
恢复进程RECO
封锁进程LCKn
调度进程dnnn
服务器进程snnn
作业进程snp
select * from v$bgprocess
后台进程跟踪信息
设置参数文件sql_trace=true
或者alter session set sql_trace=true
tkprof 工具
background_dump_dest 所制定的目录下
select * from v$parameter where name like '%background_dump_dest%'
然后用tkprof 工具将TRC 文件生成 txt 文件 例如:
F:\>cd F:\oracle\product\10.2.0\admin\yu10\bdump
F:\oracle\product\10.2.0\admin\yu10\bdump>tkprof yu10_lgwr_3112.trc 1.txt
锁等待问题
保持读一致性
查看数据库中目前正在等待所资源的用户,可以查询数据字典v$session v$lock
select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where a.LOCKWAIT = b.kaddr
然后用
alter system kill session ‘sid,serial#’;
2008-8-28 日晚数据库日志 程序全局区 排序区
大池 JAVA池 ORACLE 10G 自动共享内存管理
====================================
程序全局区:单个用户或服务器数据和控制信息的内存区域。由ORACLE 自动分配。
排序区:为由拍训的SQL语句提供内存空间 sort_area_size
select name,value from v$parameter where name like 'sort%size';
NAME VALUE
1 sort_area_size 65536
2 sort_area_retained_size 0
内存的排序量 和磁盘的排序量 通过V$SYSSTAT数据字典查询
select name ,value from v$sysstat where name like '%sort%'
sorts (memory) 305634
sorts (disk) 0
sorts (rows) 16529326
大池:用于数据库备份工具----- 恢复管理器(RMAN) 由large_pool_size 确定
select name ,value from v$parameter where name like 'share%size'
NAME VALUE
1 shared_pool_size 0
2 shared_pool_reserved_size 4823449
ORACLE 10G 自动共享内存管理
oracle 10g 中只要将参数statistics_level 设置为TYPICAL 或者ALL ,使用新参数SGA_TARGET 指出SGA内存区的总大小就可以了,不需要定义SGA数据库的每个参数的大小,数据库会根据需要在各个组件之间自动分配内存的大小
select ((select sum(value) from v$sga) -
(select current_size from v$sga_dynamic_free_memory)) "sga_target"
from dual
==============================================================
ORACLE 的进程结构
==============================================================
ORACLE 实例 实例包括两个部分 ,一个部分是内存中的系统全局区, 一个部分是后台进程。
oracle 实例进程结构
单进程ORACLE实例(一般不用)在一台机器上与性,只能一个用户
多进程ORACLE 实例 unix /windows 2000 系统的进程分为用户进程 服务器进程 和后台进程
数据库所占用的操作系统进程总数受参数PORCESSES 的限制
show parameter processes 或者 select value from v$paramter where name like '%processes'
在系统中所有进程不能超过PORCESSES的数量PROCESSES可以在参数文件中修改,在UNIX中这个数量收到系统参数semmns设置制约。
用户进程和服务器进程
通过 数据字典 V$PROCESS,V$SESSTAT,S$SESSION 查询进程
select substr(s.sid, 1, 3) sid,
substr(s.SERIAL#, 1, 5) ser,
spid,
substr(schemaname, 1, 10) schema,
substr(type, 1, 3) typ,
substr(decode((consistent_gets + block_gets),
0,
'none',
(100 * (consistent_gets + block_gets - physical_reads) /
(consistent_gets + block_gets))),
1,
4) "%hit",
value cpu,
substr(block_changes, 1, 5) bchng
from v$process p, v$sesstat t, v$session s, v$sess_io i
where i.sid = s.sid
and s.sid = t.sid
and p.ADDR = s.PADDR(+)
SID :回话ID 号
SER :会话 序列号
SPID:对应操作系统进程
schma:数据库用户名
typ:进程类型 USE 用户 BAC 后台进程
%hit:数据缓冲区命中率
CPU: 使用CPU的时间
PCHNG:修改数据块的个数
后台进程结构
数据写入进程DBWR
日志写入进程LGWR
检查点进程CKPT
系统监控PMON
归档进程ARCH
恢复进程RECO
封锁进程LCKn
调度进程dnnn
服务器进程snnn
作业进程snp
select * from v$bgprocess
后台进程跟踪信息
设置参数文件sql_trace=true
或者alter session set sql_trace=true
tkprof 工具
background_dump_dest 所制定的目录下
select * from v$parameter where name like '%background_dump_dest%'
然后用tkprof 工具将TRC 文件生成 txt 文件 例如:
F:\>cd F:\oracle\product\10.2.0\admin\yu10\bdump
F:\oracle\product\10.2.0\admin\yu10\bdump>tkprof yu10_lgwr_3112.trc 1.txt
锁等待问题
保持读一致性
查看数据库中目前正在等待所资源的用户,可以查询数据字典v$session v$lock
select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where a.LOCKWAIT = b.kaddr
然后用
alter system kill session ‘sid,serial#’;
相关文章推荐
- oracle ERP开发总结:第一次接触开发(2013-10-26)
- Oracle Form二次开发实战总结
- 敏捷开发系列学习总结(1)——版本管理发布流程
- 闲来开始一些安卓开发的总结
- 11 开发流程总结
- Oracle开发专题之:分析函数总结
- 敏捷开发流程总结
- Nginx 模块自主开发八: 总结 Nginx框架的流程
- iOS开发流程总结
- 总结:嵌入式系统设计与开发流程
- iOS开发流程总结
- 传智播客erp项目学习,了解软件开发流程,使用apache的文件上传组件
- 基于NOKIA Qt SDK开发流程总结
- Oracle Form 开发用应LIST
- Android开发流程总结
- [转移]公司要开始推行完善的开发流程管理
- 敏捷开发流程总结
- [置顶] java后端 三方登录之微信登录 开发详细流程以及遇到过的坑 总结(非常详细) 2017-12-26
- J2EE开发流程的学习总结
- ORACLE数据库开发经验总结