为了自由,幸福而不断奋斗,前行!!!

一笑看风云过....

博客园 首页 新随笔 联系 订阅 管理

本文介绍了Linux下Oracle最简单的安装方式(图形界面安装),适合初学者。

 

第一章 首先要知道Oracle适合哪些Linux?我们采用CentOS 4,因为它等同于RHEL4

clip_image002

安装Linux

安装CentOS4非常简单不详细说了。记得要设置下交换分区 。

注意关闭防火墙,免得麻烦。

clip_image004

安装包(以下两个是必须的)

clip_image006

clip_image008

把Oracle安装包传到linux服务器

可以用SecureCRT自带的Z-Modem搞定!(sz or rz)

clip_image010


第二章 预安装工作

打开安装文档《Oracle Database Installation Guide 10g Release 2 (10.2) for Linux x86.pdf》,来到第2章

clip_image012

Ø 以root用户登录

Ø 硬件要求至少1024MB内存,Linux要有交换分区(物理内存的1-2倍)。

clip_image014

Ø 检查必需包

clip_image016

用以下命令来查询,发现第一个包已经装了。

clip_image018

若发现没有装的包, 如sysstat:

clip_image020

从CentOS安装光盘上去找过来用“rpm -ivh”安装:

clip_image022

后面会发现libaio.xx.xxx.rpm也是必须的,在这里装上。

所有软件包检查完毕,进入下一步。

Ø 创建用户和组

clip_image024

clip_image026

查看是否存在Oracle用户,没有新建个

clip_image028

我们一般在根目录下建立个u01目录,然后再建个名为oracle的目录(约定俗成,当然你可以建立其他的名称的目录)。然后建立oracle用户,用户目录为/u01/oracle,主组为oinstall,副组为dba和oper。

clip_image030

设个密码先

clip_image032

默认情况下,u01以及子目录都归root所有,我们要把权限改为oracle用户所有,-R是递归的意思。chown –R oracle:oinstall /u01

clip_image034

查看下,没问题!可以自由出入了。

clip_image036

检查nobody用户是否存在,应该要存在的。

clip_image038

Ø 配置内核参数

1. 打开/etc/sysctl.conf文件,添加如下内容:(vi编辑器直接可以用p命令粘贴)

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

2. 打开/etc/security/limits.conf文件,添加如下内容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

3. 打开/etc/pam.d/login,添加如下内容:

session required /lib/security/pam_limits.so

session required pam_limits.so

4.若用的是非CShell,如BShell等,添加如下内容到/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

 

Ø 配置oarcle用户环境变量

clip_image040

ORACLE_BASE=/u01/oracle

ORACLE_SID=数据库的SID 这里是wilson,待会儿创建数据库的时候,SID要统一。

export ORACLE_BASE ORACLE_SID

unsetenv ORACLE_HOM

unsetenv TNS_ADMIN

退出!要是配置文件生效的话,先退出oracle用户在进入即可。当然也可以用 . ~/bash_profile命令来执行配置文件。

检验下是否已经生效?

clip_image042

重启下Linux,使内核参数生效!


第三章,安装工作正式开始!

clip_image044

Ø 解压缩Oracle安装包,我们解压到 /u01中。

clip_image046

解压后改变下database目录属性,把所有权交给oracle用户

clip_image048

Ø 进入X界面,运行runInstaller,安装

clip_image050

clip_image052

选择高级安装,都按默认的吧,然后会发现libaio包还是被检测出来有问题,不管了,版本高就行了。OracleHome为/u01/oracle/product/10.2.0/db_1

clip_image054

Yes!安装!只安装软件,数据库

clip_image056

Ø 最后的用户环境设置

开始的时候没有Oracle_home和Tns_name两个环境变量

clip_image058

先设置ORACLE_HOME,记得要Export下,然后重新登录。

clip_image060

clip_image062

第四章,创建一个数据库.

Ø 运行dbca命令打开图形界面,开始创建数据库

Linux中启动( oralce 10g) dbca时,
# su - oracle
$ dbca
提示Xlib:connection to ":0.0" refused by server
Xlib: No protocol specified
执行:
#xhost local:oracle
再运行$ dbca
若重启系统后,要运行dbca,需要再次允许 #xhost local:oracle 。

clip_image064

Global Database Name是唯一表示一个数据库的,而SID是一个数据库的引用,名字可以和GDN不同,多个SID可以引用同一个数据库。

clip_image066

clip_image068

字符集要正确!

clip_image070

开始创建数据库,等待中…

clip_image072

Ø 配置网络,执行netca启动配置程序

clip_image074

clip_image076

 clip_image078

 clip_image080

检查下防火墙是否阻挡。setup命令。

clip_image082

配置host,可以用server的IP或者在/etc/hosts中修改主机名对应的IP

clip_image084

命令:vi /etc/hosts

clip_image086

然后再启动listener,命令lsnrctl start

clip_image088

 

客户端配置

我们切换到XP下来进行客户端配置。当然前提你是已经在XP下安装过客户端了。

注意不是配置监听程序,我们配置第三个,本地net服务,用来连接Oracle服务器。

 

clip_image090

clip_image092

接下来可以测试下。若不成功的话改下用户名密码,检查下server的listener状态。Lsnrctl status。

一些lsnrctl下的命令,此处的“listener”是监听器的名字。

clip_image094

clip_image096

 

SID: 系统标识符,可以理解为你所连接的一个数据库实例的名称。数据库实例标示,也就是数据库实例的名称,在控制面板-管理工具-服务,打开这个文件,你可以看到一个OracleServicexxx,其中 "xxx ",就是你的数据库实例的名称也就是sid.

TNS:Transparence  Network   Substrate,透明网络底层。一般是用它提供的监听服务.数据连接字符串,代表一个数据库的连接,配置好你的数据网络连接,就会有一个这样的串。这个串可以在你的oracle安装根目录\ora92\network\admin\tnsnames.sql里面找到,你要可以在你的oracle安装目录下查找这个文件,

orac   =

    (DESCRIPTION   =

        (ADDRESS_LIST   =

            (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   cyl)(PORT   =   1521))

        )

        (CONNECT_DATA   =

            (SERVER   =   DEDICATED)

            (SERVICE_NAME   =   D7i)

        )

    )

上面的 "orac ",就是你要的tns,你可以自己复制重写一个tns,把HOST指向你的数据库服务器IP, SERVICE_NAME  =你的数据库sid

一些命令:

clip_image098

posted on 2011-05-18 11:05  YAO'STAR  阅读(920)  评论(0编辑  收藏  举报