***oracle在各个sco平台上的安装
因为我昨天着急用 ,所以在坛子里搜索出来的 ,索性整理在一起发个转贴 ,省得大家再
一篇篇找了。
SCO OPENSERVER 507 INSTALL ORACLE 7。3。4
1. 调SCO系统参数
调整系统核心参数
# /etc/conf/bin/idtune NBUF 20000
# /etc/conf/bin/idtune NHBUF 262144
# /etc/conf/bin/idtune NMPBUF 500
# /etc/conf/bin/idtune MAXUP 300
# /etc/conf/bin/idtune SEMMNI 70
# /etc/conf/bin/idtune SHMMAX 共享内存看实际情况来调整
修改完毕
# /etc/conf/cf.d/link_unix
从新启动系统
# sync
# reboot
2.创建oracle用户和dba组
指明Oracle用户的根目录(例如:/u/oracle)
指明用户属于dba组
3.编辑oracle用户的.profile
以oracle用户登陆编辑profile文件,增加以下内容:
ORACLE_BASE=/u/oracle
ORACLE_HOME=/u/oracle/product/734
ORACLE_SID=oracle
ORACLE_TERM=ansi
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
ORACLE_NLS32=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/opt/bin:/usr/lbin:.
ULIMIT=2297152
TERM=ansi
TMPDIR=/u/tmp
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/opt/bin:/usr/lbin:.
export ORACLE_BASE ORACLE_HOME ORACLE_SID
export ORACLE_TERM LD_LIBRARY_PATH
export ORACLE_NLS32 ORACLE_PATH ULIMIT TERM TMPDIR PATH
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
export NLS_LANG
退出oracle用户登陆。
4.安装前准备
#mkdir /u/tmp
#chmod 777 /u/tmp
编辑/etc/services文件修改:
#vi /etc/services
#ncube-lm 1521/tcp #nCube License Manager 将这一行注释掉
listener 1521/tcp 添加一行
ncube-lm 1521/udp #nCube License Manager
5.开始安装
插入Oracle 7.3.4 Enterprise Edition光盘,开始安装
用root用户登陆装载光盘:
#mount –f RCKRDG,lower /dev/cd0 /mnt
#exit
退出root用户,以oracle用户登陆:
$cd /mnt/orainst
$./orainst
a. 当提示 Select the installation method,
either Default Install or Custom Install, and whether
you want to view the Readme files:
选择:
[ ] Default Install
[ * ] Custom Install
[ ] Display readme Files for this Release
b. 提示Select the Installer activity:
选择默认:
(o) Install, Upgrade, or De-Install Software
( ) Create/Upgrade Database Objects
( ) Perform Administrative Tasks
c. 提示Select the Installer option:
Note: there are two different Install New Product options.
选择:
Install New Product - Create DB Objects
Install New Product - Do Not Create DB Objects[/color]
Add/Upgrade Software
Build Oracle7 Staging Area
Install Documentation Only
De-Install Software
d. 提示Confirm, change, or enter values for the environment variables listed:
选择:
ORACLE_BASE: /u/oracle
ORACLE_HOME: /u/oracle/product/734
e. 提示Confirm (or Change) Log File Location:
If current versions of these log files exist in these locations, they will be archived and reinitialized.
Select Help for more details.
选择:
Installer Log: /u/oracle/product/734/orainst/install.l
SQL Log: /u/oracle/product/734/orainst/sql.log
Makefile Log: /u/oracle/product/734/orainst/make.log
OS Log: /u/oracle/product/734/orainst/os.log
f. 提示 Your platform requires the root user to perform certain pre-
installation OS preparation. The root user should run the shell
script 'rootpre.sh' before you proceed with Oracle installation.
rootpre.sh can be found in the newoi/ directory (if installing
from tape) or the orainst/ directory (if installing from CDROM).
Select (Yes) if root has run 'rootpre.sh' so you can proceed with
Oracle installation. Select (No) to abort installation and then
ask root to run 'rootpre.sh'.
切换新的一屏,oracle用户登陆
$su
#cd /mnt/orainst
# ./rootpre.sh
Do you want to install Oracle Icons for SCO ODT System? (Y/N) n
Exit Oracle Icon Installation
Continue with rootpre.sh ? (Y/N) y
Please enter the name of oracle user: oracle
Please enter the group the oracle user belongs to: dba
The following files will be created:
Filename Owner Group Mode
/usr/lbin/oraenv oracle dba 644
/usr/lbin/coraenv oracle dba 644
/usr/lbin/dbhome oracle dba 755
/etc/oratab oracle dba 644
/etc/sqlnet oracle dba 644
/etc/tnsnames.ora oracle dba 644
/etc/listener.ora oracle dba 644
Continue with the above settings? (Y/N) y
Are you installing Oracle through a floppy device? (Y/N) n
Please continue installation with Oracle*Installer as oracle user.
g. 提示Select one of the following:
选择cdrom安装:
(o) Install from CD-ROM
( ) Install from Floppy
( ) Install from Staging Area
h. 提示Select the native language to be installed:
选择中文:
Simplified Chinese
i. 提示 Do you want to relink Oracle product executables? By default, the
Installer will not relink any product executables, with the
exception of the Oracle7 Server, which is relinked automatically
if necessary.
选择默认即可。
j. 提示 The /u/oracle/product/734/orainst/root.sh file already
exists. Select one of the following actions:
选择OK继续
k. 提示 选择安装的包对话匡
1.这时要注意首先安装
TCP/IP Protocol Adapter (V2) 2.3.4.0.0
PL/SQL V 2.3.4.0.0
PRO*C 2.2.4.0.0
SQL*Net (V2) 2.3.4.0.0
SQL*PLUS 3.3.4.0.0
安完后提示:
The requested action has been performed for selected 3) 3
3 3 products. 3 3
3 3 3 3
3 3 Certain product setup actions need to be performed by 3 3
3 3 the 'root' user after successful installation. Upon 3 3
3 3 completion of installation, please log in as 'root' and 3 3
3 3 run the root.sh script. 3 3
3 3 3 3
3 3 3 3
3 3 Select (Help) for more details on what you can do next. 3 3
3 3 Select (OK) to continue. 3 3
这的意思是等安装结束后执行root.sh,按确认先退出
2.现在开始安装
Oracle Server (RDBMS) 7.3.4
3. 最后安装你所需要的包
注意:如果碰到Result: Relinking Error.这种错误,你可以从新启动一屏
以oracle用户登陆
$cd $ORACLE_HOME/bin
$./lsnrctl start
让网络扫一遍安装就没有问题了。
l. 系统提示安装成功,此时还有一些工作要做
以oracle用户登陆
$ su
Password:
# cd $ORACLE_HOME/orainst
# ./root.sh
Running ORACLE7 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u/oracle/product/734
ORACLE_SID= oracle
Are these settings correct (Y/N)? [Y]: y
Enter the full pathname of the local bin directory [/usr/lbin]:
Checking for "oracle" user id...
ORACLE_HOME does not match the home directory for oracle.
Okay to continue? [N]: y
Updating /etc/oratab file...
Leaving common section of ORACLE7 root.sh.
至此,ORACLE数据库安装工作完毕。
SCO OPENSERVER 505 INSTALL ORACLE 7。3。4
很多朋友多提到过安装oracle,但是都没有一个详细的安装步骤,前一段时间公司上了个项
目,需要用sco5+oracle ,这期间也遇到了不少问题,这里把安装的过程及出现的问题简
单写一下,供需要的朋友参考。
此ORACLE数据库安装手册是针对Oracle 7.3.4 For Sco OpenServer 5.0.5
版本的安装,在开始安装前应准备以下环境:
1、 已安装好操作系统Sco OpenServer 5.0.5 Enterprise System;
2、 已安装好开发工具包Sco OpenServer 5.0.5 Developement System;
3、 已安装好网卡并已配置好网卡参数,TCP/IP已通;
4、 机器配置了与操作系统相容的光驱;
5、 准备好Oracle 7.3.4的安装光碟;
6、 获得操作系统的root用户的口令;
7、 建议使用客户端软件NetTerm进行操作。
1、 用root用户登录;
2、 执行scoadmin->Hardware/Kernel Manager->Tune Parameters...
以下修改,若原值大,则不必修改;
1) 选择1(Buffers management),按下表内的参数和数值调整(对于内存小于128M的系
统,可以用系统的默认值不用调整;若系统物理内存大于等于128M则需按下表做调整):
参数 值
NBUF 20000
NHBUF 262144
NMPBUF 500
PLOWBUFS 30
NHINODE 1024
BDFLUSHR 30
NAUTOUP 10
系统的瓶颈主要在于I/O,主要对操作系统的缓冲进行了调整。要说明的是,在Oracle系
统中缓冲区比较大时,操作系统的缓冲就显得不太重要了,这时会发现操作系统的缓冲的
命中率较低(sar –b 1 1000);
2) 选择7(User and group configuration)修改ULIMIT值为4194303、修改MAXUP值为300;
3) 选择13(Message queues)修改MSGMNB为81940、修改MSGSEG为81940;
4) 选择15(Semaphores)修改SEMMNI值为70;
5) 选择16(Shared Data)修改SHMMAX为67108864(大小为物理内存值,单位字节,64M
为64*1024*1024=67108864),修改SHMMIN为1;
6) 修改完毕,root用户执行/etc/conf/cf.d/link_unix,所有选择为Y;
7) 执行shutdown –g0 -y重新启动机器;
待续
oracle 的安装
首先建立用户ora734,然后编辑该用户的环境变量, vi .profile 并使其生效,然后安装
oracle,这一布至关重要,建立用户和修改环境变量通过一个shell来完成。具体内容如下:
安装前用户初始化设置
执行安装前的初始化执行文件orainit.sh,然后设置ora734和pafront、paftp用户的口令,
命令如下:
# sh orainit.sh
------------初始化开始----------------
建立ora734目录
建立组和用户
建立ora734环境变量
建立ora734环境变量完成
建立pafront用户及目录
设置pafront应用端口
设置pafront的环境变量
建立pafront环境变量完成
建立paftp目录及用户
建立paftp目录及用户完成
----------初始化工作完成-------
#passwd ora734
选择:1
输入口令:ora734
重输确定:ora734
#passwd pafront
选择:1
输入口令:pafront
重输确定:pafront
#passwd paftp
选择:1
输入口令:paftp
重输确定:paftp
注:orainit.sh程序建立了DBA用户组和ora734、pafront、paftp用户,并建立了相应目录,
同时设置了用户的环境变量。
orainit.sh
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
echo "------------初始化开始----------------"
echo ""
echo "建立ora734目录"
cd /usr
mkdir /usr/ora734
mkdir /usr/ora734/app
mkdir /usr/ora734/app/oracle
mkdir /usr/ora734/app/oracle/product
mkdir /usr/ora734/app/oracle/product/7.3.4
cd /usr/ora734
mkdir oradata
cd oradata
mkdir ora734
echo "建立组和用户"
#groupdel dba
groupadd dba
#userdel ora734
HOME=/usr/ora734/app/oracle
if test -r $HOME/.profile
then
rm /usr/ora734/app/oracle/.profile
fi
useradd -d /usr/ora734/app/oracle -s ksh -g dba ora734
#echo "请选1并输入ora734的密码"
#passwd ora734
chgrp -R dba /usr/ora734
chown -R ora734 /usr/ora734
chgrp -R dba /usr/ora734/oradata
chown -R ora734 /usr/ora734/oradata
mkdir /usr/lbin
echo "建立ora734环境变量"
cd $HOME
ora_profile=$HOME/.profile
echo "ORACLE_BASE=/usr/ora734/app/oracle
export ORACLE_BASE
ORACLE_HOME=\$ORACLE_BASE/product/7.3.4
export ORACLE_HOME
ORACLE_TERM=ansi
export ORACLE_TERM
ORA_NLS32=\$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS32
ORACLE_SID=ora734
export ORACLE_SID
ORACLE_DOC=\$ORACLE_HOME/doc
export ORACLE_DOC
PATH=.:\$ORACLE_HOME/bin:\$PATH;
export PATH
umask 022
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG" >>$ora_profile
mkdir $ORACLE_HOME/lib
cp /usr/lib/libsocket.a $ORACLE_HOME/lib
cp /usr/lib/libnsl_s.a $ORACLE_HOME/lib
chgrp -R dba $ORACLE_HOME/lib
chown -R ora734 $ORACLE_HOME/lib
chgrp -R dba $ORACLE_HOME/lib/*
chown -R ora734 $ORACLE_HOME/lib/*
echo "建立ora734环境变量完成"
echo ""
echo "建立pafront用户及目录"
mkdir /usr/pafront
#userdel pafront
if test -r /usr/pafront/.profile
then
rm /usr/pafront/.profile
fi
useradd -d /usr/pafront -g dba -G dba,group -s ksh pafront
chgrp -R dba /usr/pafront
chown -R pafront /usr/pafront
mkdir /usr/paftp
mkdir /usr/paftp/tmp
mkdir /usr/paftp/tmp/account
mkdir /usr/paftp/tmp/batdata
useradd -d /usr/paftp/tmp -g group -s ksh paftp
chgrp -R group /usr/paftp
chown -R paftp /usr/paftp
#echo "请选择1并修改pafront的密码"
#passwd pafront
echo "设置pafront应用端口"
echo "
bktxn 8001/tcp #front bktxn port
bksts 8002/tcp #front bksts port
bkhld 8003/tcp #front bkhld port
frfca 8004/tcp #front fca port " >>/etc/services
echo "设置pafront的环境变量"
pa_profile=/usr/pafront/.profile
echo "PATH=\$PATH:\$HOME/bin:. # set command search path
export PATH
if [ -z "\$LOGNAME" ]; then
LOGNAME=`logname` # name of user who logged in
export LOGNAME
fi
MAIL=/usr/spool/mail/\$LOGNAME # mailbox location
export MAIL
if [ -z "\$PWD" ]; then
PWD=\$HOME # assumes initial cwd is HOME
export PWD
fi
if [ -f \$HOME/.kshrc -a -r \$HOME/.kshrc ]; then
ENV=\$HOME/.kshrc # set ENV if there is an rc file
export ENV
fi
# use default system file creation mask (umask)
eval \`tset -m scoansi:\${TERM:-scoansi} -m :\?\${TERM:-scoansi} -r -s -Q\`
# If job control is enabled, set the suspend character to ^Z (control-z):
case \$- in
*m*)stty susp '^z'
;;
esac
set -o ignoreeof #dont't let control -d logout
PS1=\$LOGNAME$
export PS1
LANG=english.8859; export LANG
EDITOR=vi;export EDITOR
#PS1='\$LOGNAME:''\$PWD''>';export PS1
PS1=['\$LOGNAME:''\$PWD'];export PS1
ORACLE_BASE=/usr/ora734/app/oracle
ORACLE_HOME=\$ORACLE_BASE/product/7.3.4
ORACLE_SID=ora734
ORACLE_TERM=ansi
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM NLS_LANG
/usr/bin/prwarn # issue a warning if password due to expire
WORKDIR=\$HOME/public
export WORKDIR
BK_HOME=\$HOME/public
export BK_HOME
LD_LIBRARY_PATH=\$WORKDIR/dll:\$LD_LIBRARY_PATH:\$ORACLE_HOME/lib
export LD_LIBRARY_PATH
LD_RUN_PATH=\$WORKDIR/dll:\$LD_LIBRARY_PATH:\$ORACLE_HOME/lib
export LD_RUN_PATH
PATH=\$PATH:\$ORACLE_HOME/bin:\$WORKDIR/bin
export PATH
DATABASE_USERID=pa_front; export DATABASE_USERID
DATABASE_USERPW=pa_front; export DATABASE_USERPW
stty intr ^C " >>$pa_profile
echo "建立pafront环境变量完成"
echo ""
echo "建立paftp目录及用户"
mkdir /usr/paftp
mkdir /usr/paftp/tmp
mkdir /usr/paftp/tmp/account
mkdir /usr/paftp/tmp/batdata
useradd -d /usr/paftp/tmp -g group -s ksh paftp
chgrp -R group /usr/paftp
chown -R paftp /usr/paftp
echo "建立paftp目录及用户完成"
echo ""
echo "----------初始化工作完成-------"
不知道如何把屏幕截图贴上来,请谅解
接上讲:
该shell都作了那些工作呢?除了建立用户最主要的是以下的ORACLE用户环境设置
ora734用户的环境变量
vi $HOME/.profile
在文件后面增加以下内容:
ORACLE_BASE=/usr/ora734/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/7.3.4
export ORACLE_HOME
ORACLE_TERM=ansi
export ORACLE_TERM
ORA_NLS32=$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS32
ORACLE_SID=ora734
export ORACLE_SID
ORACLE_DOC=$ORACLE_HOME/doc
export ORACLE_DOC
PATH=.:$ORACLE_HOME/bin:$PATH; export PATH
umask 022
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
export NLS_LANG
其中,由于该公司的ORACLE字符集都为ZHS16GBK,因此上面对应的NLS_LANG变量
应改为NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
存盘退出后重新登录或执行. $HOME/.profile使环境设置生效;
用env命令检查环境变量是否生效;
创建lib目录,执行mkdir $ORACLE_HOME/lib;
拷贝库文件,执行命令cp /usr/lib/libsocket.a $ORACLE_HOME/lib
和cp /usr/lib/libnsl_s.a $ORACLE_HOME/lib
2.4. 安装准备
1、将光碟放入光驱;
2、 将光碟mount到/dev/mnt,首先用root用户登录系统,然后再执行mount -f RCKRDG,lower
/dev/cd0 /mnt 不加参数也可
3. ORACLE系统安装
以ora734用户登录系统,执行cd /mnt/orainst转移到安装目录,再执行./orainst启动ORACLE
安装,默认安装是Default Install,用TAB跳转到Custom Install,按空格键选定。再按回车
键继续。
安装内容按回车键取默认值继续安装
默认安装选择是第一项Install New Product - Create DB objects,现在安装则只安装数据库系
统,因些用TAB键移到第二项Install New Product - Do Not Create DB objects,再回车继续
安装。
确认环境变量,按默认值继续;
日志和状态选择取默认值即可,按回车键继续。
此时要求先执行一个rootpre.sh的文件。转到另外一屏,用ora734用户登录,再执行不带
任何参数的su命令,并转到安装目录cd /mnt/orainst,再执行sh ./rootpre.sh命令,执行成
功后,在此屏中用TAB键选择Yes后回车确认:
系统运行rootpre.sh。交互式如下:
是否安装Oracle Icon for ODT? 答:N
是否继续执行rootpre.sh? 答:Y
Oracle用户? 答:ora734
用户组? 答:dba
是否确认以上配置: 答:Y
是否从软盘上安装: 答:N
切回Oracle安装画面,选择Yes,继续安装,屏幕出现安装介质选择:
取默认值从光驱安装;
默认值是All Languages,此时改选American/English。按回车确认;
是否链接,此处选择默认值即可。
系统提示在安装完毕后要执行root.sh。按回车键继续。
选择安装的产品,用光标键上下移动,空格键选择,选择Oracle Server (RDBMS) 7.3.4、
PL/SQL V2.3.4.0.0、PRO*C 2.2.4.0.0、SQL*Net (V2) 2.3.4.0.0、SQL*PLUS 3.3.4.0.0以及
TCP/IP Protocol Adapter (V2) 2.3.4.0.0共六个产品。再按TAB键移动到Install选项上按回
车。系统开始安装。
确认ora734所在的组,按回车键继续。
系统开始自动安装选择的软件包。
提示用户在安装完毕后执行root.sh。按确认键继续。
画面返回软件包安装,选择Exit按确认退出
系统提示是否确认退出。用TAB键选择YES退出。
系统提示安装结果为成功。此时还有一些后续动作。
用ora734用户登录并执行不带任何参数的su命令,再转移到$ORACLE_HOME/orainst,
执行root.sh。
系统执行root.sh,交互式如下:
确认设置是否正确? 答:Y
提示ORACLE_HOME和HOME不同,是否继续? 答:Y
至此,ORACLE数据库安装完毕。
待续
仅供参考:
4. ORACLE数据库的安装
4.1. 准备工作
用ora734用户登录后执行cd $ORACLE_HOME/dbs目录,由于系统还没有安装数据库文
件,所以要先创建设置文件,执行cp init.ora initora734.ora,然后执行vi initora734.ora,如
找到db_block_size则修改,否则增加一行为db_block_size = 8192,如找到db_name则修改,
否则增加一行为db_name=ora734,如找到COMPATIBLE则修改,否则增加一行为
COMPATIBLE=7.3.4.0,如找到unlimited_rollback_segments则修改,否则增加一行
unlimited_rollback_segments = TRUE,另外,在/usr/ora734下执行以下命令,
cd /usr/ora734
mkdir oradata
cd oradata
mkdir ora734
chown -R ora734:dab /usr/oracle/oradata
以便为创建库文件做好准备。
4.2. 建立数据库
在ora734用户登录后,执行svrmgrl命令并回车,再执行以下SQL语句,
connect internal;
startup nomount ;
CREATE DATABASE ora734
CONTROLFILE REUSE
LOGFILE
GROUP 1 ('/usr/ora734/oradata/ora734/log11.log') SIZE 10000K,
GROUP 2 ('/usr/ora734/oradata/ora734/log21.log') SIZE 10000K,
GROUP 3 ('/usr/ora734/oradata/ora734/log31.log') SIZE 10000K,
GROUP 4 ('/usr/ora734/oradata/ora734/log41.log') SIZE 10000K,
GROUP 5 ('/usr/ora734/oradata/ora734/log51.log') SIZE 10000K
MAXLOGFILES 20
MAXDATAFILES 20
NOARCHIVELOG
EXCLUSIVE
CHARACTER SET ZHS16GBK
DATAFILE
'/usr/ora734/oradata/ora734/sysora734.dbf'size 100m AUTOEXTEND ON NEXT 10M
MAXSIZE UNLIMITED;
建立数据库要注意:字符集的选定,如果要从旧的系统中将数据转换过来,字符集要与旧
系统的字符集一致,如果只有一个磁盘,则redo log的member只选取一个,这样可以减
少无关的I/O。
第二步:建立数据字典(在internal用户下)
@/usr/ora734/app/oracle/product/7.3.4/rdbms/admin/catalog.sql
/
@/usr/ora734/app/oracle/product/7.3.4/rdbms/admin/catproc.sql
/
第三步:建立回退段,临时表空间(在internal用户下)
create tablespace user_data
datafile '/usr/ora734/oradata/ora734/usr1ora734.ora' size 10M reuse autoextend on next 5M
maxsize unlimited;
create tablespace rbs_pafront
datafile '/usr/ora734/oradata/ora734/rbs1ora734.ora' size 500M reuse autoextend on next 5M
maxsize unlimited;
create tablespace temporary_data
datafile '/usr/ora734/oradata/ora734/tmp1ora734.ora' size 200M reuse autoextend on next 5M
maxsize unlimited default storage( initial 256k next 256k minextents 20 pctincrease 0 maxextents
unlimited) temporary;
-- Change the SYSTEM users' password, default tablespace and
-- temporary tablespace.
alter user system temporary tablespace user_data;
alter user system default tablespace user_data;
-- Create 16 rollback segments. Allows 16 concurrent users with open
-- transactions updating the database. This should be enough.
create public rollback segment rbs_card storage(initial 5m next 5m minextents 10 maxextents
1000) tablespace rbs_pafront;
create public rollback segment rb1 storage(initial 40K next 40K minextents 10 maxextents 50000
optimal 40m) tablespace rbs_pafront;
create public rollback segment rb2 storage(initial 40K next 40K minextents 10 maxextents 50000
optimal 40m) tablespace rbs_pafront;
create public rollback segment rb3 storage(initial 40K next 40K minextents 10 maxextents 50000
optimal 40m) tablespace rbs_pafront;
create public rollback segment rb4 storage(initial 40K next 40K minextents 10 maxextents 50000
optimal 40m) tablespace rbs_pafront;
create public rollback segment rb5 storage(initial 40K next 40K minextents 10 maxextents 50000
optimal 40m) tablespace rbs_pafront;
create public rollback segment rb6 storage(initial 40K next 40K minextents 10 maxextents 50000
optimal 40m) tablespace rbs_pafront;
在以上的建立中,rbs_pafront为应用建立的用于回退的表空间
建立要点:
* 建立临时表空间,INITIAL(in bytes)为n*SORT_AREA_SIZE+DB_BLOCK_SIZE,n的取
值为同时进行排序操作的最小用户数,NEXT=INITIAL,PCTINCREASE为0,MINEXTENTS
为最大同时连接的用户数。
* 建立回退段参数,INITIAL为最大表大小的0.1%,NEXT=INITIAL,MINEXTENTS=20
(在每四个交易拥有一个回退段时,回退段的个数也据此建立)
第四步:建立默认的profile(以system用户登录)
@/usr/ora734/app/oracle/product/7.3.4/sqlplus/admin/pupbld.sql
/
至此,数据库ora734已经建立完成,关闭数据库,修改initora734.ora
rollback_segments = (rbs_card,rb1,rb2,rb3,rb4,rb5,rb6)
重新启动数据库。
4.3. 应用数据库的安装
第一步:建立应用系统用户和表空间(以system用户连入系统),以ora734用户执行sqlplus
system/manager,其中manager是system用户的密码,如果密码被修改,请换成相应的密
码,建议修改system和sys用户的密码,修改方法如下,在以system用户登录成功后,执
行alter user system identified by NEWPWD;再执行alter user sys identified by NEWPWD1;
其中NEWPWD是system用户新密码,NEWPWD1是sys用户新密码。当提示成功后,修
改密码完成。当以system用户登录成功后再执行以下语句,以下语句中pa_front是前置的
用户名,pa_paic是该用户的密码。如有变化,请相应更改。
drop user pa_front cascade;
create user pa_front identified by pa_paic ;
grant connect,resource to pa_front;
alter user pa_front temporary tablespace temporary_data;
drop tablespace pa_tablespace;
create tablespace pa_tablespace datafile '/usr/ora734/oradata/ora734/pafront.dbf' size 800m
autoextend on next 10m maxsize unlimited
default storage( initial 16k next 16k minextents 1 maxextents unlimited
pctincrease 0 ) online;
drop tablespace pa_tablespace_idx;
create tablespace pa_tablespace_idx datafile '/usr/ora734/oradata/ora734/pa_tablespace_idx.dbf'
size 400m autoextend on next 10m maxsize unlimited
default storage( initial 256k next 256k minextents 2 pctincrease 0 maxextents unlimited )
online;
alter user pa_front default tablespace pa_tablespace;
建立用户数据表空间和索引空间的要点:
* 如果有多个物理磁盘,将这些文件进行分布
* 数据表空间和索引表空间的数据文件一次给的足够大,同时也要允许自动扩展
第二步:建立应用系统对象(表,索引等)
在建立表的存贮参数的选取要点:
* INITIAL为2*k*db_block_size* db_file_multiblock_read_count 的整数倍,k的取值与表的大
小相关,
* NEXT=INITIAL,PCTINCREASE为0
* 设置MINEXTENTS时如果已知表的大小,则设置此值使初始分配空间为此表的大小,
即 table size = INITIAL(in bytes) * MINEXTENTS;如果未知表大小,则估算
* 设置MAXEXTENTS为UNLIMITED
4.4. 应用数据库的表的安装
请执行随应用程序分发的的SQL脚本来创建相应的表格及索引。详细的SQL文本请参阅
应用程序清单。
5. 数据库性能调整
5.1. 内存调整
说明:以下统计参数中,要求系统运行一段时间后,统计参数才有意义,对于排序,应用
程序应进行过排序操作。所有内存的增加要在不引起系统产生虚存交换的情况下进行(用sar
-w 1 10000查看)。
5.1.1 shared_pool_size
服务器物理内存(M)
shared_pool_size
说明
64
6M
128
9M
256
20M
* shared_pool_size的确定依据:在连入一个正常操作用户时执行下面语句:
SELECT SUM(value) "session_total_mem"
FROM v$sesstat, v$statname
WHERE name like 'session uga memory'
AND v$sesstat.statistic# = v$statname.statistic#;
假如系统使用时的用户个数(指连接的session,下同)为n,则系统的总的shared_pool_size
= n * session_total_max_mem
* shared_pool_size是否合适的检验
查看select sum(pins) pins,sum(reloads) reloads
from v$librarycache;
要求reloads / (pins + reloads) 越小越好,一般要小于0.01否则要增加shared_pool_size
另外要考虑v$rowcache
select sum(gets) gets,sum(getmisses) getmisses
from v$rowcache;
要求 gets*100/( gets + getmisses)接近于100%最好,一般要求大于90%
在shared_pool_size值增加到一定程度后,如果结果还没有明显变化,需要加大
SESSION_CACHED_CURSORS(注意:与OPEN_CURSORS的不同,OPEN_CURSORS只
是对会话可打开最大CURSOR的限制,不影响性能)
select name,value
from v$sysstat
where name in (' session cursor cache count');
5.1.2 sort_area_size
以bytes为单位,查看
v$sysstat的sorts(memory),sorts(disk),sorts(rows)
在有较大的sorts(rows)时,sorts(disk)应尽可能小,sorts(disk)/sorts(memory)应小于0.1
5.1.3 log_buffer
log_buffer以bytes为单位,取值的参考为v$sysstat中的
redo entries /redo log space requests理想的情况,要求此值大于5000,如果过小,要增加
log_buffer的值,但此值过大也不行。一般取值为163840或327680
5.1.4 db_block_buffers
服务器物理内存(M)
shared_pool_size
说明
64
20M
128
80M
256
120M
db_block_buffers以db_block_size为单位,取值的参考为v$sysstat中
physical reads/(db block gets+consistent gets)
该值接近与0最好
5.1.5 回退段
* 回退段的数量:设置回退段的个数为系统中最大事务数的四分之一,即每个回退段平均
有四个事务运行。
* 如何判断系统中回退段是否足够?
连续执行下面两个语句,
SELECT class, count
FROM v$waitstat
WHERE class IN ('system undo header','system undo block','undo header','undo block');
SELECT SUM(value) total_gets
FROM v$sysstat
WHERE name IN ('db block gets','consistent gets');
执行结束后,计算下面的四个比值
system undo header/total_gets
system undo block/total_gets
undo header/total_gets
undo block/total_gets
要求这四个值均小于0.01,否则考虑增加回退段。
5.1.6 检查点调整
调整目标:减少检查点,要调整的参数有CHECKPOINT_PROCESS,
LOG_CHECKPOINT_INTERVAL,LOG_CHECKPOINT_TIMEOUT
设置CHECKPOINT_PROCESS=TRUE, LOG_CHECKPOINT_TIMEOUT=0
对于LOG_CHECKPOINT_INTERVAL要考虑redo log file的大小,设置为
( redo log file in bytes)/ 512 ,其中redo log file in bytes为创建时指定的大小(不是存贮在系
统上实际文件的大小),512为操作系统的块大小
5.1.7 redo log 设置
所有redo log文件的大小是相同的,为了减少检查点,设置redo log文件为5M-50M左右。
如果只有一个磁盘或系统用RAID 5,则每个redo log组只有一个成员。
系统至少要有两个redo log组,设置合适的组使进行最大的数据更新(insert or update)操作
时在alert文件中不出现thread 1 cannot allocate new log, sequence XXX,Checkpoint not
complete为止。
对于单CPU系统,LOG_SMALL_ENTRY_MAX_SIZE和LOG_SIMULTANEOUS_COPIES
参数不要做调整。
5.2. 不太重要的参数的调整
以下参数在上面的参数进行调整后,如果系统中内存还有较大的空闲内存时,进行调整。
* 内存参数
sort_direct_writes,sort_write_buffers,sort_write_buffer_size
设置sort_direct_writes为TRUE,系统将为每一个排序操作额外分配
SORT_WRITE_BUFFERS * SORT_WRITE_BUFFER_SIZE的字节的内存用于直接磁盘操
作。SORT_WRITE_BUFFERS * SORT_WRITE_BUFFER_SIZE为sort_area_size的十分之
一。一般用系统默认值即可。
* 用户表和索引freelist的竞争
当有多个用户同时更新一个表时,可能会产生freelist的竞争,
SELECT class, count
FROM v$waitstat WHERE class = 'free list';
SELECT SUM(value) total_gets
FROM v$sysstat
WHERE name IN ('db block gets','consistent gets');
要求 count/total_gets越小越好,不要大于0.01,如果此值过大,只能在建表时增加FREELISTS
的大小。
6. 数据库启动参数设置
6.1. 修改数据库监听设置和网络解析设置
1)用ora734用户登录,检查/etc目录下是否有listener.ora和tnsnames.ora这两个文件,如
没有,执行cp $ORACLE_HOME/network/admin/listener.ora /etc/和cp
$ORACLE_HOME/network/admin/tnsnames.ora /etc/,将这两个文件拷贝到/etc目录;
2)修改/etc/listen.ora文件,将其中<oracle_sid>换成ORACLE_SID的内容,即ora734;
修改/etc/tnsnames.ora文件,将其中<oracle_sid>换成ORACLE_SID的内容,即ora734;
3)由于需要联接平保后台的ORACLE数据库,因此需要在/etc/tnsnames.ora文件中增加平
保后台的ORACLE数据库联接,在文件后面增加以下内容:
lutest =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= 10.16.100.2)(Port= 1528))
(CONNECT_DATA = (SID = lutest))
)
其中,第一个lutest是本地对应平保后台的SERVICE名字,10.16.100.2是平保主机地址,1528
是平保主机ORACLE的监听端口,第二个lutest是平保主机ORACLE数据库的SID,请根
据实际值进行相应修改。
4)试着启动ORACLE数据库;执行以下命令启动数据库:
svrmgrl
connect internal
startup
如提示already running.则先输入shutdown命令,再执行startup。
5=试着启动ORACLE监听器:执行以下命令启动监听器:
lsnrctl
start
如提示already started,则先输入stop命令,再执行start;
6.2. 设置成自动启动数据库
增加自动启动功能,即在SCO系统启动时自动启动ORACLE;
1=用root用户登录;
2=执行vi /etc/oratab,将其中最后面的N改成Y;
3=执行vi /etc/rc.d/7/udaemons,在文件后面增加以下几行:
su - ora734 -c /usr/ora734/app/oracle/product/7.3.4/bin/dbstart
su - ora734 -c /usr/ora734/app/oracle/product/7.3.4/bin/lsnrctl <<EOF
start
EOF
4=在正常关闭ORACLE数据库后,重启机器,检查是否生效。
6.3. 关闭和启动数据库的命令
先用ora734用户登录
* 启动数据库
svrmgrl
connect internal
startup
* 启动监听器
lsnrctl
start
* 检查监听器
lsnrctl
status
* 关闭监听器
lsnrctl
stop
* 关闭数据库
svrmgrl
connect internal
shutdown [ normal | immediate | abort ]
其中normal是正常关闭,默认值;immediate是立即关闭,如果有联接,则直接关闭;abort
是无条件关闭,只在数据库发生错误时使用。
6.4. 常见问题解决
* 监听程序启动失败:
如果是TCP监听失败,请检查/etc/listener.ora中的对应TCP的参数如IP地址和PORT端口;
如果是IPC监听失败,请先删除/tmp/.oracle/sXXX,其中XXX是/etc/listener.ora中IPC监
听的KEY值;
* 数据库关闭失败:
请先确认数据库已无其他联接,即无程序在使用数据库;如还无法关闭,则在执行svrmgrl
后,输入shutdown abort强行关闭数据库;
待续
建立数据库的shel&
SCO UNIXWARE 7.1.3 INSTALL ORACLE
UnixWare713下安装linux_oracle817数据库
2003年处SCO公司正式宣布了Oracle9i数据库通过了在 UnixWare 713 上的Linux的认
证.。此认证标志着Oracle数据库在UnixWare下的LKP安装工作没有问题。
是这样Oracle9i数据库数据库太大,硬件要求太高。我现在的机器安装起来太慢,所以我
就选用Oracle817来安装了,但他们的安装方法大通小易。
系统要求:(我都是以Oracle9I的标准来写的)
以下的系统要求适用于典型的Oracle安装和创建简单数据库的方式。
内存:
安装Oralce 9i软件至少需要256M内存
交换区:
交换区的大小一般要求是内存的两倍,至少要求达到400M以上
光驱:
如果你使用光盘安装Oracle9i则你的机子上需要8速以上的CDROM,如果你是下载了
oracle9i的包文件,则不需要使用的CDROM。
硬盘空间:
安装Oracle9i数据库至少要有2.5GB以上的剩余空间。
临时硬盘空间:
Oracle安装程序在安装过程中需要400M以上的临时硬盘空间,建议使用/tmp文件夹作为
零时文件夹,如果/tmp文件没有足够的硬盘,可以新创建一个文件夹作为安装的临时目录,
之后设置环境变量TEMP和TMPDIR指向相应的位置,例如:
使用bash
mkdir /home/temp
TEMP=/home/temp ; export TEMP
TMPDIR=/home/temp ; export TMPDIR
使用csh
mkdir /home/temp
setenv TEMP /home/temp
setenv TMPDIR /home/temp
操作系统:
UnixWare713(须安装 LKP 软件包)
JDK
Oracle817需要用到JDK,大家可在这里下载。
ftp://ftp.tux.org/pub/java/JDK-1.1.8/i386...c-2.1.3.tar.bz2 准备工作做好了,开始吧:
1. 配置内核参数
SHMMAX 134217728 (内存的一半)
SHMMIN 1
SHMMNI 100
SHMSEG 15
SEMMNI 10000
SEMMSL 300
SEMMNS 610
SEMOPM 20
SCORLIM 0x7FFFFFFF
HCORLIM 0x7FFFFFFF
SDATLIM 0x7FFFFFFF
HDATLIM 0x7FFFFFFF
SVMMLIM 0x7FFFFFFF
HVMMLIM 0x7FFFFFFF
SFSZLIM 0x7FFFFFFF
HFSZLIM 0x7FFFFFFF
HFNOLIM 2048
SFNOLIM 128
NPROC 12500
ARG_MAX 1048576
NPBUF 100
MAXUP 5000
RECVRETRIES 5
MAXULWP 10000
FLCKREC 2000