Oracle连接超限修改,ORA-00064,ORA-12571,ORA-24324及用户连接查看
[日期:2012-11-09] | 来源:Linux社区 作者:cswggod | [字体:大 中 小] |
(一)Oracle连接超限修改
我们需要调整oracle数据库的最大链接数,而这个链接数的调整是在oacle下的dbs目录下init.ora文件中调整的。
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
但 是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是核心参数中的semmns,这是unix系统的信号 量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或 ORACLE SGA。范围可从200——2000不等。
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
但 是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是核心参数中的semmns,这是unix系统的信号 量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或 ORACLE SGA。范围可从200——2000不等。
但是,Processes的修改不仅应该调整init<sid>.ora文件中的参数,而且应 该调整OS的内核参数,象AIX,HPUX,Solaris,SCO,UNIXWare都是这样,OS的调整是需要重新启动的,而且这个参数的设置不能简 单按照多少个终端要连到这个服务器上而定,最关键是考虑会有多少同时连上的session(在使用一些共享连接的中间件时,一般就不需要太大),当然还要 考虑一些Oracle的后台进程,还有一些系统维护工作需要多一些连接等。
1.数据库连接超限时,新的连接会失败,查看数据库允许连接数
SQL> show parameter processes
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes integer
1
db_writer_processes integer
1
job_queue_processes integer
10
log_archive_max_processes integer
2
processes integer
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes integer
1
db_writer_processes integer
1
job_queue_processes integer
10
log_archive_max_processes integer
2
processes integer
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
150
------------------------------------ ----------------------
VALUE
------------------------------
150
#--------------数据库连接数是150,修改连接数
SQL>
SQL> alter system set processes=5000 scope=spfile;
SQL>
SQL> alter system set processes=5000 scope=spfile;
系统已更改。
SQL> alter system set sessions=5000 scope=spfile;
系统已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-00064: object is too large to allocate on this O/S (1,4800000)
SQL> startup
ORA-00064: object is too large to allocate on this O/S (1,4800000)
ORA-00064: object is too large to allocate on this O/S (1,4800000)
SQL> startup
ORA-00064: object is too large to allocate on this O/S (1,4800000)
#-----------------------------以上修改最大连接数失败,最大连接数与OS有关、
#-----------------------------不考虑OS是最大连接数可能修改失败
2.修改最大连接数错误ORA-00064,数据库启动不了
#----------------------(1)Oracle SYS DBA连接,此时因为ORA-12571错误,其他用户无法连接
SQL> conn sys/oracle@orcl as sysdba
已连接到空闲例程。
#----------------------(2)以pfile 启动数据库
SQL> startup pfile='D:\oracle\admin\orcl\pfile\init.ora.105201216493' open
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
#----------------------(3)重建spfile,是oracle正常启动
SQL> create spfile from pfile='D:\oracle\admin\orcl\pfile\init.ora.105201216493';
文件已创建。
#----------------------最大连接数为修改
SQL> show parameter processes;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes integer
1
db_writer_processes integer
1
job_queue_processes integer
10
log_archive_max_processes integer
2
processes integer
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
150
SQL>
/*------------------3. 修改processes和sessions值必须重启oracle服务器才能生效
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
----------------------*/
#----------------------(4)重启数据库,使重建的SPFILE生效
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
#----------------------(5)修改最大连接数与spfile,重启生效;若连接生效scope=both
SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL>
SQL> alter system set sessions=335 scope=spfile;
系统已更改。
SQL>
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 139533192 bytes
Fixed Size 453512 bytes
Variable Size 113246208 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
#----------------------(6)查看最大连接数
SQL> show parameter processes
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes integer
1
db_writer_processes integer
1
job_queue_processes integer
10
log_archive_max_processes integer
2
processes integer
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
300
SQL>
#------------------数据库连接数是300
#----------------------(1)Oracle SYS DBA连接,此时因为ORA-12571错误,其他用户无法连接
SQL> conn sys/oracle@orcl as sysdba
已连接到空闲例程。
#----------------------(2)以pfile 启动数据库
SQL> startup pfile='D:\oracle\admin\orcl\pfile\init.ora.105201216493' open
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
#----------------------(3)重建spfile,是oracle正常启动
SQL> create spfile from pfile='D:\oracle\admin\orcl\pfile\init.ora.105201216493';
文件已创建。
#----------------------最大连接数为修改
SQL> show parameter processes;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes integer
1
db_writer_processes integer
1
job_queue_processes integer
10
log_archive_max_processes integer
2
processes integer
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
150
SQL>
/*------------------3. 修改processes和sessions值必须重启oracle服务器才能生效
ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
----------------------*/
#----------------------(4)重启数据库,使重建的SPFILE生效
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
#----------------------(5)修改最大连接数与spfile,重启生效;若连接生效scope=both
SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL>
SQL> alter system set sessions=335 scope=spfile;
系统已更改。
SQL>
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 139533192 bytes
Fixed Size 453512 bytes
Variable Size 113246208 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
#----------------------(6)查看最大连接数
SQL> show parameter processes
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
aq_tm_processes integer
1
db_writer_processes integer
1
job_queue_processes integer
10
log_archive_max_processes integer
2
processes integer
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
300
SQL>
#------------------数据库连接数是300
相关推荐
修改oracle最大连接数:可以帮助你修改 oracle中最大连接数
oracle修改最大连接数
修改数据库最大连接数以及linux系统下ORACLE数据库启动多实例参照.pdf
很多人员连不上数据库、或者连上数据库就被挤下来、或 突然断开连接。...这种情况是Oracle数据创建示例(数据库)的时候,最大连接数设置过小造成的。但是又不想重启安装数据库,本文教你后期如何修改数据库连接数。
oracle 连接数查看 修改 设置 最大连接数 回话连接数 查看修改
修改Oracle最大远程链接数的方法 希望可以帮助到你。
NULL 博文链接:https://liuc121.iteye.com/blog/1838207
修改数据库最大连接数以及linux系统下ORACLE数据库启动多实例借鉴.pdf
然后 更改系统连接数 alter system set processes=1000 scope=spfile; 下面是具体的操作步骤与说明问题描述:客户端连接数据库报错 ORA-12516: TNS: 监听程序无法找到匹配协议栈的可用句柄 解决过程: 1。查看当前...
本节主要介绍了ORACLE查看并修改最大连接数的具体步骤,需要的朋友可以参考下
1.查询数据库当前进程的连接数: 代码如下: select count(*) from v$process; 2.查看数据库当前会话的连接数: 代码如下: elect count(*) from v$session; 3.查看数据库的并发连接数: ...查询数据库允许的最大连接数:
创建spfile并修改数据库连接数
说明:用于连接到oracle数据库,也可实现用户的切换 用法:conn 用户名/密码 [as sysdba/sysoper] 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 ...
增大用户oracle的进程数、文件数限制 [root@dbserver ~]# vi /etc/sysctl.conf …… fs.aio-max-nr = 1048576 限制并发未完成的请求,应该设置避免I/O子系统故障 fs.file-max = 6815744 文件句柄设置代表linux系统中...
§3.4.12 许可的最大会话数(LICENSE_MAX_SESSIONS) 74 §3.4.13 许可的最大用户数(LICENSE_MAX_USERS) 74 §3.4.14 许可的会话警告(LICENSE_SESSIONS_WARNING) 75 §3.4.15 归档文件目标路径(LOG_ARCHIVE_DEST...
说明:21是某个连接的sid数 然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用户名/密码 退出SQL*Plus SQL>exit b、在sqlplus下得到帮助信息 列出全部SQL命令和SQL*Plus命令 SQL>...
数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库. 得到最大值 是否存在 是否存在(基于MySqlParameter) 执行SQL语句,返回影响的记录数 执行MySql和Oracle滴混合事务 执行多条SQL...