在
Red Hat Linux AS 3.0
上安装
Oracle10.1
1
权限需求
某些时候需要
root
权限,切换用户使用命令
su - user
其中,
user
是需要切换的用户名。
如果不是直接在本机上安装
Oracle
,而通过
VNC
等工具进行远程安装,则需要执行命令
xhost remote_host_name
,
该命令使远程机器能够显示本地
X Server
上的
X
应用程序,其中
remote_host_name
是完全可被识别的远程机器的名字。如果想使所有的远程机器都能够显示本地
X Server
的
X
应用,则需要执行命令
xhost +
。
2
硬件需求
2.1
内存
至少需要
512MB RAM
,使用命令
grep MemTotal /proc/meminfo
查看该信息。
2.2
交换空间
交换空间至少有
1G
,或者是
RAM
的
2
倍。如果交换空间大小不够,可以设置临时的交换空间,执行命令如下:
su - root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
删除临时交换分区,可执行如下命令:
su - root
swapoff tmpswap
rm tmpswap
2.3 /tmp
目录
/tmp
目录的大小至少要有
400M
,使用命令
df -k /tmp
查看。如果可用空间不足,可以通过如下命令创建另外一个新的临时文件夹:
su - root
mkdir /<another_path>/tmp
//
在另一个目录下新建一个
tmp
目录
chown root.root /<another_path>/tmp
//
将新建的
tmp
目录归为
root
使用
chmod 1777 /<another_path>/tmp
//
改变该
tmp
目录的使用权限
export TEMP=/<another_path>
//
由
Oracle
的安装用户使用
export TMPDIR=/<another_path>
删除创建的临时
tmp
目录,可以使用命令:
su - root
rmdir /<another_path>/tmp
unset TEMP
unset TMPDIR
2.4
硬盘空间
安装
Oracle
需要的硬盘空间至少是
1.5G
,但最好大于
3.5G
,可以使用命令
df -k
查看该信息。
3
软件需求
3.1
操作系统
可以使用
Red Hat Enterprise Linux AS/ES 3.0 (Update 2 or later)
,
Red Hat Linux 4.0
等等。
3.2 Kernel
版本
至少是
2.4.21
-15.ELsmp
,可以使用命令
uname -r
查看该信息。
3.3
其它的
RPM
包
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
glibc-devel-2.3.2-95.20
glibc-devel-2.3.2-95.20 (32 bit)
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
gnome-libs-1.4.1.2.90-34.1 (32 bit)
openmotif21-2.1.30-8
setarch-1.3-1
libaio-0.3.96-3
libaio-devel-0.3.96-3
上述包都是
Oracle
官方推荐的,可以通过执行以下命令来确认相关的信息:
rpm -qa | grep xxx
// xxx
是想查找的包的名称(不包括版本号),如
make
如果缺少某些包,则需要先获得它们,然后再通过以下命令进行安装:
rpm -ivh yyy.rpm
// yyy
就是缺少的包的名称(包括版本号),如
make-3.79.1
注意
:如果硬、软件配置足够高,以上步骤完全可以省略。对于软件需求中的相关数据,其实只是
Oracle
官方推荐的,不一定都要达到。在我的安装中,
kernel
版本是
2.4.21
-4.ELsmp
,有些
rpm
的包的版本也没有完全达到要求(但差别很小)。关键要看在安装的过程中,是否会报错。
4
配置
Kernel
参数
执行命令
vi /etc/sysctl.conf
以编辑
sysctl.conf
文件,在该文件的最后面添加如下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
添加了以上内容之后按
Esc
键,再输入
:wq
(保存并退出
vi
)
。最后再执行命令
sysctl -p
使修改后的
sysctl
文件立即生效。这一步也是
Oracle
官方推荐的,目的是为了优化系统性能。
5
创建
Oracle
用户及组
su - root
groupadd dba
//
数据库系统管理员的组
groupadd oinstall
// Oracle
文件所有者的组
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle
//
修改
oracle
用户的密码,输入新命令
6
创建
Oracle
应用程序的目录
su - root
mkdir /opt/oracle
//
创建
Oracle Base
目录
mkdir /opt/oracle/product
mkdir /opt/oracle/product/10.1
//
创建
Oracle Home
目录
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
7
设置
Oracle
环境变量
先后执行命令
su - oracle
和
vi .bash_profile
,在
.bash_profile
文件的最后面添加入以下内容。
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1
# Oracle Environment
export ORACLE_BASE=/opt/oracle
#
该值与第
6
节中创建的
Oracle Base
相同
export ORACLE_HOME=/opt/oracle/product/10.1
#
与第
6
节中创建的
Oracle Home
相同
export ORACLE_SID=orcl
# Oracle
数据库的系统标识符
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
#
设置
Oracle
中相关命令的
PATH
环境变量
export PATH=$PATH:$ORACLE_HOME/bin:/sbin:/tmp/OPatch
最后执行命令
source .bash_profile
,使修改后
.bash_profile
文件立即生效。
8
安装
Oracle10.1
本文使用的安装文件是从
Oracle
官方网站下载的
ship.db.lnx32.cpio.gz
,安装过程中需要执行如下命令。
su - oracle
cd Install_Path
//
ship.db.lnx32.cpio.gz
文件所在的目录
gunizp zxvf ship.db.lnx32.cpio.gz
//
解压该文件,生成
ship_db_lnx32_10103.cpio
文件
cpio -idmv < ship_db_lnx32_10103.cpio
//
生成
Disk1
目录,即
Oracle
安装文件目录
cd Disk1/install
sh runInstaller
//
运行安装程序,将会出现安装向导界面
如果出现字体为乱码的问题,则需要先后执行命令
su - oracle
(如果已经是在
oracle
用户下了,则该命令可不执行)
和
export LC_CTYPE=en_US.UTF-8
(或
export LC_ALL=en_US.UTF-8
),再执行命令
sh runInstaller
就可以出现正常的安装向导界面了。
Oracle
主目录位置与
第6
节创建的
Oracle
安装目录以及
第7
节中在
/etc/sysctl.conf
文件设置的
ORACLE_HOME
的值相同,全局数据库名则与
ORACLE_SID
保持一致。然后点击
“
下一步
”
按钮,
…
,其它的安装过程如果没有进行特别地说明,使用默认设置即可。
在安装的过程中可能出现错误:
Thrown when the IP address of a host cannot be determined
。这是由于安装程序找不到本机的
IP
地址或主机名,此时就需要手动设置
IP
或主机名。本文所遇到的情况是:
hostname
//
显示主机名为
172.20.16.9
cat /etc/hosts
//
显示
hosts
文件的内容,其内容如下所示
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
172.20.16.9 172.20.16.9
vi /etc/hosts
//
不能用
IP
作为主机名,用标准名(如
test
),修改后的内容如下
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
172.20.16.9 test
在安装的过程,会要求以
root
用户身份执行一些命令(一般会有两次),如
/opt/oracle/product/10.1/root.sh
。此时只需要根据提示,再启动一个新的
Terminal
,在其中先后执行命令
su
(如果已经在
root
用户下,可不执行该命令)
和
/opt/oracle/product/10.1/root.sh
(或其它指定的命令)
就可以了。
9
启动
/
关闭
Oracle
服务器
方法
1
:
su - oracle
lsnrctl start
启动监听器时使用
lsnrctl stop
关闭监听器时使用
sqlplus /nolog
SQL > connect / as sysdba
SQL > startup
启动
Oracle
服务器时使用
shutdown immediate
关闭
Oracle
服务器时使用
方法
2
:
su - oracle
lsnrctl start
启动监听器时使用
lsnrctl stop
关闭监听器时使用
dbstart
启动服务器时使用
dbshut
关闭
Oracle
服务器时使用
其实方法
1
是启动
/
关闭
Oracle
服务器,方法
2
是启动
/
关闭系统中的
Oracle
服务。
10
卸载
Oracle
// ORACLE_HOME
与第
7
节中
ORACLE_HOME
的意义相同,如
/opt/oracle/product/10.1
cd ORACLE_HOME/oui/bin
sh runInstaller
执行上述命令后又会出现安装向导界面,但需要选择
Deinstall
按钮。再根据你的需要,指定将要被卸载的组件,或者卸载整个
Oracle
。