John Jiang

a cup of Java, cheers!
https://github.com/johnshajiang/blog

   :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  131 随笔 :: 1 文章 :: 530 评论 :: 0 Trackbacks

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
posted on 2006-08-11 17:06 John Jiang 阅读(6628) 评论(0)  编辑  收藏 所属分类: LinuxDatabaseOracle原创

只有注册用户登录后才能发表评论。


网站导航: