天天看点

oracle学习笔记 oracle软件安装准备工作 第三部分 预安装

oracle学习笔记

oracle软件安装准备工作 

第三部分 预安装

****

一、打开官方文档

官方文档都是英文版,oracle官网和甲骨论都有下载。

我下载的10g官方文档编号为B19306_01,整个文档都是以网页方式提供的,使用ie的脱机浏览方式可以打开文档。

老师用的也是这个编号,但是打开后界面不一样,我使用的文档首页非常混乱。

不知道是文档的版本不同还是浏览器版本的事,感觉是老师用的那个好看也好用。

用了一段时间使用后,发现其实内容没有改变。

经过摸索,将ie浏览器升级到版本10,首页才显得有条理了。

在文档中找到

Installation Guides部分

其中点击

Database Installation Guide for Linux x86

打开新页面找到

2Preinstallation Tasks 点击进入

从此开始一步步按文档说明进行安装工作。

按文档安装完成肯定没错,不再详述了。

捡老师讲的重点提一下。

****

二、硬件需求

1)实际生产中

在物理内存小于4G时 swap空间为物理内存的两倍。

大于4G时,swap空间等于物理内存就行。

swap空间是分配到硬盘上的扩展的虚拟内存,在物理内存空间不够用时,

转移一些暂时没用的内存数据到swap,增大可用物理内存的大小。

当需要时,再把数据转移回物理内存,继续运算。

/tmp空间在实际安装时强烈建议独立的做成一个文件系统,并且至少在10G以上。

2)学习环境

虚拟机物理内存1G,cpu一颗或两颗都可,硬盘30g

SWAP空间是物理内存的两倍。

/tmp作为/的一个目录就可以

/设为25-30G

作系统分区时分两个区 swap 2G 剩下的给/

****

三、软件、操作系统需求

linux安装时要将开发工具都装上。

系统安装好后系统软件包可以在

应用程序--系统设置--添加/删除应用程序

中进行安装。

里面的开发工具最好都选上。以免以后开发需要时再装。

system中系统工具也要全装上。

oracle实际生产中使用的都是企业版

企业版有很多选项,在标准版没有。如RAC、分区表。

操作系统需求

oracle10G官方认证最好装在Red Hat Enterprise Linux 4.0上

查看内核版本指令:

[[email protected] ~]# uname -r

2.6.9-78.ELsmp

****

四、安装所需软件包

在官方文档中列出了需要提前安装的软件包

在这里我也将它列出来:

Database Installation Guide for Linux x86

向导中列出了

Red Hat Enterprise Linux 4.0 and Asianux 2.0:

需要的包:

binutils-2.15.92.0.2-13.EL4

compat-db-4.1.25-9

compat-libstdc++-296-2.96-132.7.2

control-center-2.8.0-12

gcc-3.4.3-22.1.EL4

gcc-c++-3.4.3-22.1.EL44

glibc-2.3.4-2.9

glibc-common-2.3.4-2.9

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-22.1

libstdc++-devel-3.4.3-22.1

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

setarch-1.6-1

Database Installation Guide for Linux x86-64

向导中列出了

Red Hat Enterprise Linux 4.0:

需要的包:

binutils-2.15.92.0.2-10.EL4

compat-db-4.1.25-9

control-center-2.8.0-12

gcc-3.4.3-9.EL4

gcc-c++-3.4.3-9.EL4

glibc-2.3.4-2

glibc-common-2.3.4-2

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-9.EL4

libstdc++-devel-3.4.3-9.EL4

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

oracle版本、操作系统类型、操作系统版本有一样不同所需要安装的软件包就会有区别。

查询某个包是否安装的命令为:

rpm -qa|grep 包名

把包后面的版本号去掉,只要版本号达到了最低要求,版本不一样也可以用。

如:

[[email protected] ~]# rpm -qa|grep binutils

binutils-2.15.92.0.2-25

结果为已安装包的全名。有结果说明已经安装。

可以这样一个包一个包的查询,一共没几个包,不用着急。

也可以所有包一起查询:

rpm -q 所有需要包名去掉版本号

如:

[[email protected] ~]# rpm -q binutils compat-db compat-libstdc control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver setarch

binutils-2.15.92.0.2-25

compat-db-4.1.25-9

並未安裝套件 compat-libstdc

control-center-2.8.0-12.rhel4.5

gcc-3.4.6-10

gcc-c++-3.4.6-10

glibc-2.3.4-2.41

glibc-common-2.3.4-2.41

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.6-10

libstdc++-devel-3.4.6-10

make-3.80-7.EL4

pdksh-5.2.14-30.6

sysstat-5.0.5-19.el4

xscreensaver-4.18-5.rhel4.14

setarch-1.6-1

出现了一个

並未安裝套件 compat-libstdc

其它包都正常。

不要急,再用

[[email protected] ~]# rpm -qa|grep compat-libstdc

compat-libstdc++-33-3.2.3-47.3

compat-libstdc++-296-2.96-132.7.2

compat-libstdc包实际上已经安装,使用rpm查询时经常会出现这种情况,不用理会。

若rpm -qa|grep 包名

后没有结果即无此包,就需要手动安装了。

如用刚才一起查询时

並未安裝套件 compat-libstdc 为例

redhat4系统中加载系统安装光盘

进入光盘的RedHat/RPMS目录下可以找到它的rpm安装包。

compat-libstdc++-296-2.96-132.7.2.i386.rpm

安装指令:

[[email protected] RPMS]# rpm -ivh compat-libstdc++-296-2.96-132.7.2.i386.rpm

警告:compat-libstdc++-296-2.96-132.7.2.i386.rpm: V3 DSA 簽章:NOKEY, key ID db42a60e

準備中...                ########################################### [100%]

        已經安裝 compat-libstdc++-296-2.96-132.7.2 套件

提示已经安装过了。

如果没有安装过,会进行安装。

****

五、网络设置

1、ip地址

使用(系统设置)中的(网络)修改ip

或手动修改文件

[[email protected] /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

在文件中添加ip,在安装linux时若已设置,这里就已经有了。

编辑后

[[email protected] /]# service network restart

重启一下网络服务,使修改生效。

2、hosts文件

将文件中127.0.0.1行中自己起的主机名去掉。添加一行和自设ip对应的主机名。

[[email protected] /]# vi /etc/hosts

设置好后为

127.0.0.1               localhost.localdomain localhost

192.168.3.47            redhat4

设置好后,我碰到了一个麻烦,就是在系统关闭,重新启动阶段,在启动到sendmail服务时卡在那里好几分钟

原因就是hosts文件 127.0.0.1行没有了自己设置的主机名radhat4。

解决办法:

因为此机用作oracle服务器,不使用sendmail服务,把这个服务关了算了。

指令:

chkconfig --level 2345 sendmail off

这样开机时就不启动sendmail服务了。开机变得顺畅。

****

六、创建组和用户

[[email protected] ~]# groupadd oinstall

[[email protected] ~]# groupadd dba

[[email protected] ~]# useradd -g oinstall -G dba oracle

[[email protected] ~]# passwd oracle

Changing password for user oracle.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

这里密码设置是oracle

因为强度太小,要求你换密码,学习时为了输入方便,不用理会

再次输入一次密码oracle,

系统还是接受了。

****

七、配置内核参数

我们要在linux平台上安装oracle软件,

因为oracle是一个非常庞大的软件,

它对linux资源需求非常大,

所以说我们需要将linux一些内核参数调大。

这样linux平台上就可以承载运行一个比较大的软件,就是oracle。

oracle是一个对资源需求很大的软件,linux默认的一些参数不支持,或者是支持不了,我们需要打开。

操作系统类型、版本不同需要的参数会有区别。

oracle的版本不同,也会有区别,如11g的对某些参数的需求就比10g大,64位要比32位需求要大。

为了方便和个人不太喜欢使用64位的软件,我学习用的虚拟机和oracle都是32位的,和老师讲的会有些区别,这里就只记下自己的参数了。

1、内核参数

[[email protected] ~]# vi /etc/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

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

因为kernel.shmmax要求是物理内存的一半,

我使用虚拟机内存为1G,所以我把它改成了

kernel.shmmax = 600483648

具体参数的意义,以后的课程中老师会讲到 。

[[email protected] ~]# sysctl -p

查询当前的内核参数。

2、limits参数

设置

oracle用户可以运行的进程的最大数量

oracle用户可以打开的文件的最大数量

[[email protected] ~]# vi /etc/security/limits.conf

将:

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

添加到文件尾部。

[[email protected] ~]# vi /etc/pam.d/login

添加:

session    required     /lib/security/pam_limits.so

session    required     pam_limits.so

到文件尾部。

我们使用的是bash所以

[[email protected] ~]# vi /etc/profile

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi

fi

添加到文件尾部。

****

八、创建目录

我们建立标准的目录

[[email protected] ~]# mkdir /u01/app/oracle -p

改变u01目录所属用户和组:

[[email protected] ~]# chown -R oracle:oinstall /u01

改变u01目录权限:

[[email protected] ~]# chmod -R 755 /u01

这样oracle用户就可以对u01目录任意操作了。

****

九、设置环境变量

[[email protected] ~]# su - oracle

[[email protected] ~]$ vi .bash_profile

添加

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export ORACLE_SID=jiagulun

export NLS_LANG=american_america.zhs16gbk

到文件尾。

american_america.zhs16gbk

的意思是平时对oracle维护时用的是英文,但是数据库字符集是中文国标。

重新登陆一下oracle用,使环境变量生效。

[[email protected] ~]$ exit

[[email protected] ~]# su - oracle

[[email protected] ~]$

****

十、使oracle安装程序运行。

1、先用oracle用户登录,将oracle软件安装包上传到服务器上。

可以使用上传工具

将windows中文件传输到linux中的工具:

网络上传工具 SSHSecureShellClient

在windows中安装后使用它的

SSH Secure File Transfer Client组件

可以在本地机和远程机之间传输文件。

打开组件 点击 Quick Connect

Host Name 填写远程机ip

User Name 使用远程机linux中的用户

port 22 默认

点击connect按钮后,提示输入用户的密码,确定。

默认左边窗口是本地机文件,右边是远程机文件,拖拽就可实现文件传输。

也可以使用 vmware虚拟网络中主机共享文件夹方式,在windows和linux之间传输文件。

在一个机子中建立共享文件夹,其它机子通过网上邻居访问共享的文件。

上面上传时使用的是oracle用户上传后的文件默认属于oracle用户,在执行时,就不用改安装文件的权限了。

若在root用户下上传的,oracle默认无法执行里面的安装文件。还要手动修改这个包的权限和属性。

2、使用xmanager安装

首先在root用户下执行:

[[email protected] oracle]# w

 13:47:48 up 24 min,  3 users,  load average: 0.01, 0.12, 0.15

USER     TTY      FROM              [email protected]   IDLE   JCPU   PCPU WHAT

oracle   192.168. 192.168.3.1      13:25    0.00s  0.00s  0.17s /usr/bin/gnome-session

oracle   pts/1    192.168.3.1:0.0  13:43    0.00s  0.00s  0.55s gnome-terminal

root     :0       -                13:27   ?xdm?   1:01   0.11s /usr/bin/gnome-session

[[email protected] oracle]# xhost +

access control disabled, clients can connect from any host

[[email protected] oracle]# export DISPLAY=192.168.3.1:0.0

w命令也用于显示登录到系统的用户情况

xhost + 这个命令将允许别的用户启动的图形程序将图形显示在当前屏幕上.

DISPLAY用来设置将图形显示到何处.

DISPLAY 环境变量格式如下hostname: displaynumber.screennumber

其实这三个命令不执行,在我配置的环境下安装oracle,也能正常进行。

然后切换oracle用户

[[email protected] oracle]# su - oracle

[[email protected] ~]$

执行上传目录中的runInstaller

如果是root用户身份上传的会提示

[[email protected] database]$ ./runInstaller

-bash: ./runInstaller: 权限不够

这是要修改整个上传目录的所有者和权限。

[[email protected] database]# chown -R oracle:oinstall /tmp/database

[[email protected] database]# chmod -R 755 /tmp/database

然后返回再用oracle用户进行安装,安装程序才能启动。

我有次上传时没有改变包名:

包名较长为:oracle database  10.2.0.1  for linux 32bit

进入目录安装出现:

[[email protected] tmp]$ cd oracle\ database\ \ 10.2.0.1\ \ for\ linux\ 32bit/

[[email protected] oracle database  10.2.0.1  for linux 32bit]$ cd database

[[email protected] database]$ ./runInstaller

./runInstaller: line 50: [: too many arguments

./runInstaller: line 54: /tmp/oracle: 没有那个文件或目录

是因为包名太长并且包含空格字符,linux系统不认此目录名。

需要改名。

[[email protected] tmp]$ mv oracle\ database\ \ 10.2.0.1\ \ for\ linux\ 32bit oracletmp

然后进入安装文件目录

[[email protected] tmp]$ cd oracletmp

[[email protected] oracletmp]$ ls

database

[[email protected] oracletmp]$ cd database

[[email protected] database]$ ls

doc  install  response  runInstaller  stage  welcome.html

运行安装文件:

[[email protected] database]$ ./runInstaller

成功。

****

十一、安装界面

Oracle Database 10g 安装界面弹出后

不止一种安装方法,通过选不同的选项,可按自己的要求安装。

这里按老师讲课内容进行:

首页选高级安装

因为已在系统设置了环境变量,后面步骤中的很多选项自动填上了。

选择安装类型时选定制

可用产品组件除了默认的外选上 iSQL*Plus 10.2.0.1.0

顺利进入:产品特定的先决条件检查

如果前面的硬件分配、所需软件包安装、网络设置、组和用户创建、内核参数、环境变量等

都是按老师的要求进行的这里每项检查状态都会显示成功,整体结果会报告通过。

如果某个条件不符合要求,这个先决条件检查会失败,状态显示警告。

这时点下一步,会有警告:在安装时可能会出错。

仍可继续,后面过程可能会出错,出错时就不能继续安装了。当然也有可能不出错,要看是什么条件检查失败了。

自己可以选中警告前的复选框,表示用户已验证,就是安装者自己觉得可以。这时后面仍可能出错,安装不成功。

当有警告时,最好的办法是记住警告内容,退出安装程序,重新修改和设置不符合条件的内容,达到要求后,再次运行安装程序。

这节课就讲到这里,在向下的具体安装,老师选择在下一课讲。