Oracle12c之修改连接数后导致的故障处理

Oracle12c之修改连接数后导致的故障处理

文章目录

  • Oracle12c之修改连接数后导致的故障处理
  • 1. 故障原因
  • 2. 故障信息
  • 3. 解决方法
    • 1. 首先登陆到数据库,创建临时pfile
    • 2. 手动修改创建的`pfile.bac`
    • 3. 以创建的临时文档启动数据库实例
    • 4.按照临时pfile中的内容重新创建pfile
    • 5. 关闭数据库并重启
    • 6. 再次连接一切正常

1. 故障原因

故障原因:

  1. 修改最大连接数: alter system set processes = 3000 scope = spfile;
  2. sqlplus中执行了命令shutdown immediate;,发现很卡
  3. shutdown immediate执行卡顿时,又去windows的服务中收到关闭了OracleOraDB12Home1TNSListenerOracleServiceORCL
  4. 然后在windows服务中启动正常,然后通sqlplus连接后提示已连接到空闲例程。
  5. 再次将连接数改回默认时出现ORA-01034: ORACLE not available的错误

2. 故障信息

C:\Users\Administrator>sqlplus conn/sys as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 星期一 122 09:31:28 2024

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> startup
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 2032M
ORA-01078: 处理系统参数失败
SQL> startup                              ;e;
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 2032M
ORA-01078: 处理系统参数失败
# 修改会原来值失败
SQL> alter system set processes = 320 scope = spfile;
alter system set processes = 320 scope = spfile
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0

# 启动失败
SQL> startup
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 2032M
ORA-01078: 处理系统参数失败
SQL>

3. 解决方法

导致这一问题的原因可能是修改了pfile,导致内存指定值过低,数据库启动会失败;

解决方是先指定一个临时的pfile,手动修改内存指定值,再试着启动数据库实例;

注意:处理此问题必须通过sqlplus工具来处理,sqlplus基本使用可参考:Oracle之Sqlplus命令行窗口基本使用-CSDN博客

1. 首先登陆到数据库,创建临时pfile

创建临时pfile文件,这里以后缀名.bac为例,此文件名后缀可以任意起,如pfile.ora,pfile.txt等等

# create pfile='D:/app/pfile.bac' from spfile;

C:\Users\Administrator>sqlplus conn/sys as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 星期一 122 09:46:37 2024

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> create pfile='D:/app/pfile.bac' from spfile;

File created.

SQL>

Oracle12c之修改连接数后导致的故障处理_第1张图片

2. 手动修改创建的pfile.bac

  1. 打卡prfile.bac文件内容如下:
orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=570425344
orcl.__inmemory_ext_roarea=0
orcl.__inmemory_ext_rwarea=0
orcl.__java_pool_size=16777216
orcl.__large_pool_size=33554432
orcl.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=603979776
orcl.__sga_target=1124073472
orcl.__shared_io_pool_size=50331648
orcl.__shared_pool_size=436207616
orcl.__streams_pool_size=0
*.audit_file_dest='D:\app\Administrator\admin\orcl\adump'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='D:\app\Administrator\oradata\orcl\control01.ctl','D:\app\Administrator\oradata\orcl\control02.ctl'
*.db_block_size=8192
*.db_name='orcl'
*.deferred_segment_creation=FALSE
*.diagnostic_dest='D:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.local_listener='LISTENER_ORCL'
*.memory_target=1638m
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=3000
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
  1. *.memory_target=1638m改为*.memory_target=2032m

Oracle12c之修改连接数后导致的故障处理_第2张图片

3. 以创建的临时文档启动数据库实例

然后以这个临时文件试着启动数据库实例:


SQL> startup pfile=D:/app/pfile.bac
ORACLE instance started.

Total System Global Area 2130706432 bytes
Fixed Size                  8748856 bytes
Variable Size            1862271176 bytes
Database Buffers          251658240 bytes
Redo Buffers                8028160 bytes
数据库装载完毕。
数据库已经打开。
SQL>

如下图:
Oracle12c之修改连接数后导致的故障处理_第3张图片

4.按照临时pfile中的内容重新创建pfile


SQL> create spfile from pfile='D:/app/pfile.bac';

文件已创建。

SQL>

5. 关闭数据库并重启

Microsoft Windows [版本 10.0.17763.973]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>sqlplus conn/sys as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 星期一 122 10:25:19 2024

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 2130706432 bytes
Fixed Size                  8748856 bytes
Variable Size            1862271176 bytes
Database Buffers          251658240 bytes
Redo Buffers                8028160 bytes
数据库装载完毕。
数据库已经打开。
SQL>

Oracle12c之修改连接数后导致的故障处理_第4张图片

6. 再次连接一切正常

Oracle12c之修改连接数后导致的故障处理_第5张图片

你可能感兴趣的:(oracle,数据库,Oracle12c,sqlplus)