一、准备工作
◆1.下载oracle 9i for linux
◆2.下载补丁
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
(解压出来的名称是rhel3_pre_install.sh)
◆3.修改内核参数 (不用到rman的话这里就不用做了,要是用的话就得设置了)
echo "kernel.sem=\"250 32000 100 128\"" >> /etc/sysctl.conf
echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf
设置内核参数
查看内核参数的值 cat sem或者more sem
echo 100 32000 100 100 > /proc/sys/kernel/sem
/* 其中, 100 是参数SEMMSL的值,
32000是参数SEMMNS的值,
100是参数SEMOPM的值,
而100则是参数SEMMNI的值。
echo 02653184 > /proc/sys/kernel/shmmax
/*设置共享内存大小,共享内存一般为物理内存的一半(318M RAM)
echo 4294967295 > /proc/sys/kernel/shmmax
/*设置共享内存大小,共享内存一般为物理内存的一半(512MB 4294967295)
根据内存大小而定。
第一条命令中的 250、32000、100、128 分别
对应SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数。
上面是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.
◆4.检查设置
more /etc/sysctl.conf | grep kernel.s
kernel.sysrq = 0
kernel.shmmax=2147483648
kernel.sem="250 32000 100 128"
◆5.检查安装所需的rpm包是否齐全
<其实安装linux AS 3 U8 的时候选择全部安装,以下这些就默认安装上的,可以略过.>
确认以下rpm包都已经安装(如果你安装时选择了全部安装,那么基本上下面所列的包都已经安装了,
如果没有安装,大部分在第三张光盘上,安装时注意一下顺序)
# rpm -qa | grep compat
compat-gcc-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
# rpm -qa | grep openmotif
openmotif-2.2.2-16
openmotif-devel-2.2.2-16
# rpm -qa | grep setarch
setarch-1.3-1[/quote:db788a2c24]
◆6.把gcc,g++更换为2.96的版本。----linux as 3下这步不用做,这里作为参考
[quote:db788a2c24]# mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
◆7.设置用户及环境变量、安装目标路径
a.增加用户和组
groupadd dba # 创建数据库管理员组
groupadd oinstall # 创建oracle文件的所有组
useradd -g oinstall -G dba oracle #创建oracle用户
passwd oracle #设置oracle用户的密码
b.创建安装目标路径(这个自己定义了,一般我都是根目录下建立,好找)
mkdir /opt/oracle
mkdir /opt/oracle/product
mkdir /opt/oracle/product/9.2.0
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
c.设置环境变量
su - oracle
vi .bash_profile加入下面的内容
export LD_ASSUME_KERNEL=2.4.1 #这个参数必须指定,否则Java安装界面无法启动,
这个参数实际上是为了避免Linux上的NPTL(Native POSIX Thread Library)和Oracle应用不兼容的问题.
# Oracle Environment
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
然后执行
$ source .bash_profe #让配置文件生效
◆8.设置swap和临时文件夹
<我这里的配置都够,所以这步就没做,其实现在Pc的配置都可以,这步也可以忽略不设置,直接到9步>
oracle对内存和swap要求比较高,Oracle 建议 Oracle 9i 服务器至少需要 512M 内存,
两倍内存或不少于 400M 的交换 (swap) 空间。如果你没有足够的交换空间或内存,
在数据库创建过程中,你的 Oracle 服务器将变得非常迟钝。
内存只有256M,512M的swap,新增了1000M的swap。
su root
dd if=/dev/zero of=tmpswap bs=100M count=10
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
另外,oracle的安装至少需要400M的/tmp临时空间。
如果你/tmp下的空间不够,可以可以临时在另一个文件系统中建立一个/tmp 目录。
su root
mkdir //tmp
chown root.root //tmp
chmod 1777 //tmp
export TEMP=/ # used by Oracle
export TMPDIR=/ # used by Linux programs
当安装完 Oracle 之后,关闭 Oracle 并删除临时目录:
su root
rmdir //tmp
unset TEMP
unset TMPDIR
Oracle 磁盘空间 (Sizing Oracle Disk Space)
仅安装数据库软件,大约需要2.5G 的磁盘空间。
如果执行一个标准的数据库安装而不是自定义安装,则大约需要3.5G空间。
◆9.解包安装文件。<这个用户自己定义,只要以oracle用户建立的文件夹就成>
把下载的文件拷贝到/tmp中。以oracle那个用户身份来解压,如果用root解压,解压后的权限都是root. 以后管理是个麻烦.
a.解压
gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz
b.解包
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
会生成Disk1,Disk2,Disk3三个文件夹, 好了,准备工作告一段落。
二、安装数据库软件,不建库.......
◆1.打第一个补丁。
运行runInstaller之前,需要打补丁3006854: 注意,必须以root身份运行.
# unzip p3006854_9204_LINUX.zip
会在当前目录下创建一个目录,进入到该目录中
# cd 3006854
#chmod +x *.sh
# ./rhel3_pre_install.sh
◆2.运行runinstall
1)su - oracle
2)/tmp/Disk1/runInstaller
(进入到Disk1的文件夹中再执行./runInstaller,也可以)
3) 过一会儿就会出现Oracle的安装界面
(如果安装界面为乱码 请输入:
export LC_ALL=en_US <这个不做也可以>
export LANG=en_US
再执行 ./runinstaller )
4) 点击“Next”进行下一步
5) 选择默认,点击“OK”继续
6) 输入组名“输入oinstall,或者是Dba都可以”,点击“Next”进行下一步
7) 按照提示,另开一个终端,以root用户执行/tmp/orainstRoot.sh命令
8) 等命令瞬间执行完毕后,点击“Continue”进行下一步
9) 选择默认,点击“Next”继续
10) “Loading product”后,进入下一步的安装界面
11) 选择“Oracle9i Database 9.2.0.4.0”并选择“Product Languages”进行语言的设置
12) 选择支持国语的“Simplified Chinese”、“Traditional Chinese”,点击“OK”
13) 这里选择“Enterprise Edition(2.56GB)”进行安装,点击“Next”
14) 等候安装进程的执行,进入下一个安装界面
15) 选择“Software Only”,以后我们可以用dbca工具来建库(一般是先只安装software only)
16) 点击“Install”,来开始安装数据库了
17) 安装等候“link pending……”,继续
18) 经过漫长的等待,就终于见到了期待已久的界面
19) 按照提示,按ctrl+shift+n新开一个终端窗口,以root用户在终端执行/opt/oracle/product/9.2.0/root.sh。
20) 执行语句后,回车,使用默认的路径,一定要等待语句执行完毕后,才返回安装界面,点击“OK”
21) 到了这个画面,证明数据库安装成功了,可以松一口气了。
22) 点击“Exit”退出界面,后会跳出OEM的画面。
◆3.升级
解包:
unzip p4547809_92080_LINUX.zip -d /oarcle/9208
(建立这个文件夹放到有oracle权限的文件夹就行,用完删除就行)
现在可以再次运行./runInstaller, 选择第二个选择,升级到9208.
然后还会提示你用root身份来执行一个/opt中的一个脚本,你同样开一个终端,用root身份来执行就可以了。
这个地方有一个问题需要注意,如果直接用oracle身份解压可能提示权限不够,
用root身份解压,然后用oracle身份来执行还会提示你权限不够,
你用root解压然后执行
chmod 777 解压出来的那个文件名,
然后su - oracle
/tmp/Opatch/opatch apply
就ok了。
好了,大功告成了!
运行dbca命令来创建数据库。
三、清扫战场及实验
◆1.删除临时文件(这些临时文件将近3G)
cd /tmp
rm -rf * (强制删除文件夹以及包含的文件)
◆2.如果没有改GCC版本的话,可跳过,否则改回gcc,g++的版本,否则在以后编译安装其他软件时可能会有问题
# mv /usr/bin/gcc323 /usr/bin/gcc
# mv /usr/bin/g++323 /usr/bin/g++[/quote:db788a2c24]
◆3.连接一下数据库,检查一下自己的劳动成果吧!
su - oracle
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
四. 创建数据库:
1) 修改dbca内部参数
在执行dbca这个工具时,界面都可以正常的进行下去,但是到了最后建库的时候,在命令行出现很多异常错误。参考网上相关文档,判断为Oracle使用本身自带java造成的问题。在http://java.sun.com/下载了jdk进行安装,下载的文件为:
j2sdk-1_4_2_17-linux-i586-rpm.bin;将其复制到oracle权限的目录下,执行命令:
./j2sdk-1_4_2_17-linux-i586-rpm.bin, 按照提示输入YES,解压生成文件:j2sdk-1_4_2_17-linux-i586-rpm.RPM
再执行安装rpm包命令:rpm –ivh j2sdk-1_4_2_17-linux-i586-rpm.rpm,安装生成的jdk路径在/usr/java/j2sdk1.4.2_17下。
修改$ORACLE_HOME/bin下面的dbca文件,
命令vi dbca,按照下面的修改,结果可以成功建库。
:将原改JRE_DIR=/opt/oracle/product/9.2.0/JRE为 JRE_DIR=/usr/java/j2sdk1.4.2_08/jre
:将
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
else
改为
$JRE_DIR/bin/java -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
else
:将
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
fi
改为
$JRE_DIR/bin/java -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
fi
后保存就可以了。
2) 以oracle用户在终端执行dbca,就可以建立数据库了,呵呵!
3) 等待一下,弹出dbca的欢迎界面:
4) 点击“Next”进行下一步:
5) 选择“Create a database”来创建数据库,点击“Next”,继续:
6) 选择“New Database”,点击“Next”来创建新的数据库:
7) 输入数据库的全局名称和SID名称,完成后点击“Next”继续:
8) 默认选择,点击“Next”继续:
9) 这里同样也是默认选择,点击“Next”继续:
10) 设定Oracle9iR2数据库初始参数,初始参数设定的优劣直接影响数据库的执行性能,这里你也可以选择“Archive”标签,把数据库设成为“存档模式”:
11) 选择“Character Sets”进行数据库字符集设定,点击“Next”前往下一步:
12) 直接点击“Next”进行下一步:
13) 你可以钩选“Save as a Database Template”和“Generate Databse Creation Scripts”,然后点击“Browse”按钮将DBCA所做的设定储存为一个新数据库模版和创建数据库时的脚本保存到一个目录下,以便将来建立数据库时可以直接使用。然后点击“Finish”继续。
14) “数据库配置助理”最后会将所有配置设定值整理出一张清单,按下“OK”后就会开始创建数据库。
15) 要有耐心的等待特别漫长的一段时间后就会进入数据库建库完成的阶段:
16) 出现上面的窗口时就大功告成了!请您自行指定SYS与SYSTEM这两个系统管理员的密码。设定完毕后按下“OK”,就会完成安装。
17) 好不容易将Oracle9i数据库系统安装完毕,接着来检验一下,在终端输入
ps -ef|grep ora_|grep -v grep 命令来确认Oracle9i数据库的后台进程已经正常启动。
备注:
◆1.其实很想在linux as 4 下安装的,但是oracle 9i不是很支持linux 4 ,所以安装的时候,出现很多链接错误,虽然看过很多教程,严格按照教程做都不可以,实在没办法,只好降级linux系统,再来安装9i,安装很顺利.
◆2.配套的linux as 3.0,安装完后必须配置显卡,不然不能登陆x-windows,安装时不配置显卡,安装后得用如下命令重新配置显卡才可以登陆:
在紅帽企业Linux 3,在命令行输入:
redhat-config-xfree86 --reconfig
1)如果您不能启动x window系统,只看到黑屏,那可能需要输入[CTL]+[ALT]+[F1] 进入到命令行。
2)以root用户登录,执行init 3。这里将停止当前在XFree86上运行的所有程序。
3)然后运行redhat-config-xfree86 --reconfig。这将会启动一个小版本的XFree86,将允许你从新配置显卡和显示器。如果你拿不准,就使用默认配置。你以后都可以使用同样的步骤重新配置。
4)完成配置之后,点击OK。
5)最后,在命令行下,输入init 5,XFree86将正常启动。
◆3.如果发现oracle 命令 rman 不能使用,请在命令行查看 whereis rman 就可以看到linux也有命令是rman,所以得修改下.bash_profile.
将
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 的$ORACLE_HOME/bin放到前面,
成为PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
◆4.创建数据库时可能出现的问题
以ORACLE用户键入:
dbca
现象一:
ORA-12705:invalid or unknown NLS parameter value specified
解决办法: 编辑/home/oracle/.bash_profile文件,
把export NLS_LANG=AMERICAN_AMERICAN.ZHS16GBK改为:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK保存即可
现象二:ORA-27123:unable to attach to shared memory segment(内核问题)
解决办法:输入最大的共享内存,以root用户键入:
echo 4294967295 > /proc/sys/kernel/shmmax
现象三:
ORA-00988:missing or invalid password(s)
解决办法:输入sys 密码和system密码时,第一个输入的不能是数字