Oracle_processes修改注意事项.doc_第1页
Oracle_processes修改注意事项.doc_第2页
Oracle_processes修改注意事项.doc_第3页
Oracle_processes修改注意事项.doc_第4页
Oracle_processes修改注意事项.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库进程数的修改ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:sessions=(1.1*process+5)当你设置不同processes值时候,shared_pool中的processes池,大小也会随之变化select * from v$sgastat where pool=shared pool and name=processes;目前我所见到的生产环境中的库,大点的话,一般processes在3000左右就够用了,当然你的环境要是超大型oltp类型的,那么另说了,总的来说就是要根据你业务情况来了。另外,你可以通过下面语句看看历史会话数的峰值是多少,来判断是否需要调整processes。select sessions_current,sessions_highwater from v$license;下面我们用两种方法修改PROCESS的最大值 一、通过Oracle Enterprise Manager Console在图形化管理器中修改 以系统管理员的身份登入,进入界面 数据库的例程 - 配置 - 一般信息 - 所有初始化参数,修改processes的值 二、在SQLPLUS中修改 以DBA权限登录,修改PROCESS的值(SESSION的值会跟着改);创建pfile;重新启动数据库。输入的SQL命令如下,回显信息省略了 SQL connect sys/sys as sysdba SQL alter system set processes=1000 scope = spfile; SQL create pfile from spfile; SQL shutdown immediate; SQL startup;参考下面案例:首先介绍查看数据库设置信息的SQL语句:SQL select count(*) from v$session -#连接数SQL Select count(*) from v$session where status=ACTIVE-#并发连接数select sessions_current,sessions_highwater from v$license;SQL show parameter processes -最大连接SQL show parameter spfile - 查看当前正在使用的spfile 1、使用sys,以sysdba权限登录:2、SQL show parameter processes; - 查看一下设置3、show parameter spfile - 查看当前正在使用的spfile ,如果没有,则执行第四步4、 创建spfile SQLcreate spfile from pfile; SQLshutdown immediate; SQLstartup;5、SQL alter system set processes=1000 scope = spfile; -修改processes6、修改成功之后,关闭数据库,并重启 SQLshutdown immediate; SQLstartup;7、然后 SQLshow parameter processes - 可以查看是否修改成功了1.select count(*) from v$session; select count(*) from v$process; 查看当前总会话数和进程数,这两个视图就是跟会话及进程有关的重要视图啦,信息都是从这里面取的。 2.查询那些应用的连接数此时是多少 select b.MACHINE, b.PROGRAM , count(*) from v$process a, v$session b where a.ADDR = b.PADDR and b.USERNAME is not null group by b.MACHINE , b.PROGRAM order by count(*) desc; 3.查询是否有死锁 select * from v$locked_object; 如果查询结果为no rows selected,说明数据库中没有死锁。否则说明数据库中存在死锁。 接下来说明一下会话的状态: 1.active 处于此状态的会话,表示正在执行,处于活动状态。 2.killed 处于此状态的会话,表示出现了错误,正在回滚,当然,也是占用系统资源的。还有一点就是,killed的状态一般会持续较长时间,而且用windows下的工具pl/sql developer来kill掉,是不管用的,要用命令:alter system kill session sid,serial# ; 3.inactive 处于此状态的会话表示不是正在执行的,比如select语句已经完成。我一开始以为,只要是inactive状态的会话,就是该杀,为什么不释放呢。其实,inactive对数据库本身没有什么影响,但是如果程序没有及时commit,那么就会造成占用过多会话。解决inactive的方法最好的就是在oracle中直接设置超时时间,也是有两种方法,区别暂时还不清楚: 1.修改sqlnet.ora文件,新增expire_time=x(单位是分钟) 2.通过ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10; 命令修改,记得重启下oracle。Oracle查看用户连接数命令:1、查询oracle的连接数select count(*) from v$session;2、查询oracle的并发连接数select count(*) from v$session where status=ACTIVE;3、查看不同用户的连接数select username,count(username) from v$session where username is not null group by username;4、查看所有用户:select * from all_users;5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):select * from dba_sys_privs;select * from user_sys_privs;6、查看角色(只能查看登陆用户拥有的角色)所包含的权限select * from role_sys_privs;7、查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;8、查看所有角色:select * from dba_roles;9、查看用户或角色所拥有的角色:select * from dba_role_privs;select * from user_role_privs;10、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)select * from V$PWFILE_USERS;修改数据库允许的最大连接数:alter system set processes = 300 scope = spfile;查看游标数量Select * from v$open_cursor Where user_name=查询数据库允许的最大连接数:select value from v$parameter where name = processes;或者:show parameter processes;查询数据库允许的最大游标数:select value from v$parameter where name = open_cursors查看oracle版本select banner from sys.v_$version;按降序显示用户SYSTEM为每个会话打开的游标数select

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论