cssclear-clickonce
2023年4月5日发(作者:大地系统官网)
Oracle10&EAS参数设置及维护
Oracle10&EAS参数设置及维护
(系统部署部提供2008-5-10)
内容提要
A、【与EAS相关Oracle参数设置】
B、【侦听管理(Listener)】
C、【ORACLE归档模式和非归档模式切换】
D、【Rman备份与管理】
E、【数据泵(Expdp/impdp)导出导入】
适应范围
实施人员、技术支持
本文档仅做Oracle10实施文档,也可做其他操作系统参考。本已经在多个EAS+Oracle10g客户
中验证使用。
1应用概述
相信为数不少的系统管理员经常为Oracle日常管理或较为复杂的管理不知咋办;
1、系统环境发生变化(例如OracleIP地址发生变更时),不知道为何EAS无法连接Oracle,遇
到HACMP群集更不知道从那设置才正常?
2、想对EAS账套,于同一SID中克隆相同账套,不知道从何下手?
3、想要在线RMAN备份,又遇到归档设置的麻烦?
4、RMAN是个好工具,又不知道如何设置?
5、一不小心设置了闪回,导致生产机磁盘空间不够又不知道如何取消?
6、RMAN增量备份工具虽好,但又不知道如何定期清理过期作废的备份文件,或者忘记清理导致服
务器故障老挨领导的批评。。。。。。。
本文档就EAS+Oracle实施过程中,常用到但又不知如何解决提供一些方法。
2与EAS相关Oracle参数设置
修改/查看参数
sql>showparameters参数名称
修改参数
sql>altersystemset参数=值scope=spfile;"
sga_max_size内存*70%#重要说明,不建议在生产机上创建多个数据库,
否则影响系统整体性能
sga_target内存*70%
db_cache_size内存*30%
optimizer_index_caching90#使Oracle倾向于使用索引
optimizer_index_cost_adj50#使Oracle倾向于使用索引。
open_cursors2000#EAS升级用到,大于表总数量
processes150#oracle服务器进程上限,约等于并发用户数×80%
workarea_size_policyauto#用于排序等内存根据需要自动扩展。
#9i共享服务器模式下无效
_no_or_expansiontrue#解决虚模式语句解析消耗内存过大报ora-04031错误
第1页,共11页
Oracle10&EAS参数设置及维护
_b_tree_bitmap_plansfalse
recyclebinoff#关闭垃圾回收,减少碎片
pga_aggregate_target500M#大约等于参数processes*3m左右
其他参数(生产线要求还原,或者使用pfile文件启动):
java_pool_size16M#在进行Oracle数据库升级的时候,需要将此参数调大,
#请参考升级文档说明。
large_pool_size16M#专用服务器模式通常不使用large_pool,
#如果是共享服务器模式,需要增加此值为processes*3m
#左右。
pga_aggregate_target500M#大约等于参数processes*3m左右
例如8G内存
altersystemsetsga_max_size=5600Mscope=spfile;
altersystemset"_b_tree_bitmap_plans"=falsescope=spfile
altersystemsetrecyclebin=offscope=spfile
可以将下列内容存为脚本eas_
moreeas_
altersystemsetsga_max_size=5600Mscope=spfile;
altersystemsetsga_target=5600Mscope=spfile;
altersystemsetdb_cache_size=2400Mscope=spfile;
altersystemsetoptimizer_index_caching=90scope=spfile
altersystemsetoptimizer_index_cost_adj=50scope=spfile
altersystemsetopen_cursors=2000scope=spfile
altersystemsetprocesses=150scope=spfile
altersystemsetworkarea_size_policy=autoscope=spfile
altersystemset"_no_or_expansion"=falsescope=spfile
altersystemset"_b_tree_bitmap_plans"=falsescope=spfile
altersystemsetrecyclebin=offscope=spfile
然后执行脚本:sqlplussystem/kingdee@eas_即可
第2页,共11页
Oracle10&EAS参数设置及维护
3侦听管理(Listener)
3.1侦听设置
当系统环境发生变化(例如OracleIP地址发生变更时),要求按照下列方法分析解决。
HACMP群集环境请参考文档《Oracle10g管理维护——双机hacmp&Listener设置》
1、检查hosts文件
2、查看$ORACLE_HOME/network/admin/
必要时可使用vi工具修改上述文件内容
A、(默认)侦听LISTENERHOST中为:主机名
使用hostname可以查验
要求:在/etc/hosts文件中存在该主机名记录
例如Hosts文件内容为:
[root@kdeas~]#more/etc/hosts
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
omain
B、如果要求侦听IP地址。
建议:如果是生产机,则建议相关文件诸如hosts,文
件目录($ORACLE_HOME/network/admin)作备份。
在默认情形下,由于netmgrLISTENERHOST实际上以主机名为默认值。如果一定要使用IP地址,
注意:/etc/hosts文件必须存在主机名对应的IP地址)。
例如Hosts文件内容为:
[root@kdeas~]#more/etc/hosts
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
omainlocalhost
#其中为主机名
注意Hosts文件中的不同点.
关键内容如下:
[oracle@kdeasadmin]$
LISTENER=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=主机名或主机名对应的IP地址)(PORT=1521))
检查hosts配置与netmgrListenerHost相匹配,使用Ping主机名。
C、检查侦听状态
[oracle@kdeasadmin]$lsnrctlstatus
Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=主机名或主机名对应的IP地
址)(PORT=1521)))
检查是否正常
必要时(当变更LISTENERHOST后),需运行命令:
#lsnrctlreload
检查是否存在相应服务,否则在netmgr连接测试中无法成功,当然在金蝶EAS管理控制台也无法连接。
第3页,共11页
Oracle10&EAS参数设置及维护
4ORACLE归档模式和非归档模式切换
4.1将oracle由非归档模式设为归档模式
手工在主服务器创建归档目录
$mkdir-p/oradata/eas/archive
#eas的目录名称根据数据库的SID号进行指定,其实这个目录可以任意指定,建议将归档区与应
用程序区分开,或者存放在数据区不同的目录。
说明:在ARCHIVELOG模式下,可以进行热备份并恢复至最近的时间,但必须为日志提供空间。如果
将数据库模式更改为ARCHIVELOG,则应当立即进行备份。在NOARCHIVELOG模式下,只能进行冷备
份,并且在数据库损坏时可能会丢失数据。
4.1.1使用Sqlplus命令设置
#sqlplus/nolog
SQL>conn/assysdba;
SQL>startupmount;
SQL>alterdatabasearchivelog;
SQL>archivelogstart;
SQL>archiveloglist;
SQL>alterdatabaseopen;
SQL>altersystemsetLOG_ARCHIVE_DEST_1=‘LOCATION=/oracle//oradata/eas/archive’;
#/oracle//oradata/eas/archive必须和前面mkdir-p/oradata/eas/archive操作建立的路径完全一
样
SQL>altersystemsetlog_archive_format='%t_%s_%'scope=spfile;
4.1.2使用EM设置
打开Http://Oracle域名或IP地址:1158/em
以sys登录→维护→恢复设置,如下图所示:
第4页,共11页
Oracle10&EAS参数设置及维护
4.2改变归档状态为不归档状态
操作步骤如下:
SQL>conn/assysdba
SQL>startupmount
SQL>alterdatabasenoarchivelog;
Databasealtered.
SQL>altersystemsetLOG_ARCHIVE_DEST_1='';
Systemaltered.
SQL>alterdatabaseopen;
Databasealtered.
注意,从归档方式转换到非归档方式后一定要做一次数据库的全冷备份,防止意外事件的发生。
5Rman备份与管理
RMAN备份,可以使用磁带或磁盘,如果使用磁带,为了与磁带硬件接口,需要一个第三方的媒介
管理库。物理备份包括备份数据库文件,如数据文件、控制文件和重执行日志。
可执行文件执行的EXP(导出)工具是一个逻辑备份工具,它只在数据库的逻辑组成上完成备份。
逻辑备份包括在表空间级备份数据库或者备份其他逻辑数据库组成,如表。因此,EXPORT一般不被当
作独立的备份方法,而是对RMAN或者用户管理的备份提供附加的备份保护。启动RMAN,需要在操作
系统级的命令行。RMAN可以在目标数据库上创建用户,或者新建一个数据库作为目标数据库的档案库。
RMAN备份策略、备份管理是确保备份安全有效的关键。
重要说明:如果目标数据库物理对象发生了变化,如添加了一个数据文件,同步或重置RMAN,否则在
EM管理控制台备份数据库时会遇到备份失败。
5.1man备份与管理
5.1.1RMAN注册
RMAN注册——RMANUsingtheRecoveryCatalog
Rman管理实现步骤。
1.创建Rman用户并授权
$sqlplus/nolog
SQL>conn/assysdba
SQL>createtablespacedata;
SQL>createuserrmanidentifiedbykingdeedefaulttablespacedata
SQL>grantconnect,resource,recovery_catalog_ownertorman;
2.连接数据库,创建恢复目录
$rmancatalogrman/kingdee
第5页,共11页
Oracle10&EAS参数设置及维护
RMAN>createcatalogtablespacedata;
3.注册目标数据库r
$rmantarget/
RMAN>connectcatalogrman/kingdee@vip/eas
RMAN>registerdatabase;
4.RMAN备份设置(使用RMAN命令行)
$rmantargetrman/kingdee
RMAN>showall;
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
RMANconfigurationparametersare:
CONFIGURERETENTIONPOLICYTOREDUNDANCY2;
CONFIGUREBACKUPOPTIMIZATIONON;
CONFIGUREDEFAULTDEVICETYPETODISK;#default
CONFIGURECONTROLFILEAUTOBACKUPON;
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'/oradata/back/%F';
CONFIGUREDEVICETYPEDISKBACKUPTYPETOCOMPRESSEDBACKUPSETPARALLELISM1;
CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGURECHANNELDEVICETYPEDISKFORMAT'/oraInventory/back/%U';
CONFIGURESNAPSHOTCONTROLFILENAMETO'/oracle/product/10.2/db_1/dbs/snapcf_eas.f';
#default
5.维护RMAN
RMAN的维护主要分为几个方面
A.查看RMAN的信息
检查现有备份
RMAN>listbackup;
列出过期备份
RMAN>reportobsolete;
删除过期的备份
B.删除过时的备份
deletenopromptobsoletedevicetypedisk;
6.同步或重置RMAN
如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步:
RMAN>resynccatalog;
如果目标数据库reset了数据库,需要用如下命令同步
否则,在EM作业备份时,会出现“问题”字样
RMAN>resetdatabase;#注意,谨慎使用。
例如:rmantarget/
RecoveryManager:Release10.2.0.1.0-ProductiononThuFeb2111:06:262008
Copyright(c)1982,2005,htsreserved.
connectedtotargetdatabase:EAS(DBID=1544227826)
RMAN>connectcatalogrman/kingdee@vip/eas
connectedtorecoverycatalogdatabase
第6页,共11页
Oracle10&EAS参数设置及维护
RMAN>resynccatalog;
startingfullresyncofrecoverycatalog
fullresynccomplete
5.1.2RMAN备份设置
使用EM,推荐做法;
备份分区大小一般比数据区大2~3倍
操作办法,可通过EM→备份设置→磁盘备份位置→例如:/oradata/back→压缩备份
→策略:随着每个备份和数据库结构的更改自动备份控制文件和服务器参数文件(SPFILE),至少保
留每个数据文件的指定数量的完全备份;
然后可通过Rman查看配置结果:
5.2RMAN备份
数据库注册并完成备份设置后,就可以用RMAN来进行备份了,或使用Em工具调度备份,更多命
令请参考ORACLE联机手册或《ORACLE备份与恢复手册》。RMAN使用脚本来备份数据库,以下是RMAN
进行备份的几个例子。
a.备份整个数据库backupdevicetypedisktag'%TAG'database;
b.增量备份整个数据库
backupincrementallevel1cumulativedevicetypedisktag'%TAG'database;
c.备份一个表空间
backupdevicetypedisktag'%TAG'tablespace'DATA';
d.备份归档日志
backupdevicetypedisktag'%TAG'archivelogallnotbackedupdeleteallinput;
e.删除过时的备份
deletenopromptobsoletedevicetypedisk;
5.3使用EM控制台备份
操作步骤:
——备份/恢复设置
、调度备份与恢复(调用Rman脚本)
3.管理当前备份——删除所有过时失效的记录
4.作业——定期管理当前备份,实现自动定期清除过期失效备份文件。
5.4管理备份(案例)
1、删除所有过时记录
[oracle@centos4back]$rmantarget/
RecoveryManager:Release10.2.0.1.0-ProductiononSatNov2422:18:102007
Copyright(c)1982,2005,htsreserved.
connectedtotargetdatabase:EAS(DBID=1540297512)
第7页,共11页
Oracle10&EAS参数设置及维护
RMAN>DELETENOPROMPTOBSOLETE;
2、删除所有失效记录(在'删除所有失效记录'之前执行'全部交叉检验'操作)
CROSSCHECKBACKUPSET;
CROSSCHECKCOPY;
DELETENOPROMPTEXPIREDBACKUP;
DELETENOPROMPTEXPIREDCOPY;
3、可以对上述操作做一脚本文件
[oracle@centos4back]$
run{
CROSSCHECKBACKUPSET;
CROSSCHECKCOPY;
DELETENOPROMPTEXPIREDBACKUP;
DELETENOPROMPTEXPIREDCOPY;
DELETENOPROMPTOBSOLETE;
}
然后运行脚本
RMAN>@
或rmantarget/@
重要说明:为避免手工做操带来的麻烦或疏忽导致占用较大的磁盘空间,建议使用EM来管理
步骤如下:
数据库实例:>管理当前备份>删除所有失效记录:指定作业参数>调度>启动>以后>重
复>时间间隔1周
4.设置RMAN备份的保存策略
如果你的数据库非常大,并且备份执行也比较频繁,有必要对你这些备份文件的保存制订合理的策略。
该删除的删,合理释放,最大化利用有限的磁盘空间。
在通过RMAN创建的备份片段中,由于备份文件也是由rman创建和维护,所以手工删除并不明智,并
且RMAN也提供了备份保留策略,合理制订,由RMAN自动删除过旧的备份文件更加安全也更加方便。
RMAN中提供了两种备份保留策略:基于时间,和基于冗余数量
为RMAN设置了备份保留策略之后,RMAN会自动判断哪些备份集或镜像复制文件不必再保留。这些备
份文件将会被标记为“废弃(Obsolete)”,可以通过REPORTOBSOLETE命令查看当前处于废弃状态的
备份文件,或者通过DELETEOBSOLETE命令删除这些废弃的备份。例如:
RMAN>reportobsolete;
6使用数据泵(Expdp/impdp)导出导入
使用expdp/impdp将EAS方案导出到不同用户方案,这在在EAS应用过程中经常会遇到。
例如将生产机账套导入同一SID中另一用户及独立表空间中,往往会遇到困难。
本节内容,以两用户,各自表空间独立
用户1kdeas表空间kdtbs
第8页,共11页
Oracle10&EAS参数设置及维护
用户22kd表空间kingdeetbs
将用户1及对象导入至用户2
6.1导出(Expdp)实现步骤
1.创建目录对象,并对目录授权(准备工作,第二次就不需要设置了)
SQL>createdirectorydmpdiras'/backup/dmp';
目录已创建。
SQL>grantread,writeondirectorydmpdirtosystem;
授权成功。
2.创建用户及表空间(可以使用DBconsole创建)
createtablespacekdtbsdatafile'/oracle/oradata/'size100Mreuseautoextend
onnext5M;
createtablespacekingdeetbsdatafile'/oracle/oradata/'size100Mreuse
autoextendonnext5M;
3.创建临时表空间
SQL>CREATETEMPORARYTABLESPACE"KDTMP"TEMPFILE'/oracle/oradata/'SIZE100M
REUSEAUTOEXTENDONNEXT5MMAXSIZEUNLIMITEDEXTENTMANAGEMENTLOCALUNIFORMSIZE1M
CREATETEMPORARYTABLESPACEkingdeetmpTEMPFILE'/oracle/oradata/'SIZE100M
REUSEAUTOEXTENDONNEXT5MMAXSIZEUNLIMITEDEXTENTMANAGEMENTLOCALUNIFORMSIZE1M;
4.建用户kdeas2kd(用户2可以不用创建)
SQL>createuserkdeasidentifiedby"kingdee"defaulttablespacekdtbsTEMPORARYTABLESPACE
KDTMP;
SQL>createuser2kdidentifiedby"kingdee"defaulttablespacekingdeetbsTEMPORARY
TABLESPACEkingdeeTMP;
5.对第一个用户授权(一般按金蝶EAS授权,这里简化起见)
SQL>grantdbatokdeas
SQL>grantdbato2kd
6.创建表
SQL>CREATETABLE"KDEAS"."KDTEST"("NAMEKD"VARCHAR2(23),"ADDRESS"VARCHAR2(40));
导出kdeas
expdpsystem/kingdeeschemas=kdeasdumpfile=ectory=dmpdir
此时在DMP目录下就存在文件
6.2导入(Impdp)数据库,并实现表空间重新影射
#impdpsystem/kingdeedumpfile=ectory=dmpdirREMAP_SCHEMA=kdeas:kd
REMAP_TABLESPACE=kdtbs:kingdeetbs
Import:Release10.2.0.1.0-Productionon星期日,0411月,200712:20:06
Copyright(c)2003,2005,htsreserved.
连接到:OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
第9页,共11页
Oracle10&EAS参数设置及维护
WiththePartitioning,OLAPandDataMiningoptions
已成功加载/卸载了主表"SYSTEM"."SYS_IMPORT_FULL_01"
启动"SYSTEM"."SYS_IMPORT_FULL_01":system/********dumpfile=ectory=dmpdir
REMAP_SCHEMA=kdeas:kdREMAP_TABLESPACE=kd
tbs:kingdeetbs
处理对象类型SCHEMA_EXPORT/USER
处理对象类型SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型SCHEMA_EXPORT/ROLE_GRANT
处理对象类型SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型SCHEMA_EXPORT/TABLE/TABLE
处理对象类型SCHEMA_EXPORT/TABLE/TABLE_DATA
..导入了"KD"."KDTEST"0KB0行
作业"SYSTEM"."SYS_IMPORT_FULL_01"已于12:20:14成功完成
此时KD账户对应的表空间为Kingdeetbs、权限也同样为DBA
如果要指定到其他临时表空间,可以修改KD用户属性重新指定。
上述参数及解释,可使用impdp–help得到详细说明。
查看新用户2kd及表验证:使用EM查看“方案”→“数据库对象”→“表”→“方案”→输入2kd
此时就可看到导入的kdtest表
7Exp/imp数据导出/导入
7.1导出通用格式
expsystem/kingdee@192.168.14.35/easowner=kdeasfile=/oradada/=
‘/oradata/’
其中“192.168.14.35”为Oracle数据库IP地址,eas为OracleSID。
7.2导入通用格式
impsystem/kingdee@192.168.14.35/easfromuser=kdeastouser=kdeas
file=‘/oradada/’log=‘/oradata/
参考步骤:
创建表空间:EAS_D_KDEAS_STANDARD
createtablespaceEAS_D_KDEAS_STANDARDdatafile'/oracle/oradata/
EAS_D_KDEAS_'size100Mreuseautoextendonnext5M;
创建临时表空间
SQL>CREATETEMPORARYTABLESPACEEAS_T_KDEAS_STANDARDTEMPFILE'/oracle/oradata/
EAS_T_KDEAS_'SIZE100MREUSEAUTOEXTENDONNEXT5MMAXSIZEUNLIMITEDEXTENT
MANAGEMENTLOCALUNIFORMSIZE1M
创建用户kdeas
createuserkdeasidentifiedby"kingdee"defaulttablespace"EAS_D_KDEAS_STANDARD"
temporarytablespace"EAS_T_KDEAS_STANDARD";
第10页,共11页
Oracle10&EAS参数设置及维护
授权
SQL>conn/assysdba
SQL>grantCREATEPROCEDURE,CREATESEQUENCE,CREATETABLE,CREATETRIGGER,CREATEVIEW,SELECT
ANYDICTIONARY,UNLIMITEDTABLESPACEtokdeas;
导入数据
impsystem/kingdee@192.168.14.35/easfromuser=kdeastouser=kdeasfile=d:
log=d:
第11页,共11页
更多推荐
tcp optimizer
发布评论