??xml version="1.0" encoding="utf-8" standalone="yes"?>
在Redhat9下安装Oracle9(完整?
在安装之前有几个地方需要注意的Q?br>你的交换分区最好有一个G左右那么大,W二你的盘分区最好也要有_大的I间?br>
下面我那个{贴的中译本:(x)
1、创建用户和l:(x)
[roko@miniroko] su -
[root@miniroko]# groupadd oinstall
[root@miniroko]# groupadd dba
[root@miniroko]# useradd -g oinstall -G dba oracle
[root@miniroko]# passwd oracle
2、准备文件目录:(x)
[root@miniroko]# mkdir -p /opt/ora9/product/9.2
[root@miniroko]# mkdir /var/opt/oracle
[root@miniroko]# chown oracle.dba /var/opt/oracle
[root@miniroko]# chown -R oracle.dba /opt/ora9
3、调节系l内核参数及(qing)安装支持软g包:(x)
3.1、首先用命o(h)rpm -qa|grep compat 查看pȝ中是否安有以下几个Y件包Q?br>
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
如果没有Q请拿出你的安装盘,安装以上的包。不要用原文l的那个APT的东东,不熟的h遇上没有解决的依赖性问题的话,q别讨厌?br>
3.2、设|内核参敎ͼ调节信号灯及(qing)׃n内存Q?br>[root@miniroko]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@miniroko]# echo 536870912 > /proc/sys/kernel/shmmax
[root@miniroko]# echo 4096 > /proc/sys/kernel/shmmni
[root@miniroko]# echo 2097152 > /proc/sys/kernel/shmall
[root@miniroko]# echo 65536 > /proc/sys/fs/file-max
[root@miniroko]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
当然Z(jin)一开机系l就能自动帮你设好这些参敎ͼ也可改动 /etc/sysctl.conf q个文gQ加入以下的语句Q?br>kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
保存后,卛_。徏议关于net.ipv4.ip_local_port_range不要改动Q可以用cat /proc/sys/net/ipv4/ip_local_port_range 看到U帽子对q个所定义的范围已l符合,而且端口范围比这个小?br>
3.3、设|oracleҎ(gu)件的要求Q?br>~辑文gQ?etc/security/limits.conf 加入以下语句Q?br>oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
q个需要重启后才能生效的。但是安装的时候无所谓了(jin)?br>
4、设|oracle的系l环境:(x)
以oracle用户的n份登录:(x)
su oracle
cd ~
~辑它的.bashrc文g加入以的东东Q?br>#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/bin:$PATH
#
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
#export NLS_LANG='croatian_croatia.ee8iso8859p2' (注意q个东东把它注释掉,因ؓ(f)我们用的是中文系l。然而ؓ(f)?jin)能够显CZ文加入以下一行:(x)
export LC=en_US
退出,你下蝲的三个iso文g准备好?br>5、解压你下蝲的文Ӟ(x)
5.1、新Z个目录:(x)mkdir /mnt/Oracle
5.2、将三个文g拷入新徏的目录:(x)cp ln_* /mnt/Oracle
5.3、解压三个文Ӟ(x) cd /mnt/Oracle
gunzip gunzip lnx_920_disk1.cpio.gz
gunzip lnx_920_disk2.cpio.gz
gunzip lnx_920_disk3.cpio.gz
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
5.4、这个将生成三个文g夹:(x)DISK1, DISK2, DISK3
6、开始安装:(x)
以oracle的用戯n份进入:(x)
su oracle
cd ~
/mnt/Oracle/DSIK1/runInstall.sh
在安装的q程中会(x)遇到几个错误Q?br>W一个错误提C关于这个文件ins_oemagent.mk的,不要ȝ它,选择忽略Q我们将在下面的步骤中修复它?br>W二错误提示QError in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk
q个时候就先不要选择忽略?jin),q个时候你要先打开一个终端:(x)以oracle用户的n份登录进去,q行以下的命令:(x)
[oracle@miniroko oracle]$ cd $ORACLE_HOME/install
[oracle@miniroko install]$ tail make.log
可以看到q个Q然后在其下有错误提C:(x)
gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
我们q行以下的命令来修改它:(x)
[oracle@miniroko]$ cd $ORACLE_HOME/bin
[oracle@miniroko bin]$ gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/
-L/opt/ora9/product/9.2/lib/ -L/opt/ora9/product/9.2/lib/stubs/
/opt/ora9/product/9.2/ctx/lib/ctxhx.o -L/opt/ora9/product/9.2/ctx/lib/
-lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc
-Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9
-lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl
也就重新在这个地方编译一下上面出错的地方。然后再回到安装界面Q对那个错误对话框选择忽略。(h)l安装就行了(jin)?br>
W三个错误会(x)在启动和配置助手E序的时候出错,不要它Q选择忽略p?jin)。我们在下面的步骤将?x)对W一个错误和W三个错误进宪修补?br>
7、修改系l:(x)
以oracle用户的n份登入,执行以下命o(h)Q?br>[oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
[oracle@miniroko lib]$ make -f ins_net_client.mk install
然后~辑q个文gQ?br>oracle@miniroko lib]$vi $ORACLE_HOME/ctx/lib/ins_ctx.mk扑ֈW?3行、第14行由ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)
改ؓ(f)Q?br>ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
存盘退出,执行以下命o(h)Q?br>[oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
现在可以重新启动agents?jin)?br>[oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start
8、ؓ(f)?jin)方便管理,可以写一个启动脚本:(x)
以ROOtw䆾q入Q编写以下脚本:(x)
#!/bin/bash
#
# (c) [email]denis.klaric@in2.hr[/email]
#
# name: /etc/rc.d/init.d/ora9
# description: starts and stops oracle 9i database, TNS listener
# http server, and fixes kernel parameters for oracle
#oracle environment
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export NLS_LANG='croatian_croatia.ee8iso8859p2'
export ORACLE_SID=tis
export DISPLAY=:0
oracle_user=oracle
# see how we're called
case $1 in
start)
# fix kernel parameters
echo 250 32000 100 128 > /proc/sys/kernel/sem
echo 536870912 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 65536 > /proc/sys/kernel/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
# start listener, apache and database
su - "$oracle_user"<<EOO
lsnrctl start
apachectl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
EOO
;;
stop)
# stop listener, apache and database
su - "$oracle_user"<<EOO
lsnrctl stop
apachectl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
EOO
;;
*)
echo "Usage: ora9 [start|stop]"
;;
esac
存(sh)ؓ(f)ora9后,然后用chmod a+x ora9,卛_在以后以rootw䆾q行/etc/rc.d/init.d/ora9 start |stop 来管理oracle的启动和停止?jin)。如果要这个脚本加入到pȝ中其可开行,那么要运行以下命令:(x)
chkconfig --level 3(或者是5) --add ora9
卛_?br>
]]>
1Q开机启动时自动q行E序
Linux加蝲? 它将初始化硬件和讑֤驱动, 然后q行W一个进Einit。initҎ(gu)配置文gl箋(hu)引导q程Q启动其它进E。通常情况下,修改攄?/etc/rc?/etc/rc.d ?/etc/rc?.d 目录下的脚本文gQ可以init自动启动其它E序。例如:(x)~辑 /etc/rc.d/rc.local 文gQ在文g最末加上一?#8220;xinit”?#8220;startx”Q可以在开机启动后直接q入XQWindow?
2Q登录时自动q行E序
用户dӞbash首先自动执行pȝ理员徏立的全局dscript Q?ect/profile。然后bash在用戯v始目录下按顺序查找三个特D文件中的一个:(x)/.bash_profile?.bash_login?.profileQ但只执行最先找到的一个?
因此Q只需Ҏ(gu)实际需要在上述文g中加入命令就可以实现用户d时自动运行某些程序(cM于DOS下的Autoexec.batQ?
3Q退出登录时自动q行E序
退出登录时Qbash自动执行个h的退出登录脚?.bash_logout。例如,?.bash_logout中加入命?#8220;tar Qcvzf c.source.tgz Q?c”Q则在每ơ退出登录时自动执行 “tar” 命o(h)备䆾 Q?c 文g?
4Q定期自动运行程?
Linux有一个称为crond的守护程序,主要功能是周期性地(g)?/var/spool/cron目录下的一l命令文件的内容Qƈ在设定的旉执行q些文g中的命o(h)。用户可以通过crontab 命o(h)来徏立、修攏V删除这些命令文件?
例如Q徏立文件crondFileQ内容ؓ(f)“00 9 23 Jan Q?HappyBirthday”Q运?#8220;crontab cronFile”命o(h)后,每当元月23日上?:00pȝ自动执行“HappyBirthday”的程序(“Q?#8221;表示不管当天是星期几Q?
5Q定时自动运行程序一?
定时执行命o(h)at 与crond cMQ但它只执行一ơ)(j)Q命令在l定的时间执行,但不自动重复。at命o(h)的一般格式ؓ(f)Qat [ Qf file ] time Q在指定的时间执行file文g中所l出的所有命令。也可直接从键盘输入命o(h)Q?
Q?at 12:00
at>mailto Roger Qs ″Have a lunch″ < plan.txt
at>CtrQD
Job 1 at 2000Q?1Q?9 12:00
2000Q?1Q?9 12:00时候自动发一标题?sh)?#8220;Have a lunch”Q内容ؓ(f)plan.txt文g内容的邮件给Roger?9 12:00
2000Q?1Q?9 12:00时候自动发一标题?sh)?#8220;Have a lunch”Q内容ؓ(f)plan.txt文g内容的邮件给Roger。er。ger。er?
]]>
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm
$ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz
f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz
ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz
解包Q?
gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
cpio -idmv < Linux9i_Disk1.cpio
cpio -idmv < Linux9i_Disk2.cpio
cpio -idmv < Linux9i_Disk3.cpio
ȝ:
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=4 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=4 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=4 -
注:(x)讑֤号可以通过执行 cdrecord -scanbus 得到
交换I间: 物理内存的两倍或者至?12MB
cat /proc/swaps
增加交换I间Q?
dd if=/dev/zero of=tmpswap bs=1k count=300000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
׃n内存配置: 写入/etc/rc.d/rc.local或?etc/rc.d/rc5.d/S78oradb:
echo 65536 > /proc/sys/fs/file-max #set max descriptors
echo 131072 > /proc/sys/kernel/shmmax #half of the physical memory
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 100 32000 100 100 > /proc/sys/kernel/sem #semmsl semmns semopm semmni
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
环境配置Q写入oracle用户?cshrc
ulimit -u 16384 #maximun processes
ulimit -n 66536 #maximum descriptors
"binutils" RPM 版本的问?
7.1 ?7.2 随带?binutils RPM 包不兼容9i ?Universial InstallerQ有两个解决Ҏ(gu)Q?
a. “降” Oracle 服务器上?binutil Q?
ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm
#rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm #安装
注:(x)安装?Oracle 后,别忘?sh)(jin)?binutil 升回去?
b. 在安装中{待出现下面的错误,然后手工修复Q?
"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
请参?Running Oracle Installation 以及(qing) Oracle Installation Errors Q我推荐使用W二U方法?
安装 JDK
bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
ln -s /usr/local/jdk118_v3 /usr/local/java
建立 Oracle 用户
mkdir /home/oracle
groupadd -g 1001 dba
useradd -g 1001 -u 1001 -d /home/oracle oracle
passwd oracle
chown -R oracle:dba /home/oracle
? 记得为oracle用户指定tcsh
建立相关目录
mkdir /home/tmp
chmod 777 /home/tmp
mkdir /home/oracle_app
chown -R oracle:dba /home/oracle_app
mkdir /home/oradata
mkdir /home/oradata/FREEDB
mkdir /home/oradata/FREEDB/admin
mkdir /home/oradata/FREEDB/admin/bdump
mkdir /home/oradata/FREEDB/admin/cdump
mkdir /home/oradata/FREEDB/admin/udump
mkdir /home/oradata/FREEDB/archive
mkdir /home/oradata/FREEDB/config
mkdir /home/oradata/FREEDB/control
mkdir /home/oradata/FREEDB/data
mkdir /home/oradata/FREEDB/redo
chown -R oracle:dba /home/oradata
ln -s /home/oradata /oradata
mkdir /var/opt/oracle
chown oracle:dba /var/opt/oracle
chmod 755 /var/opt/oracle
讄 Oracle 环境
?Oracle 用户q入Q徏?$HOME/.bashrc或?cshrc
export ORACLE_BASE=/home/oracle_app
export ORACLE_HOME=/home/oracle_app
export ORACLE_SID=XFDB
export ORACLE_TERM=xterm
#export TNS_ADMIN= 讄q个变量Q如?sqlnet.ora, tnsnames.ora{不?ORACLE_HOME/network/admin 目录下?
export NLS_LANG=american_america.ZHS16GBK;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths:
PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin
PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin
PATH=$PATH:/usr/local/samba/bin:/usr/ucb:
export PATH
# CLASSPATH must include the following JRE locations:
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
For RedHat 9.0:
export JAVA_HOME=/usr/local/java_1.4.1_or_above #否则runinstaller?x)挂?br> export LD_ASSUME_KERNEL=2.4.1 #make sure to use java GUI tools such as netca, etc. when using Oracle.
启动 runInstaller
Oracle 不再支持字符模式的安装,因此必须讄 DISPLAY 变量?br> a> yourdesktop:user$ xhost +oracleserver
b> ?oracleserver 的控制台上以 Oracle 用户执行Q?
oracleserver:oracle$ export DISPLAY=yourdesktop:0.0
c> 从第一?CD 或者从下蝲点(Disk1/RunInstallerQ执?runInstaller
oracleserver:oracle$ mount /mnt/cdrom
oracleserver:oracle$ /mnt/cdrom/runInstaller
注:(x)不要 cd ?/mnt/cdrom L行runInstallerQ因?unmount 不能把挂接着?CD 怸?br>
安装认信息:
The base directory (Inventory Location): /home/oracle_app/oraInventory
UNIX Group Name (permission for updating Oracle software): dba
Full path name of the Oracle Home: /home/oracle_app
JDK Home Directory: /usr/local/java
忘记讄 DISPLAY 环境变量或者忘记在桌面 PC 上运?xhost +oracleserverQ将得到下面的错误:(x)
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
?.1Q?.2Q如果没?#8220;降” binutils 包,安装到第三张 CD 时会(x)发生如下错误Q?
"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent"
解决Ҏ(gu)Q?br> ~辑 $ORACLE_HOME/bin/genclntsh ?LD_SELF_CONTAINED="-z defs" Ҏ(gu)Q?LD_SELF_CONTAINED=""
然后q行脚本Q?ORACLE_HOME/bin/genclntsh
retry
ins_ctx.mk错误的解x(chng)法:(x)
edit $ORACLE_HOME/ctx/lib/env_ctx.mk.
add $(LDLIBFLAG)dl into the line INSO_LINK=-L$(CTXLIB) $(LDLIBFLAG)m right at the position.
retry.
Error in setting permissions of file/directory /home/oracle_app/jre/1.1.8/bin/i686/native_threads/.extract_args.
手工扑ֈq从安装 jre 的目录下拯文g .extract_args ?runInstaller 提示文g丢失的地斏V?
For RedHat 9.0:
You will get make errors for oemadmin and a few others. Simply ignore.
其他注意事项Q?br> ?runInstaller 开始配|工hQ?Oracle Net Configuration Assistant" ?x)挂赗简单的解决办法是停止其配置Q重新配|或者(h)l安装,当其他安装结束后Q再来一?#8220;Retry"?
如果在安装中pȝ停止?jin)反应,可能是没有够的交换I间。如果发生这L(fng)事情Q只能等待到pȝ反应为止?
Oracle 的安装还需要运?make {程序,在生产环境中Q你或许没有安装~译器和其他开发工P所以,需要(f)时安装下面的几个包:(x) cpp, egcs, egcs-c++, glibc-devel, kernel-headers ?
如果不能成功安装 9i 而需要重来的话,需要清除下面的文g和目录:(x)
rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall
rm -rf $ORACLE_BASE/*
启动 Oracle 9i 数据?
9i 中已l没?svrmgrl ?jin),所有的理工作都通过 sqlplus 来完成:(x)
dba$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
补丁Q?
http://otn.oracle.com/support/patches.htm: 察看最新的patch set.
metalink.oracle.com: 下蝲patch, 需要csi注册账号Q文件名为p<patch-id>_<oracle_ver>_<platform>.zip
以下以数据库SWZ
一、initSW.ora: 需要关注的参数
control_files
db_name = SW #for basic settings
db_block_size
db_block_buffers
shared_pool_size
log_buffer #for log and checkoint settings
log_checkpoint_interval
log_checkpoint_timeout
log_archive_start #for archive settings
log_archive_dest
log_archive_format
background_dump_dest #for log destinations
core_dump_dest
user_dump_dest
rollback_segments #for public rollback segments
job_queue_interval #for automatic jobs
job_queue_processes
二?创徏数据?br>connect internal (for 8i) | connnect / as sysdba (for 9i)
startup nomount pfile=$ORACLE_HOME/dbs/initcws_0.orabangu
create database "FREELAND"
maxinstances 8
maxlogfiles 32
datafile
'/oradata/FREEDB/data/systemFREEDB01.dbf' size 100M,
'/oradata/FREEDB/data/systemFREEDB02.dbf' size 100M
logfile group 1 ( '/oradata/FREEDB/redo/logFREEDB1a.log',
'/oradata/FREEDB/redo/logFREEDB1b.log' ) size 10M,
group 2 ( '/oradata/FREEDB/redo/logFREEDB2a.log',
'/oradata/FREEDB/redo/logFREEDB2b.log' ) size 10M
character set ZHS16GBK
--- national character set ZHS16GBK;
disconnect
注:(x)1. 8i 只需?0--100M的system表空_(d) ?i需?50M--200M
2. 9i以后没有internal账号?jin)?br> 3. 9i 不需要指定national character set?br>
三?构徏数据字典
connect internal/sys (8i) | connect / as sysdba or connect sys(9i)
@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
@$ORACLE_HOME/rdbms/admin/catexp.sql
@$ORACLE_HOME/rdbms/admin/catdbsyn.sql
@$ORACLE_HOME/rdbms/admin/utlchain.sql
@/home/oracle_app/rdbms/admin/caths.sql
---Create Heterogeneous Services data dictionary objects.
@/home/oracle_app/rdbms/admin/otrcsvr.sql
---Creates stored procedures used by the Oracle Trace server.
@/home/oracle_app/rdbms/admin/dbmsstdx.sql
---使用trigger之前必须q行
connect system/manager
@/home/oracle_app/sqlplus/admin/pupbld.sql
@/home/oracle_app/ord/admin/ordinst.sql
@/home/oracle_app/sqlplus/admin/help/helptbl.sql
connect / as sysdba
create tablespace PAS_TMP temporary
datafile
'/oradata/FREEDB/data/tempFREEDB01.dbf' size 200M,
'/oradata/FREEDB/data/tempFREEDB02.dbf' size 200M
default storage
(initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);
create tablespace PAS_RBS
datafile
'/oradata/FREEDB/data/rbsFREEDB01.dbf' size 200M,
'/oradata/FREEDB/data/rbsFREEDB02.dbf' size 200M
default storage
(initial 1M next 1M minextents 10 maxextents unlimited pctincrease 0);
create tablespace PAS_IDX
datafile
'/dev/raw/raw6' size 512M autoextend on
default storage
(initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);
create tablespace PAS_IN_IDX
datafile
'/oradata/FREEDB/data/in_idxFREEDB01.dbf' size 200M autoextend on maxsize 1500M,
'/oradata/FREEDB/data/in_idxFREEDB02.dbf' size 200M autoextend on maxsize 1500M
default storage
(initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);
create tablespace PAS_BILL
datafile
'/dev/raw/raw1' size 512M autoextend on,
'/dev/raw/raw2' size 512M autoextend on,
'/dev/raw/raw3' size 512M autoextend on,
'/dev/raw/raw4' size 512M autoextend on,
'/dev/raw/raw5' size 512M autoextend on
default storage
(initial 2M next 2M minextents 20 maxextents unlimited pctincrease 0);
create tablespace PAS_FREE
datafile
'/oradata/FREEDB/data/inFREEDBa1.dbf' size 1000M autoextend on maxsize 2000M,
'/oradata/FREEDB/data/inFREEDBb2.dbf' size 1000M autoextend on maxsize 2000M
'/oradata/FREEDB/data/inFREEDBa3.dbf' size 1000M autoextend on maxsize 2000M,
'/oradata/FREEDB/data/inFREEDBb4.dbf' size 1000M autoextend on maxsize 2000M
'/oradata/FREEDB/data/inFREEDBa5.dbf' size 1000M autoextend on maxsize 2000M,
'/oradata/FREEDB/data/inFREEDBb6.dbf' size 1000M autoextend on maxsize 2000M
default storage
(initial 2M next 2M minextents 20 maxextents unlimited pctincrease 0);
create public rollback segment r01 tablespace PAS_RBS storage (optimal 20M);
create public rollback segment r02 tablespace PAS_RBS storage (optimal 20M);
create public rollback segment r03 tablespace PAS_RBS storage (optimal 20M);
create public rollback segment r04 tablespace PAS_RBS storage (optimal 20M);
create public rollback segment r05 tablespace PAS_RBS storage (optimal 20M);
create public rollback segment r06 tablespace PAS_RBS storage (optimal 20M);
alter rollback segment r01 online;
alter rollback segment r02 online;
alter rollback segment r03 online;
alter rollback segment r04 online;
alter rollback segment r05 online;
alter rollback segment r06 online;
alter user sys identified by "in core";
alter user system identified by "in core";
create user bill identified by "bill2002"
default tablespace PAS_BILL
temporary tablespace PAS_TMP
quota unlimited on PAS_BILL
quota unlimited on PAS_TMP;
create user xy identified by "xy2002"
default tablespace PAS_FREE
temporary tablespace PAS_TMP
quota unlimited on PAS_FREE
quota unlimited on PAS_TMP;
grant dba to bill with admin option;
alter user bill default role dba;
grant dba to xy with admin option;
alter user xy default role dba;
grant select any table to bill;
connect xy
grant select any table to bill; //for pl/sql
connect bill
grant select any table to xy; //for pl/sql
$ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz
f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz
ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz
解包Q?
gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
cpio -idmv < Linux9i_Disk1.cpio
cpio -idmv < Linux9i_Disk2.cpio
cpio -idmv < Linux9i_Disk3.cpio
ȝ:
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=4 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=4 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=4 -
注:(x)讑֤号可以通过执行 cdrecord -scanbus 得到
交换I间: 物理内存的两倍或者至?12MB
cat /proc/swaps
增加交换I间Q?
dd if=/dev/zero of=tmpswap bs=1k count=300000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
׃n内存配置: 写入/etc/rc.d/rc.local或?etc/rc.d/rc5.d/S78oradb:
echo 65536 > /proc/sys/fs/file-max #set max descriptors
echo 131072 > /proc/sys/kernel/shmmax #half of the physical memory
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 100 32000 100 100 > /proc/sys/kernel/sem #semmsl semmns semopm semmni
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
环境配置Q写入oracle用户?cshrc
ulimit -u 16384 #maximun processes
ulimit -n 66536 #maximum descriptors
"binutils" RPM 版本的问?
7.1 ?7.2 随带?binutils RPM 包不兼容9i ?Universial InstallerQ有两个解决Ҏ(gu)Q?
a. “降” Oracle 服务器上?binutil Q?
ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm
#rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm #安装
注:(x)安装?Oracle 后,别忘?sh)(jin)?binutil 升回去?
b. 在安装中{待出现下面的错误,然后手工修复Q?
"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
请参?Running Oracle Installation 以及(qing) Oracle Installation Errors Q我推荐使用W二U方法?
安装 JDK
bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
ln -s /usr/local/jdk118_v3 /usr/local/java
建立 Oracle 用户
mkdir /home/oracle
groupadd -g 1001 dba
useradd -g 1001 -u 1001 -d /home/oracle oracle
passwd oracle
chown -R oracle:dba /home/oracle
? 记得为oracle用户指定tcsh
建立相关目录
mkdir /home/tmp
chmod 777 /home/tmp
mkdir /home/oracle_app
chown -R oracle:dba /home/oracle_app
mkdir /home/oradata
mkdir /home/oradata/FREEDB
mkdir /home/oradata/FREEDB/admin
mkdir /home/oradata/FREEDB/admin/bdump
mkdir /home/oradata/FREEDB/admin/cdump
mkdir /home/oradata/FREEDB/admin/udump
mkdir /home/oradata/FREEDB/archive
mkdir /home/oradata/FREEDB/config
mkdir /home/oradata/FREEDB/control
mkdir /home/oradata/FREEDB/data
mkdir /home/oradata/FREEDB/redo
chown -R oracle:dba /home/oradata
ln -s /home/oradata /oradata
mkdir /var/opt/oracle
chown oracle:dba /var/opt/oracle
chmod 755 /var/opt/oracle
讄 Oracle 环境
?Oracle 用户q入Q徏?$HOME/.bashrc或?cshrc
export ORACLE_BASE=/home/oracle_app
export ORACLE_HOME=/home/oracle_app
export ORACLE_SID=XFDB
export ORACLE_TERM=xterm
#export TNS_ADMIN= 讄q个变量Q如?sqlnet.ora, tnsnames.ora{不?ORACLE_HOME/network/admin 目录下?
export NLS_LANG=american_america.ZHS16GBK;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths:
PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin
PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin
PATH=$PATH:/usr/local/samba/bin:/usr/ucb:
export PATH
# CLASSPATH must include the following JRE locations:
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
For RedHat 9.0:
export JAVA_HOME=/usr/local/java_1.4.1_or_above #否则runinstaller?x)挂?br> export LD_ASSUME_KERNEL=2.4.1 #make sure to use java GUI tools such as netca, etc. when using Oracle.
启动 runInstaller
Oracle 不再支持字符模式的安装,因此必须讄 DISPLAY 变量?br> a> yourdesktop:user$ xhost +oracleserver
b> ?oracleserver 的控制台上以 Oracle 用户执行Q?
oracleserver:oracle$ export DISPLAY=yourdesktop:0.0
c> 从第一?CD 或者从下蝲点(Disk1/RunInstallerQ执?runInstaller
oracleserver:oracle$ mount /mnt/cdrom
oracleserver:oracle$ /mnt/cdrom/runInstaller
注:(x)不要 cd ?/mnt/cdrom L行runInstallerQ因?unmount 不能把挂接着?CD 怸?br>
安装认信息:
The base directory (Inventory Location): /home/oracle_app/oraInventory
UNIX Group Name (permission for updating Oracle software): dba
Full path name of the Oracle Home: /home/oracle_app
JDK Home Directory: /usr/local/java
忘记讄 DISPLAY 环境变量或者忘记在桌面 PC 上运?xhost +oracleserverQ将得到下面的错误:(x)
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
?.1Q?.2Q如果没?#8220;降” binutils 包,安装到第三张 CD 时会(x)发生如下错误Q?
"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"
"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent"
解决Ҏ(gu)Q?br> ~辑 $ORACLE_HOME/bin/genclntsh ?LD_SELF_CONTAINED="-z defs" Ҏ(gu)Q?LD_SELF_CONTAINED=""
然后q行脚本Q?ORACLE_HOME/bin/genclntsh
retry
ins_ctx.mk错误的解x(chng)法:(x)
edit $ORACLE_HOME/ctx/lib/env_ctx.mk.
add $(LDLIBFLAG)dl into the line INSO_LINK=-L$(CTXLIB) $(LDLIBFLAG)m right at the position.
retry.
Error in setting permissions of file/directory /home/oracle_app/jre/1.1.8/bin/i686/native_threads/.extract_args.
手工扑ֈq从安装 jre 的目录下拯文g .extract_args ?runInstaller 提示文g丢失的地斏V?
For RedHat 9.0:
You will get make errors for oemadmin and a few others. Simply ignore.
其他注意事项Q?br> ?runInstaller 开始配|工hQ?Oracle Net Configuration Assistant" ?x)挂赗简单的解决办法是停止其配置Q重新配|或者(h)l安装,当其他安装结束后Q再来一?#8220;Retry"?
如果在安装中pȝ停止?jin)反应,可能是没有够的交换I间。如果发生这L(fng)事情Q只能等待到pȝ反应为止?
Oracle 的安装还需要运?make {程序,在生产环境中Q你或许没有安装~译器和其他开发工P所以,需要(f)时安装下面的几个包:(x) cpp, egcs, egcs-c++, glibc-devel, kernel-headers ?
如果不能成功安装 9i 而需要重来的话,需要清除下面的文g和目录:(x)
rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall
rm -rf $ORACLE_BASE/*
启动 Oracle 9i 数据?
9i 中已l没?svrmgrl ?jin),所有的理工作都通过 sqlplus 来完成:(x)
dba$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
补丁Q?
http://otn.oracle.com/support/patches.htm: 察看最新的patch set.
metalink.oracle.com: 下蝲patch, 需要csi注册账号Q文件名为p<patch-id>_<oracle_ver>_<platform>.zip