ITPub博客

首页 > 数据库 > Oracle > oracle参数调整

oracle参数调整

Oracle 作者:清新玉质 时间:2013-08-10 12:32:00 0 删除 编辑

3.1创建数据库时部分参数调整

  在使用dbca创建数据库时,首先需要调整以下两个参数:

charactorset:字符集设置,目前所有生产环境均使用ZHS16GBK;

process:允许的最大进程数,默认值为150,根据数据库连接实际情况进行设置。目前XXT主数据库为1000,历史库、统计库等为800。

3.2一些表空间的调整

undo和temp表空间:Oracle安装初始,undo表空间大小为50M,并且自动扩展,这样会带来较大的隐患。故对所有生产环境,均要求undo、temp等表空间关闭自动扩展(auto extend),调整方法:

alterdatabase datafile 'datafilepath' autoextend off;

alterdatabase tempfile 'tempfilepath' autoextend off;

另外,两个表空间的大小对数据库操作的影响也是很大的,需要调整至适当值。公司内一般环境的undo表空间及temp表空间体积均为4G即可,调整方法:

alter databasedatafile 'datafilepath' resize 4096M;

alterdatabase tempfile 'tempfilepath' resize 4096M;

3.3 redo日志调整

Oracle安装完成后,默认三组redo log,每组两个成员,文件大小50M。在数据变动较大的数据库,频繁切换redo log会严重影响数据库I/O性能;但过大的redo log在切换时也会对性能产生一定影响。对公司内生产环境,redo log标准如下:

a.使用6组redo log;

b.每组redo log一个成员,每个成员200M。

查看当前redo log使用情况:

selectgroup#,sequence#,members,bytes/1024/1024,status,archived from v$log;

  新增redo log组:

alter databaseadd logfile '/usr/oracle/oradata/xxttjdb/redo04.log' size 200M;

  删除redo log组:

alter databasedrop logfile group n;

  删除redo log成员:

alter databasedrop logfile member 'path'。

3.4使数据库运行在归档模式

  为保证数据恢复效率和完整度,为后期使用DataGuard提供条件,新装数据库安装完成后,需要将其切换至归档模式。

在sqlplus下执行以下语句:

select name,log_mode,force_logging from v$database;

如log_mode值为ARCHIVELOG,force_logging值为yes,则表明数据库目前已运行在归档模式下,并已启用强制归档。如运行在非归档模式下,则需将数据库切换为归档模式,并启用强制归档。操作方法:

a.创建归档日志目录:在默认情况下,如不自定义归档日志目录,则归档日志保存在FRA(FlashRecovery Area)中,默认的FRA大小为2G。故日常使用中,推荐在操作系统中创建自定义的归档日志目录,并修改属主及组信息为oracle:dba:

mkdir p/usr/oracle/oradata/arch

chown Roracle.dba /usr/oracle/oradata/arch

b.修改数据库相关参数,指定归档日志存放路径,并将数据库切换至归档模式运行,启用强制归档。自定义归档日志路径有两种方式:修改log_archive_dest参数或修改log_archive_dest_n参数,两种方式的区别:

*修改log_archive_dest参数时,需禁用db_recovery_file_dest,即不能使用Flash RecoveryArea。此种方法直接修改spfile即可,操作:

alter system set db_recovery_file_dest='';

alter system setlog_archive_dest='/usr/oracle/oradata/arch';

shutdown immediate;

startup mount;

alter database archivelog;

alter database force logging;

alter database open;

*修改log_archive_dest_n参数时,无需禁用FRA,但不能直接对spfile修改(即使用alter system方式),需通过修改pfile方式进行,方法:

create pfilefrom spfile;

在最新的pfile中增加以下内容:

*.log_archive_dest_1='location=/usr/oracle/oradata/arch'

指定pfile启动数据库:

startup mountpfile=’/usr/oracle/product/10.2.0/dbs/initanalyse.ora’;

alter databasearchivelog;

alter databaseforce logging;

create spfilefrom pfile;

alter databaseopen;

变更完成后,再次在sqlplus下执行:

select name,log_mode,force_logging from v$database;

用于查看数据库是否已经运行在归档模式下并强制归档。确认已经启用归档后,在sqlplus下执行如下语句:

alter system switch logfile;

执行成功后,切换至自定义的归档日志目录,查看归档日志是否已经生成。

4备份相关

  参数调整完成后,需增加对应的备份机制及备份清理机制。目前的备份机制采用RMAN为主、辅以exp形式进行。

RMAN备份脚本分sh脚本和sql脚本,通过sh调用sql。两脚本内容如下(以XXT主库为例):

rmanbak.sh:

rman cmdfile=/edu-backup/shell/rmanbak_xxt.sqllog=/xxtbak/rmanbak/baklog/rmanbak_$rq.log

rm -f /xxtbak/rmanbak/baklog/rmanbak_$rq1.log

find /usr/oracle/admin/xxtnewdb/bdump/xxtnewdb_*.trc-type f -mtime +60 -exec rm {} ;

find /usr/oracle/admin/xxtnewdb/udump/xxtnewdb_*.trc-type f -mtime +60 -exec rm {} ;

find /xxtbak/rmanbak/archivelog/* -type f -mtime +1-exec rm {} ;

find /xxtbak/rmanbak/datafile/inc_* -type f -mtime +1-exec rm {} ;

find /xxtbak/rmanbak/ctlfile/c-* -type f -mtime +1-exec rm {} ;

rmanbak.sql:

connect target;

run{

crosscheck backup;

crosscheck copy;

delete noprompt expired copy;

delete noprompt expired backup;

delete noprompt obsolete;

backup incremental level=1

for recover of copy datafilecopy format'/xxtbak/rmanbak/datafile/datafile_%U'

tag 'incr_xxt' database format'/xxtbak/rmanbak/datafile/inc_%U'

plus archivelog format'/xxtbak/rmanbak/archivelog/arc_%U';

recover copy of database with tag 'incr_xxt';

crosscheck archivelog all;

delete expired archivelog all;

}

exp备份脚本如下:

rq=`date +"%Y%m%d"`

rq5=` date "-d 7 day ago""+%Y%m%d" `

rm -f /edu-backup/bak/pxxt22_$rq5

rm -f /edu-backup/bak/zipexpbak.$rq5

rm -f /edu-backup/bak/zipxxtbak${rq5}.dmp.gz

rm -f /edu-backup/bak/alert_xxtnewdb${rq5}.log

rm -f /edu-backup/bak/listener.${rq5}.log

#rm -f /edu-backup/bak/data_syn_{rq5}.tar.gz

cp /usr/oracle/product/10.2.0/network/log/listener.log/edu-backup/bak/listener.$rq.log && >/usr/oracle/product/10.2.0/network/log/listener.log

cp /usr/oracle/admin/xxtnewdb/bdump/alert_xxtnewdb.log/edu-backup/bak/alert_xxtnewdb$rq.log && >/usr/oracle/admin/xxtnewdb/bdump/alert_xxtnewdb.log

#mv /usr/oracle/admin/nmxxtdb/arch/*/archbak

mknod /edu-backup/bak/pxxt22_$rq p

gzip < /edu-backup/bak/pxxt22_$rq >/edu-backup/bak/zipxxtbak$rq.dmp.gz &

exp system/system#nmxxtdbnewfile=/edu-backup/bak/pxxt22_$rq log=/edu-backup/bak/zipexpbak.$rq full=y

rm -rf /edu-backup/bak/p*

#tar -zcvf /xxtbak/fullbak/data_syn_$rq.tar.gz/usr/oracle/data_syn/

chmod 755 -R /edu-backup/bak/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25166102/viewspace-1109082/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-12-31