oracle数据库相关操作注意事项

知道91 | 数据库 | 2016-12-10 | 阅读:4778

修改Oracle SGA(共享内存)

很多网站说修改Oracle的内存通过命令

alter system set sga_max_size=2048m scope=spfile;

如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方法如下

修改Oracle内存(sga)后恢复数据库启动的方法

步骤1:管理员身份启动cmd(命令行),输入下面的命令

进入 “你的数据库安装路径根目录\Administrator\product\数据库版本(12.1.0)\dbhome_1\BIN”

设置Oracle当前的ORACLE_SID为你当前需要改动数据库,使用如下命令:

set ORACLE_SID=你的数据库实例名

然后运行如下命令

sqlplus sys/你的数据密码 as sysdba

步骤2:通过pfile的启动文件启动数据库

startup pfile='你的数据库安装路径根目录\admin\你的数据库名\pfile\init.ora'

(单引号前后是没有空白的,排版问题)

其中init.ora你可能没有但是你应该可以找到一个类型init.ora.1172016111548的文件,在执行上面的命令前你应该修改其名字为init.ora

步骤2:创建pfile文件

上面的操作只是启动了数据库,如果只做上面的操作,重启电脑后仍然启动不起来,你应该还需要执行下面的命令:

create spfile from pfile='你的数据库安装路径根目录\admin\你的数据库名\pfile\init.ora';

(单引号前后是没有空白的,排版问题)

注意不要忘记了末尾的英文分号(;)

这样就可以从新启动数据库了,并且重启电脑后依然有效。

使用pfile来修改Oracle的共享内存(sga)

用记事本打开上面的init.ora你可以看到类似下面的文本

##############################################################################
# Copyright (c) 1991, 2013 by Oracle Corporation
##############################################################################
 
###########################################
# SGA Memory
###########################################
sga_target=3548m
 
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=yjljwellXDB)"
 
###########################################
# Miscellaneous
###########################################
compatible=12.1.0.2.0
diagnostic_dest=D:\app\jw
 
###########################################
# Security and Auditing
###########################################
audit_file_dest="D:\app\jw\admin\yjljwell\adump"
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
 
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=1182m
 
###########################################
# Database Identification
###########################################
db_domain=""
db_name="yjljwell"
 
###########################################
# File Configuration
###########################################
db_create_file_dest="D:\app\jw\oradata"
db_recovery_file_dest="D:\app\jw\fast_recovery_area"
db_recovery_file_dest_size=6420m
 
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
 
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_tablespace=UNDOTBS1
 
###########################################
# Processes and Sessions
###########################################
processes=300
 
###########################################
# Cache and I/O
###########################################
db_block_size=8192
 
control_files=("D:\APP\JW\ORADATA\YJLJWELL\CONTROLFILE\O1_MF_D4GZG41L_.CTL", "D:\APP\JW\FAST_RECOVERY_AREA\YJLJWELL\CONTROLFILE\O1_MF_D4GZG45F_.CTL")

修改SGA Memory栏位下的sga_target值为例想要分配的共享内存大小,建议大于500m。

然后执行

shutdown immediate;

先关闭数据库,然后按照上面pfile的方法通过init.ora文件来启动数据库,并且创建pfile文件。这样你就可以通过windows任务管理器看到Oracle占的内存大约就是你修改的共享内存值了。