在Linux9安装Oracle数据库系统在网上有很多相关的帖子,由于各位同仁的努力及小弟不辞劳苦得上网查询,使得安装工作还算顺利。现就本人的安装过程进行一个记录,以供大家指正。
安装Oracle9i之前必须先安装成功Linux9,我用的是Red Hat Linux9。为了Oracle能在Linux中运行效率更高,建议在安装Linux时采用以下分区配制:/boot分区=物理内存、SWAP分区≥2*物理内存、根分区≥20G。另外,最好使Linux采用中文字符集。
1、 启动Linux9到图形界面下,用root登录。进行Oracle9的安装前配制。打开/etc/sysctl.conf 文件,将下列数据写入到sysctl.conf的末尾并保存:
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
注:kernel.shmmax的设置大小至少为物理内存的2倍(计算方法:1024*1024*RAM(M)*2)。若想查看是否设置成功,可以进入目录/proc/sys/kernel,分别用命令:
#cat shmmax
#cat shmmni
#cat shmall
#cat sem
查看 kernel.shmmax 、kernel.shmmni、kernel.shmall的数值是否为设置的值。#cat sem命令查看kernel.sem的数值。其中, 250 是参数SEMMSL的值,32000是参数SEMMNS的值, 100是参数SEMOPM的值,而128则是参数SEMMNI的值。
2、打开/etc/security/limits.conf文件,将下列数据添加到 limits.conf的末尾并保存:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
注:当对/etc/sysctl.conf 文件和/etc/security/limits.conf文件修改并保存完毕后,请重新启动(reboot)redhat Linux9系统,这样设置的这些参数才能生效。
3、重新启动计算机,以root用户登录,输入如下命令:
#groupadd dba
#groupadd oinstall
#useradd –g oinstall –G dba oracle
#passwd oracle
设置Oracle用户的密码
4、运行以下命令:
#mkdir /opt/oracle9i
#mkdir /opt/oracle9i/product
#mkdir /opt/oracle9i/product/9.2.0
#chown –R oracle.oinstall /opt/oracle9i
#mkdir /var/opt/oracle9i
#chown oracle.dba /var/opt/oracle9i
#chmod 755 /var/opt/oracle9i
5、注销系统,重新以Oracle用户登录,打开编辑/home/oracle/.bash_profile文件,在文件末尾添加如下数据行并保存:
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/opt/oracle9i
export ORACLE_HOME=/opt/oracle9i/product/9.2.0
export ORACLE_SID= ORCL (数据库SID,可以修改,建议字母要大写,此处汉字应删除,否则会出错)
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LANG=en_US
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
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
6、注销oracle用户,以root用户登录,创建/setup目录,分别将三个oracle9i安装包拷到此目录下(名称分别为:lnx_920_disk1.cpio.gz 大小为527 MB (553,607,967 字节)、
(下载地址:http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz)
lnx_920_disk2.cpio.gz 大小为561 MB (588,799,187 字节)、 lnx_920_disk3.cpio.gz 大小为421 MB)
7、进入到/setup目录,对这3个文件进行解压缩,操作命令如下:
#cd /setup
#gunzip lnx_920_disk1.cpio.gz
#gunzip lnx_920_disk1.cpio.gz
#gunzip lnx_920_disk1.cpio.gz
解压完成之后,在/setup目录下生成三个如下名字的文件:ship_9204_linux_disk1.cpio、 ship_9204_linux_disk2.cpio、ship_9204_linux_disk3.cpio
8、再执行如下命令:
#cpio -idmv < ship_9204_linux_disk1.cpio
#cpio -idmv < ship_9204_linux_disk2.cpio
#cpio -idmv < ship_9204_linux_disk3.cpio
等三个文件包全部解压完毕后,生成3个安装文件夹,名称分别为Disk1、Disk2、Disk3的文件夹。
9、注销退出root用户,以oracle用户重新登录,执行如下命令:
#cd /setup/Disk1
#unset LANG (注:若安装时出现乱码,才使用此命令)
#./runInstaller
稍候,即可弹出安装程序图形界面。前几步保持默认设置,单击Next即可,当遇到输入“Unix Group Name”的时候,输入组名“dba”,点击“下一步”。此时,会生成一个orainstRoot.sh文件,并弹出一个提示框。再开启一个新的终端窗口,进入提示框指示的目录下,输入命令:
#su root
#(提示输入密码,进入root用户)
#./orainstRoot.sh
执行完毕后,回到提示框单击“Continue”按钮,继续以下安装。
10、当遇到“全局数据库名和SID”时,输入“全局数据库名”(即数据库名)。单击“Next”
11、
在“Database character set”窗口中选择字符集为“WE8ISO8859P1”。完成后单击“Next”。
注:此处一但设置,则在客户端计算机上必须将注册表的HOME0键下NLS_LANG属性设置为“SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1”。才可以在客户端显示汉字。
13、当安装Link 运行到100%时会弹出对话框“Setup Privileges”。重开一个终端,以root用户进入对话框显示的路径,输入以下命令:#./root.sh。运行后提示输入目录,填写“/opt/oracle9i/product/9.2.0/bin”后回车确认
14、安装成功后,用客户端连接,若成功,表示安装成功。
注:以上安装步骤,在实际安装过程中若没有出现说明的,则采用默认设置即可。
15、接下来即可建库。在oracle用户下输入命令#dbca,弹出建库对话框。(若对话窗口为乱码,请先输入命令#unset LANG以屏蔽当前字符集)
16、前几步采用默认设置,在Database Template窗口里选择“General Purpose”,单击下一步,在“Global Database Name”后输入数据库名,在“Initialization Parameters”窗口下选择“Character sets”选项卡,选择“choose from the list of character sets”单选框,设置字符集为“ZHS16MACCGB231280”,单击下一步,最后“Finish”即可弹出创建数据库的进程窗口。
17、在创建完数据库后,会显示输入“sys”和“system”密码对话框,此时输入它们的密码之后单击“Exit”,即可将库创建完毕。
18、以oracle用户登录,启动Oracle 9i监听程序,
说明:Oracle的监听程序主要是为客户端的连接提供接口的。
――――――――――――――――――――――――――――――
[oracle@Linux oracle]$ lsnrctl
LSNRCTL> start
另外:LSNRCTL> stop(关闭监听)
19、开启数据库:
[oracle@Linux oracle]$ sqlplus "/as sysdba"
SQL>connect sys/*******@###### as sysdba (连接数据库,*表示sys密码,#表示要连接的数据库名)
SQL> startup
另外:SQL> shutdown (关闭数据库)
在完成了数据库的安装与创建之后,我在Windows客户端下看见汉字无法正常显示,也许是因为服务端字符集与客户端字符集冲突造成的,解决的办法很简单,只需要在注册表[HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0]键下将NLS_LANG键的值修改为SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1即可正常存储和显示汉字。