oracle安装配置使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle安装配置使用
本文档重点在于说明oracle的具体的安装使用配置,对于oracle的概念将不再作具体的说明。

请查看相关资料。

目录
1 安装 (4)
1.1 系统分区 (4)
1.2 系统参数调整 (5)
1.2.1 solaris系统 (5)
1.2.2 linux系统 (5)
1.3 环境变量设置 (6)
1.4 安装过程 (7)
1.4.1 远程安装,设置x window环境 (7)
1.4.2 安装 (12)
1.4.3 安装失败重新安装 (26)
1.4.4 脚本安装建库 (26)
1.4.5 安装后的工作 (27)
1.4.6 注意点 (33)
1.5 附录 (33)
1.5.1 preinstall.sh (33)
1.5.2 postinstall.sh (36)
1.5.3 手工建库脚本 (38)
2 参数调整 (39)
2.1 常规参数调整 (39)
2.2 表空间各参数调整 (41)
2.3 性能调整辅助工具 (44)
2.4 项目规划原则 (45)
3 备份 (46)
3.1 exp备份 (46)
3.2 rman备份操作 (47)
3.2.1 创建rman恢复目录 (47)
3.2.2 检查rman备份是否正确 (49)
3.2.3 rman日常维护 (49)
3.3 附录:rman备份脚本 (51)
4 附录 (54)
1安装
1.1 系统分区
分区请按照实际情况调整,如果在安装操作系统的时候就预先得知要安装oracle数据库,在分区的时候需要先考虑oracle的部署。

主要考虑系统的备份维护和磁盘IO的均衡(通常安装oracle的磁盘都已经做过raid处理了,也就不存在部署在不同的磁盘上了,在这种情况下,建议部署在不同的磁盘分区上)。

Oracle需要的空间可以分为oracle 程序和oracle 数据文件两部分。

Oracle程序的目录中,除了oracle日常的一些log和message以外,其它基本上都是“读”的操作。

因此不需要经常备份,同时对I/O的要求也比较低,磁盘空间也是可以控制的。

通常,不完全安装的oracle 程序一般需要3g左右的空间。

Oracle数据文件部分,包含了oracle产生的数据日志,oracle的数据字典,还有最最重要的数据文件,数据库读写频繁,对I/O的要求比较高,另外,数据库也需要定期备份,磁盘空间都是随着系统的使用,日益增长的。

因此我们在系统分区的时候,需要考虑将oracle的一些I/O竞争严重的部分都分开部署,尽可能的提高I/O。

另外也要考虑数据库数据的增长,为数据文件预留一定的磁盘空间。

Oracle数据文件有几下几个对象考虑尽可能的分开部署:
✧索引――表和索引通常是同时操作的,将索引部署在不同的表空间上。

✧系统表――系统表中存放了oracle数据库的所有信息。

主要是在system表空间中。

将系统表空间
部署在独立的磁盘驱动器上
✧临时表――建立单独的临时表空间,部署在单独的磁盘驱动器上
✧回滚段――部署在单独的磁盘驱动器上
✧重做日志――将归档日志部署在单独的磁盘驱动器上
✧应用表空间――为每一个应用单独建立独立的表空间,部署在单独的磁盘驱动器上
分区部署:(如果可以划分多个磁盘分区,多划几个磁盘分区,部署不同的表空间)
1.2 系统参数调整
安装oracle 之前,需要调整系统的一些参数,参数随操作系统不同有一些变化。

调整之后,solaris 环境需要重启主机才能生效。

Linux 环境,可以用sysctl –p 使之生效,而不需要重启主机。

另外Linux 下需要安装一些patch 。

也可以使用preinstall.sh 来操作,见附录。

1.2.1 solaris 系统
/etc/system 在最后增加一段:
1.2.2 linux 系统
1
2.修改 /etc/security/limits.conf 文件
3.检查Linux Patch
请查看Linux AS3是否已安装了以下RPM包,若没有安装请安装:
以上RPM包存在于Linux AS3安装光盘2和3中。

安装请采用rpm –Uvh 方式升级安装。

4.建立GCC映射
1.3 环境变量设置
说明:安装oracle之前需要先增加 ORACLE的用户及组
1.增加orale的用户和组
2.改变oracle用户目录的属主信息。

退出重新登陆,使环境变量生效
1.4 安装过程
为保证所有设置在重启之后都正常,安装前请重启主机,然后检查。

在设好了环境变量之后,在各操作系统上,安装过程基本上都是一样的。

Oracle 可以使用图形界面进行安装建库,或者使用脚本进行安装建库。

通常,简单起见,我们都使用图形界面进行安装建库。

在linux 或者solaris 环境下,远程安装的时候,就需要远程虚拟x-window 安装oracle 。

1.4.1 远程安装,设置x window 环境
客户端需要安装x-win32等虚拟窗口客户端软件。

然后按照以下步骤进行配置: Linux as3环境:
#cd /home1/oracle #cp .profile .bash_profile
#su – oracle
$vi /home1/oracle/.bash_profile ――增加一段 ORACLE_BASE=/oracle export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/9.2.0.4 export ORACLE_HOME
NLS_LANG="SIMPLIFIED CHINESE_CHINA. ZHS16CGB231280" export NLS_LANG
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export ORA_NLS33 ORACLE_SID=vodapp export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/product/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/jre export CLASSPATH
PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/ccs/bin:/usr/local/bin export PATH
[Linux主机配置]
✧使用root用户登录到linux上,进入xdm目录,例如:# cd /etc/X11/xdm,以下三个文件均在此目
录下修改完成。

✧修改 xdm-config,把下面这行注释掉:
“DisplayManager.requestPort: 0” --> “!DisplayManager.requestPort: 0”
✧修改Xaccess,容许所有客户机连接x-windows server,或者仅添加对应的客户机地址如 192.168.2.*
“#*# any host can get a login window” --> “* # any host can get a login window”
✧修改 Xservers
“:0 local /usr/X11R6/bin/X” --> “#:0 local /usr/X11R6/bin/X”
✧在shell下启动xdm,如
# xdm (可以用“xdm -debug 1”来查看xdm是否工作正常)
[Windows客户机配置]
✧返回到客户机上安装x-win32 5.x版本,在windows中安装完成后,会在“程序组”中生成“X-Win32
5.4”, 其中有两个可执行程序:X-config和X-Win32;
✧首先使用X-config来建立连接配置:在“session”处选择“add”,再选择“XDMCP”连接方法,点
“Next->”,在“Session name”处输入一个名字,在“XDMCP Mode”处选择“Query”,在Host name 中输入linux主机的地址,最后点击“Save”保存该session。

如下图所示:
✧为了更好的使用x-win32可以修改其Windows属性,同样运行x-config,然后选择刚才建立的session,
点击“Window“,然后在Window Mode中选择”Single“,同时设定”Single Settings“的尺寸”
800x600“,如下图所示:
✧待上述配置完成后,请运行x-win32程序,此刻会出现一个灰色的界面,在窗口上右键点击鼠标,选
择“session“->你刚才建立的session名称,然后会出现登录窗口,此刻输入oracle用户名及密码进正常登录。

[使用Oracle身份启动runinstaller]
✧首先root身份ssh到oracle主机上,执行export DISPLAY=”client_ip:0.0”其中client_ip 是
你的客户机IP地址,可以在x-config界面中的“input”中查看是哪个IP地址
✧然后执行xhost +
✧最后使用oracle身份x-win32登录到x-windows中,执行
/oracle/product/9.2.0.4/bin/runinstaller命令(如之前已登录请忽略此步骤)
✧随后的安装和本地安装一致。

solaris环境:
可以通过SSH的X11 Forwarding 来透过防火墙来使用X Window
[solaris主机配置]
✧必须安装了OpenSSH系统,owtools中已经安装,配置文件为/usr/local/ssh/etc/sshd_config
✧在配置文件中增加或者修改如下的选项:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
XAuthLocation /usr/openwin/bin/xauth
✧重启sshd的进程。

✧在服务器端,确认ssh配置正常
$ xauth list,显示如下的信息:
app2/unix:0 MIT-MAGIC-COOKIE-1 77746c6a437375354d37572f6c746f33 app2/unix:10 MIT-MAGIC-COOKIE-1 463cd90f12e3ed1318b74a157cacf2eb
$ env,应该显示下面的这些环境变量:
SSH_CLIENT=192.168.1.207 1677 22
DISPLAY=localhost:10.0
SSH_AUTH_SOCK=/tmp/ssh-uXUUQ551/agent.551
✧启动X的应用程序,如:
$ /usr/dt/bin/dtterm &
[Windows客户端配置]
✧使用SecureCRT作为ssh的客户端工具。

设置SecureCRT的Session,设置session属性为ssh2,如下:
注意设置X11的Forwarding,如下:
✧点击连接,输入口令(或者用public key登录)登录到要管理的主机;
✧启动本机PC上的X终端程序,比如X-Win32,并配置xhost加入127.0.0.1,如下图:
注意:一般情况下,用这种方式进行X window的显示时,只能在ssh登录的用户环境下执行。

1.4.2 安装
Oracle9i共有三张光盘,可以直接copy到磁盘上,然后安装,或者直接从光盘安装。

注:
✧Copy到磁盘上的安装,oracle会自己“换”光盘,而从光盘安装,中间需要手工换光盘。

✧图形界面安装的时候(无论是直接在终端上安装,还是通过xwindow安装),不要用其它用户登陆,
然后su – oracle,而是直接以oracle用户登陆后开始安装。

✧linux as3下需要先安装oracle的补丁:unzip p3006854_9204_LINUX.zip
使用root身份登录:
unzip p3006854_9204_LINUX.zip
cd p3006854
./rhel3_pre_insta..sh
oracle用户登陆,然后进入oracle安装盘目录,执行./runInstaller启动图形安装界面进行安装
点击 next
环境变量中都已经设置好了,在这里就直接读取环境变量的值,就不用再设置了。

选择第一个选项,点击 Product Languages…
添加 simplified chinese 点击OK,回到刚才界面,点击next
选择 enterprise edition 点击 next
选择 general purpose,点击 next。

(如果需要配置成ha模式,可以选择只安装software ,以后再通过dbca进行建库)
如果是第一次运行或者重新创建数据库实例,则选择Create a database,然后点击next
选择New Database,点击next
输入global database name和SID(方便起见,保持一致),例如cnoss,点击next
我们的数据库没有特殊应用的地方,可以取消所有的features,点击next。

standard database features ……点进去,取消所有的标准features(尤其注意,9i自己带一个apache,默认端口是80,在standard database features中可以更改监听端口,或者取消安装)
选择dedicated server mode,点击next
在这个页面中可以设置一些初始参数
以2G内存为例,如果只运行oracle:
memeory:
shared pool: 200-300M(不要超过500M)
buffer cache:600M(尽可能多的内存分配给data buffer)
java pool:0M(不使用java,直接设为0)
large pool:8M(配置了rman备份的,可以设置,作为备份的缓冲池)PGA:400M(随processor变化而变化,9i中,pga由oracle统一管理)
在此选择字符集为 ZHS16GBK
定义block size:block是oracle存放数据的最小单位,block需要设为操作系统block的整数倍,通常设为8k,
sort area size:排序区,4M
选择创建spfile,指定udump,bdump,cdump的路径,选择默认就可以
选择 archive log mode,表示数据库起在归档模式下选择 automatic archival,表示自动归档
设置完成之后,点击next
在controlfile中,修改controlfile的路径,使之分布于不同的磁盘分区上
修改各表空间的存放路径,创建应用自己使用的表空间(应用表空间也可以在数据库建库完成后操作),按照前面1.1系统分区时的规划,将各表空间部署于不同的磁盘分区上。

数据文件的大小可以在建库完成之后修改。

如果预计表空间的使用量比较大的话,可以先多添加一些数据文件(也可以在这里直接使用默认的情况,建库完成之后再做修改)
修改Redo文件的存放位置为实际oradata位置,调整redolog的初始大小,设为10M,同时在每组redolog 中添加第二个文件,存放于不同的磁盘分区上(一个redolog组中的成员日志文件是互相备份的关系),最后点击next
选择create database,选择Generate Database Creation Scripts(作为脚本建库的script),点击Finish
弹出一个页面Summary页面,可以查看所有的参数情况,确定无误后点击OK。

显示脚本生成成功。

并开始建库,显示进度条。

期间会让你使用root用户打开一个shell,然后执行一些命令。

最后经过约30分钟会完成安装。

若安装过程出错,可能就需要打其他补丁了。

1.4.3 安装失败重新安装
✧如果建库失败,可以用dbca命令(8i中是dbassistant命令)重新建库。

过程同默认建库。

✧如果需要把整个安装内容删除,重新删除,用oracle用户执行安装命令runinstaller
选择“deinsall products”进行卸载,然后重新安装
✧或者直接删除以下内容,重新安装建库:
删除oracle程序安装目录:rm –rf /oracle/
删除/etc/opt/oratab
删除/tmp/ora*
1.4.4 脚本安装建库
如果没有条件启动图形界面来安装建库,可以采用脚本的方式进行安装并建库。

1.设置系统参数:同图形界面安装
2.设置环境变量:同图形界面安装
3.oracle程序:需要从相同的环境中copy一个,解开。

注:copy的程序软件安装目录必须和原环境的目录结构保持一致。

比如原来是安装在/oracle下的,copy过来之后还是只能安装在/oracle下
4.脚本建库:获取建库脚本,可以采用图形界面建库时生成的script。

修改init$sid.ora文件中
的controlfile的路径,archivelog模式设为true等。

然后执行脚本,脚本见附录。

1.4.5 安装后的工作
通常我们会在安装的同时,会默认建库。

在数据库安装、建库完毕之后,我们还需要进行一些配置。

1.4.5.1配置系统启动时数据库自动启动(没有其它软件管理的情况下),也可以执行postinstall.sh,
见附录。

solaris环境:
修改/var/opt/oracle/oratab文件
格式:$SID:$ORA_HOME:Y
创建init.d的启动文件:/etc/init.d/dbora
ORA_HOME=/oracle/product/9.2.0.4
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" &
;;
'stop')
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" &
;;
esac
设定开机启动
linux as3环境:
修改/etc/oratab文件:
格式:$SID:$ORA_HOME:Y
创建init.d的启动文件:/etc/rc.d/init.d/dbora(同solaris环境)设定开机启动:
1.4.5.2listener配置和测试
修改$ORACLE_HOME/product/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器主机地址)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/9.2.0.4)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = 请正确输入dbca中输入的全局数据库名称)
(ORACLE_HOME = /oracle/product/9.2.0.4)
(SID_NAME = 实例名称)
)
)
说明:
LISTENER ――Listerer的名字,默认为LISTENER,如果一个主机上有多个listener,他们的名字必须不同
(HOST = 服务器主机地址)(PORT = 1521) ――Host可以写ip第址,也可以写hostname
1521是oracle 的默认监听端口
(GLOBAL_DBNAME = ) ――建库的时候设定的,通常和sid一致
(SID_NAME = 实例名称) ――sid
测试listener是否配置正确,启动正常
[oracle@ora2 admin]$ lsnrctl status
LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 08-JUN-2005 21:25:10
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.40.205)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production Start Date 24-MAY-2005 09:21:52
Uptime 15 days 12 hr. 3 min. 18 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /oracle/product/9.2.0.4/network/admin/listener.ora Listener Log File /oracle/product/9.2.0.4/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.40.205)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "standby" has 1 instance(s).
Instance "standby", status UNKNOWN, has 1 handler(s) for this service...
Service "" has 1 instance(s).
Instance "standby", status READY, has 1 handler(s) for this service...
The command completed successfully
1.4.5.3tns的配置和测试
修改$ORACLE_HOME/product/network/admin/tnsname.ora
测试tnsname是否配置正确
测试本机到oracle server是否正常
[oracle@ora2 admin]$ tnsping primary
TNS Ping Utility for Linux: Version 9.2.0.4.0 - Production on 08-JUN-2005 21:39:06
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
/oracle/product/9.2.0.4/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.40.202)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = primary)))
OK (0 msec)
测试tnsname是否配置正确
[oracle@ora2 admin]$ sqlplus system/sysuser@primary
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Jun 8 21:37:02 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
1.4.5.4sqlnet.ora配置
修改$ORACLE_HOME/product/network/admin/Sqlnet.ora
1.4.5.5pfile和spfile
在Oracle9i中,一个新的文件被引入spfile,spfile用于服务器端,管理初始化参数。

在9i以前,Oracle 使用pfile存储初始化参数设置,这些参数在实例启动时被读取,任何修改需要重起实例才能生效,使用spfile 你可以使用ALTER SYSTEM或者ALTER SESSION来动态修改那些可动态修改的参数,所有更改可以立即生效,你可以选择使更改只应用于当前实例还是同时应用到spfile。

这就使得所有对spfile的修改都可以在命令行完成,我们可以彻底告别手工修改初始化参数文件,这就大大减少了人为错误的发生。

SPFILE是一个二进制文件,不能通过手工进行编辑,可以使用RMAN进行备份,这样实际上Oracle 把参数文件也纳入了备份恢复管理。

ORACLE强烈推荐使用spfile,应用其新特性来存储和维护初始化参数设置
Oracle不带参数启动时,会首先寻找spfile,然后寻找pfile。

(pfile就是指init$sid.ora ,spfile指
spfile$sid.ora)。

pfile可以手工进行编辑,oracle重启之后生效。

可以编辑pfile之后生成spfile。

在pfile和spfile都存在的系统中,pfile和spfile要注意保持一致。

前面建库的时候,选择了同时生成spfile,spfile应该是已经存在的。

如果没有生成,则通过pfile生成spfile。

也可以通过spfile生成pfile
1.4.6 注意点
1.oracle图形界面有时候中文会出现[] [] [],控制台报字体找不到之类的错。

这是由于oracle 9i 里边的jre和jdk携带的font.properties是rh6里边的,版本太老了,与新的字体命名方式不太一致导致的。

简单的解决方法:设置oracle用户环境变量LANG=en。

Linux下不知道为什么,有时候需要设置在.bashrc中才能生效。

2.注:在一些dell 主机上安装oracle的时候有这样的报错:
Initializing Java Virtual machine from /tmp/OraInstall2005-04-26_01-47-30PM/jre/bin/java.
Please wait... ***************** Another exception has been detected while we were handling last error. Dumping information about last error: ERROR REPORT FILE = (N/A) PC = 0X0XB74D2D44 SIGNAL =11 FUNCTION NAME = (N/A) LIBRARY NAME = (N/A) Please check ERROR REPORT FILE for further information, if there is any.Good by
执行java命令会报错:
java -version libgcj-java-placeholder.sh This script is a placeholder for the /usr/bin/java and /usr/bin/javac master links required by conventions. libgcj's rmiregistry, rmic and jar tools are now slave symlinks to these masters, and are managed by the alternatives(8) system.
这是由于bios版本不支持java所导致的。

解决的办法:降低bios或者修改/etc/grub.conf :
title Red Hat Enterprise Linux AS (2.4.21-20.ELsmp)
root (hd0,6)
kernel /vmlinuz-2.4.21-20.ELsmp ro root=LABEL=/1 noexec=off――红色的字体是增加的
initrd /initrd-2.4.21-20.ELsmp.img
然后重启主机即可。

1.5 附录
1.5.1 preinstall.sh
1.5.2 postinstall.sh
另外打包提供。

2参数调整
2.1 常规参数调整
下面是一个初始参数文件:
*.background_dump_dest='/oracle/admin/primary/bdump'
*.core_dump_dest='/oracle/admin/primary/cdump'
*.user_dump_dest='/oracle/admin/primary/udump'
――分别为oracle的后台进程的dump,user dump,core dump日志的路径
*.compatible='9.2.0.0.0'
*.control_files='/oracle/oradata/primary/control01.ctl','/oracle/oradata/primary/control02.ctl','――控制文件。

通常设置三个控制文件,分布于不同的磁盘分区之上。

这三个文件是一致的。

如果有一个损坏,
*.db_block_size=8192
――数据库的block的大小,为操作系统block的整数倍,通常设为8k ,建库之后不允许更改
*.db_cache_size= 734003200
――oracle的data buffer缓冲区的大小,视系统内存而定。

尽可能多的将内存资源分配给db_cache_size,可
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='primary'
*.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='primary'
*.java_pool_size=0
――oracle使用java应用时需要的内存,我们的系统没有使用java,设为0
*.large_pool_size=81920
――当oracle起在专用模式下时,rman备份的时候会使用到,设为8M
*.log_archive_dest_1='LOCATION=/oradata/primary/archive'
――归档日志的路径,可以设多个。

多个之间自动保持一致
*.log_archive_format='%t_%s.dbf'
――归档日志格式
*.log_archive_start=true
――oracle是否启动自动归档模式
*.open_cursors=300
*.session_cached_cursors=100
――游标数,默认为300
*.cursor_sharing='FORCE'
――强制不完全匹配share_pool中的sql语句,进行解析。

在sql不规范的时候,可以提高sql的重用率
*.pga_aggregate_target=251658240
――oracle能使用的总的pga的内存
*.processes=200
――最大的processor数,默认是150,扩到200-300
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=262144000
――共享池,200-300M左右
*.sort_area_size=524288
――排序区,9i中,整个pga区由oracle统一管理,这个参数就不是很重要
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
――使用9i的自动管理undo tablespace
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
――undotablespace的表空间名,可以修改
――以下两点为高级复制所需要
*.db_domain =
*.global_names = true
重要参数参考值
注:以上参数,如果需要手工编辑,可以编译pfile,然后生成spfile。

但是需要重新启动才能生效。

以上参数在条件允许的情况下是可以直接在spfile的模式下动态调整的。

2.2 表空间各参数调整
如果在建库的时候,已经调整过各表空间的大小以及存储参数,那就不用再调整了。

通过客户端的图形界面调整:
双击某一个需要修改的表空间:
在弹出的窗口中,可以直接修改“大小”,也可以再增加一个数据文件(点击显示sql的按钮,可以把当前操作对应的sql显示出来,在图形界面无法使用的情况下,可以直接通过sql进行修改):
设置数据文件可扩展性
双击数据文件,修改文件的当前的大小值,通常对于数据量比较表空间的数据文件,大小可以设为1024M,允许扩展,最大到2048M(>2G的文件,在操作系统一级管理不是非常方便,因此建议不要把数据
文件设置的过大)。

对于预计比较大的表空间,可以多加几个数据文件,每个文件初始值可以设置的大一些。

数据文件自动扩展,会影响性能。

日常管理中,要经常注意数据文件的使用情况。

为我们自己的应用单独创建一个表空间,点击表空间右键,在弹出框中填入表空间名,数据文件名,初始大小,增量值,最大值(回滚表空间的时候,类型中需要选择“还原”,创建临时表空间,类型选择“临时”,其它一律选择“永久”)
2.3 性能调整辅助工具
oracle本身提供了一些图形界面的工具,在数据库的使用过程中进行观察分析,再根据实际情况,进行调整。

也可以通过statspack产生诊断报告,进行分析调整。

注:所有的数据收集,数据分析,都是要额外消耗服务器的资源,影响系统性能的。

因此在系统上线初期,可以定时收集数据,进行分析调节。

一旦系统稳定之后,不需要再频繁的收集分析数据,而是在必要时进行操作。

图形工具:enterprise management packs ――> tuning ――> expert
enterprise management packs ――> diagnostics ――> performance manager
stactspack的使用:
1)创建statspack:
sqlplus '/ as sysdba'
SQL>@$ORACLE_HOME/rdbms/admin/spcreate.sql;
――这个过程是在创建statspack的用户,使用的表空间(提示要求输入的,通常创建用户perfstat 和单独的表空间perfstat)
2)SQL>connect perfstat/perfstat
3)SQL>execute statspack.snap; ――创建快照1
4)SQL>execute statspack.snap; ――创建快照2
5)SQL>@$ORACLE_HOME/rdbms/admin/spreport.sql;
填入begin和end snap,针对这两个snap之间的数据进行比较分析
6)@$ORACLE_HOME/rdbms/admin/spauto.sql --设置自动执行(默认是每小时收集一次数据)2.4 项目规划原则
目前我们项目中使用到的关系到数据库的应用就是vod/epg和cnboss。

cnboss的数据库只是记录了设备和应用的信息,在性能上没有特殊的要求,数据量上也非常的小。

但是vod/epg 对性能的要求比较高一些,另外也需要支持比较大的并发访问请求。

在一些参数的调节上,需要注意。

原则:
1,为应用单独创建用户和数据表空间
2,为应用创建单独的索引表空间
3,将数据库置于归档模式
4,创建不少于3组(每组至少2个)的redolog,大小基本控制在archivelog每30-60分钟生成一个文件,每组redolog的成员文件分布在不同的磁盘分区上
5,将尽可能多的内存分配给databuffer(初始参数为db_cache_size)
6,为数据量大的表空间增加更多的数据文件,设置数据文件可扩展,但是需要限制最大值,一般为2g。

7,archivelog要定期备份删除,当archivelog写满分区的时候,会导致oracle 挂起。

无法使用。

3备份
备份是现场应用必不可少的。

通常我们的系统是7*24的应用,因此无法将数据库停掉后进行冷备份
操作。

需要做一些逻辑备份。

具体备份的形式可以根据实际情况来具体定制备份策略。

通常我们需要保证
有每日数据的逻辑备份,月数据的全备份,相应归档日志的备份。

每日基于用户的逻辑备份脚本如下:在cron中添加:
10 2 * * * su – oracle –c “/oracle/product/9.2.0.4/bin/expdb.sh”
3.1 exp备份
#!/bin/sh
ORACLE_HOME=/oracle/product/9.2.0.4
ORACLE_SID=cnboss
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=/oracle/product/9.2.0.4/lib:/oracle/product/9.2.0.4/network/lib
CLASSPATH=/oracle/product/9.2.0.4/product/jlib:/oracle/product/9.2.0.4/jlib:/oracle/product/9 4/jre
ORA_NLS33=/oracle/product/9.2.0.4/ocommon/nls/admin/data
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH ORA_NLS33 NLS_LANG
FILE_DATE=`date '+%m%d'`
DUMP_DIR=/backup/dmpbackup/vodapp/
SAVED_DAY=7
DUMP_FILE=$DUMP_DIR/vodapp.$FILE_DATE.dmp
if [ ! -d $DUMP_DIR ]
then
mkdir -p $DUMP_DIR
fi
exp system/manager@ cnboss owner=vodapp file=$DUMP_FILE compress=y buffer = 8192000
compress -f $DUMP_FILE
fcount=`ls $DUMP_DIR/vodapp*.dmp* | wc -l`
while [ $fcount -gt $SAVED_DAY ]
3.2 rman备份操作
rman是oracle自带的,不需要额外安装插件,备份也比较简单,不需要开销太多的系统资源,易于维护。

在条件允许的情况下,另外找一台机器,安装oracle,使用catalog模式的rman备份对数据库进行定期备份。

在目前我们的系统使用数据库的情况,对数据库并没有特别频繁的更新(主要更新是内容的更新和用户详单的更新),而且数据库的量也不是很大,对数据库定期做全备份和archivelog备份。

这两个备份可以各自单独进行备份。

但是需要保留一次全备份之后的所有archivelog的。

从目前数据库的容量来看,我们可以同时进行全备份和archivelog的备份,方便维护操作。

3.2.1 创建rman恢复目录
target database:primary
catalog database:standby
1.将target数据库起在archivelog模式下:
2.建立目录数据库catalog,并且创建恢复目录表空间rcvcat。

(catalog数据库只需要很少的空间)
3.
4.
5.
6.注册目标数据库到恢复目录并同步(在第5步以后继续操作第6步)
这样就可以利用该RMAN数据库来备份目标数据库了
3.2.2 检查rman备份是否正确
3.2.3 rman日常维护
rman在配置完成之后,需要维护人员进行日常维护。

虽然rman备份可以写成脚本,自动定期备份,删除已过期的备份。

但是对空间的使用,备份的维护,还是需要相关的维护人员来做定期的维护。

1)查看rman的所有的configure参数:
2)查看备份集:
RMAN>list backup;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
3142 Full 521M DISK 00:01:44 26-MAY-05
BP Key: 3145 Status: AVAILABLE Tag: TAG20050526T130904
Piece Name: /rmanbak/catafile/full/fulldb1_PRIMARY.251
List of Datafiles in backup set 3142
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
3 Full 445505 26-MAY-05 /oradata/primary/indx01.dbf
5 Full 445505 26-MAY-05 /oradata/primary/users01.dbf
6 Full 445505 26-MAY-05 /oradata/primary/vodapp.dbf
说明:bs key是备份集的id,本例中是3142,该备份集只有一个备份片bp key=3145 ,备份集的输出文件是/rmanbak/catafile/full/fulldb1_PRIMARY.251,该备份集备份的数据文件是/oradata/primary/indx01.dbf,/oradata/primary/users01.dbf,
/oradata/primary/vodapp.dbf
3)设置备份集的有效时间
4)查看、删除过期的备份集:。

相关文档
最新文档