在大型应用系统中,通常使用Oracle 这样的重量级数据库来作为信息系统的后
台数据管理和存储系统
1、配置Linux 内核参数:
(1)配置系统在启动时内核所必须的参数:
修改内核配置文件[root@lii ~]# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmnikernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
(2)在 /etc/security/limits.conf 文件内添加下面的行(对文件进行限制)
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
(3)在命令提示符下运行:
[root@lii ~]# sysctl -p
2、编辑vi /etc/pam.d/login文件 ,添加下行
session required /lib/security/pam_limits.so
vi /etc/selinux/config
SELINUX=disabled
或则用setenforce 0命令生效
3、安装开发包:
(1)安装开发所需的RPM 包,先查看有没有安装,没有安装的都安装好:
rpm -qa|grep compat-db
rpm -qa|grep control-center
rpm -qa|grep libstdc++
rpm -qa|grep libstdc++-devel
rpm -qa|grep binutils
rpm -qa|grep setarch-
rpm -qa|grep make-
rpm -qa|grep glibc-
rpm -qa|grep libaio-
rpm -qa|grep compat-libstdc++-
rpm -qa|grep compat-gcc-34-
rpm -qa|grep compat-gcc-34-c++-
rpm -qa|grep gcc-
rpm -qa|grep libXp-
rpm -qa|grep openmotif-
rpm -qa|grep compat-db-
4、创建oracle 用户组和必须的目录:
(1)添加用户组:
[root@lii ~]# groupadd dba
[root@lii ~]# groupadd oinstall
(2)添加oracle 用户,并设置密码:
[root@lii ~]#useradd -g oinstall -G dba oracle
[root@lii ~]#passwd oracle
(3)创建安装目录:
创建oracle 软件的安装目录:
[root@lii ~]# mkdir -p /oracle/product/10.2.0
[root@lii ~]# chown -R oracle.oinstall /oracle
5、编辑/etc/redhat-release ,oracle不能再redhat 5以上的版本安装:
vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga) 被 redhat-4 替换
登陆oracle 建立相应的环境变量
su - oracle
6、编辑相对于oracle用户的环境变量
vi ~/.bash_profile
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:$PATH; export PATH
ORACLE_OWNER=oracle; export ORACLE_OWNER
ORACLE_SID=node2; export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib; export CLASSPATH
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
export LANG=AMRICAN
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export DISPLAY=:0.0
使修改的配置文件生效
[root@lii ~]# source /home/oracle/.bash_profile
开始安装
7、设置显示位置
利用root用户 #
xhost + (去掉针对于host显示源的限制)
切换到oracle 用户身份,并开始安装:
通过ftp或者其他的上传软件把oracle包上传到服务器上,建立一个目录用于存放oracle包。
Mkdir /orac
解压软件包
[root@lii ~]# unzip 10201_database_linux32.zip
把解压出来的目录给与oracle用户和oinstall组的权限
[root@lii ~]# chown oracle.oinstall database/
切换到oracle用户安装oracle
[root@lii ~]# su - oracle
[root@lii database]# ./runInstaller
(1)选择安装方式:如果选择“Basic Installation”,很多操作由系统自动完成。要下
想了解更详细的安装过程和详细控制Oracle 的安装,必须要选择“Advanced Instakkation”。如下图 所示,选择“Advanced Instakkation”后点击“next”继续安装。
(2)指定产品清单的存放位置(将用于卸载和添加组件)和安装用户组,如下图
所示,然后点击“next”继续。
(3)选择安装类型:如下图 所示,在安装类型中选择企业版,然后点击“Next”继续。
(4)指定主目录:指定Oracle 数据库的主目录名称和路径,如下图所示,
然后点击“Next”继续。
(5)验证安装条件:如果有天条件不符合要求,检查后再验证,直到出现0 个
要求待验证为止,如下图 所示。然后点击“Next”继续。
点击“next”的时候会出现一个警告的对话框,这个不用理他点击“yes”继续:
(6)选择配置选项:如果选择“创建数据库”,则安装过程会提示我们创建一
个随服务启动自动启动的数据库(也可以安装完成后创建);如果选择“配置自动存
储管理”,则在安装过程中就创建和配置自动存储管理(AMS);如果选择仅安装数
据库软件,则在安装时不会创建数据库,安装完成后使用dbca 工具来创建数据库。
在本案例中,在安装时创建数据库,并且用文件系统来存储数据。如图7-23 所示,
选择“Create a database”,然后点击“Next”继续。
(7)选择数据库模板:数据库模板实际上是存储了数据库配置信息一些XML
文件,我们选择不同的模板,dbca 向导就会根据其配置文件来创建数据库。如果该
模板包含数据库文件,则在创建时不需要调用其它脚本来生成数据库文件;如果不
包含数据文件,在创建时会调用脚本来生成数据文件,熟度比较慢。当然,我们也
可以创建自己的数据库模板。在选择模板时,主要是要根据您创建的数据库德用途
来选择模板。如下图所示,选择“一般用途”的模板,然后点击“Next”继续。
(8)选择数据库选项:选择数据库的标识名称。
Oracle 数据库由全局数据库名唯一标识。全局数据库名是将数据库与任何其它
数据库唯一标识出来的数据库全称。全局数据库名的格式如下:
.
例如,下面是一个典型的全局数据库名: sales.koorka.com 数据库名部分 (在
本例中为 zhang) 是数据库的简单名称。数据库域部分 (在本例中为vfast.com)
指定数据库所在的域。可能的话,Oracle 建议将您的数据库域镜像到网络域。
全局数据库名的数据库名部分不能超过 8 个字符,并且只能包含字母数字字
符。 全局数据库名的域部分不能超过 128 个字符,并且只能包含字母数字字符和
句点 (.) 字符。
系统标识符 (SID) 标识 Oracle 数据库软件的特定实例。对于任何数据库,都
至少有一个引用数据库的实例。SID 可以是未被此计算机上其它实例使用的任何名
称。
如图7-25 所示,分别输入数据库的全局名称和SID,然后点击“Next”继续。
(9)指定数据库管理选项:
Oracle 数据库的管理可以使用三种方法:
① 使用PL/SQL 语言直接进行管理。
② 使用Oracle Enterprise Manager(企业管理器,很多地方简称OEM)来独立
管理每台计算机上的Oracle 实例。
③ 使用OEM 将所有计算机上的Oracle 集中进行管理。
Oracle Enterprise Manager 为管理各个数据库实例提供了基于 Web 的管理工
具,为管理您的整个 Oracle 环境 (包括多个数据库、主机、应用程序服务器和网
络的其它组件) 提供了集中管理工具。 使用数据库管理的网格控制 运行 Database
Configuration Assistant 时,Assistant 将查看主机是否安装了 Oracle Management
Agent。如果 Assistant 找到 Oracle Management Agent,请选择“网格控制”选项,
并从下拉列表中选择一个 Oracle Management Service。Oracle 数据库安装完毕后,
将自动作为 Oracle Enterprise Manager Grid Control 中的受管目标。 从单独的
CD-ROM ( 包含在 Oracle 数据库 CD-ROM 包中) 中安装 Oracle Enterprise
Manager Grid Control 及其相关组件。 有关集中管理数据库、应用程序服务器、主
机和您网络的其它组件的详细信息,请参阅 Oracle Enterprise Manager Concepts。
如果您需要使用图形界面的OEM 来管理Oracle 数据库,在使用dbca 创建数据
库时,请选择“使用Enterprise Manager 配置数据库”,由于在本案例中,没有安装
网格控制(Grid Control),因此只能使用Database Control 进行本地管理,如图7-26
所示。选择后点击“Next”继续。
(10)选择数据库的存储机制:
Oracle 数据库可以存储在文件系统上、ASM 系统中和裸设备上。其中,ASM 是
10g 的新性,它具有裸设备的高性能,具有文件系统的易管理性。因此,大多数项
目中推荐使用ASM 系统来存储Oracle 数据库的数据。本案例中,我们选择文件系
统来存储Oracle 数据库的数据,同时指定其存储目录为/oracle/oradata 目录。如下图所示:
(11)自动恢复选项:在项目中,推荐使用自动恢复功能,同时,需要准备2GB
以上的自动恢复数据存储区域。在本案例中,由于磁盘空间有限,我们选择了“不
启用自动备份”,如下图所示,点击“Next”继续。
(12)指定数据库管理员的密码:
推荐为不同的管理用户设置不同的密码,注意这里密码首字符需时 字母 。如下图所示:
(13)在概要中查看磁盘空间是否够用,并且查看是否自己需要的组件都已选择,如下图 所示。确认后点击“install”按钮开始安装数据库,
安装数据库是一个和漫长的过程慢慢等待.如下图:
(14)安装程序在创建数据库之后,会提示我们相关的信息,如下图 所示。如果没有
问题,点击“确定”即可。
(15)修改权限和设置系统环境变量:在安装结束后,系统会提示用户执行两
个脚本来改变系统的一些设置,如下图 所示。
根据提示,分别执行两个,脚本程序,下面是执行脚本后的输出:
[root@lii~ ]# /oracle/oraInventory/orainstRoot.sh
Changing permissions of /oracle/oraInventory to 770.
Changing groupname of /oracle/oraInventory to oinstall.
The execution of the script is complete
[root@lii ~]# /oracle/product/10.2.0/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /oracle/product/10.2.0
Enter the full pathname of the local bin directory: [/usr/local/bin]: 这里回车下去就行了
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
完成后点击“Ok”退出。
(16)完成后点击“Exit”,结束安装。如下图 所示
8、设置系统启动时自动启动的实例:
实例被查创建之后,编辑 /etc/oratab 文件, 设置每个实例的 restart flag 为 'Y',以便系统启动时自动启动该实例:
test:/oracle/product/10.2.0:Y
9、使用netca 工具来配置oracle 的网络服务:
[oracle@lii ~]$ netca
10、创建一个启动脚本,用来启动Oracle:
(1)创建一个文件 /etc/init.d/oracle,该文件包含下面的内容:
#!/bin/sh
# description: Oracle auto start-stop script.
# chkconfig: - 20 80
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/oracle/product/10.2.0
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
echo "Start Oracle Successful!"
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
echo "Shudown Oracle Successful!"
;;
esac
(2)将其权限修改为 750:
chmod 750 /etc/init.d/oracle
(3)在其它Linux 发行版本中,可以使用下面的方法来使系统在系统启动时自动启动Oracle
数据库:
ln -s /etc/init.d/oracle /etc/rc0.d/K10oracle
ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle
(4)在RedHat Linux 中,可以使用下面的方法来设置系统进入运行级别2、3 和5 时自动启动
oracle 服务:
chkconfig --level 235 oracle on
(5) 如果不能正常启动oracle 服务器,则复制一个初始化文件:
cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/initzhang.ora.72020051264
$ORACLE_HOME/dbs/initzhang.ora
本文出自 51CTO.COM技术博客