ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RedHat Enterprice Linux 5.4 下安装Oracle 10g

RedHat Enterprice Linux 5.4 下安装Oracle 10g

原创 Linux操作系统 作者:myy10146 时间:2011-04-28 11:28:25 0 删除 编辑
安装文档主要来自网络,经过自己亲自检验、修改

<安装Oracle所需的RPM包>

查看缺少那些包:#rpm -q gcc make binutils openmotif

缺少的包可以到RedHat Enterprice Linux 5.4安装程序里面找到

*注意:一些包可能存在依赖关系,这时就要耐心地找出依赖包,一个个地安装

<配置系统参数>

找到文件/etc/sysctl.conf 在文件的末尾添加如下内容:

kernel.shmall = 2097152 # 可以使用的共享内存的总量。
kernel.shmmax = 2147483648 # 最大共享内存段大小。 设置方法:0.5*物理内存
kernel.shmmni = 4096 # 整个系统共享内存段的最大数目。
kernel.sem = 250 32000 100 128 # 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
fs.file-max = 65536 # 系统中所允许的文件句柄最大数目。
net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。
net.core.rmem_default = 1048576 # 套接字接收缓冲区大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144 # 套接字发送缓冲区大小的缺省值
net.core.wmem_max = 262144 # 套接字发送缓冲区大小的最大值

运行以下命令使得内核参数生效:

#/sbin/sysctl -p

<修改limits.conf文件参数> (/etc/security/limits.conf)

在文件末尾添加如下内容:

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

<修改login文件>(/etc/pam.d/login)

在文件末尾加上如下内容:

session required /lib/security/pam_limits.so

<关闭selinux>(/etc/selinux/config)

把secure linux设成无效:

SELINUX=disabled

<修改hosts文件>(/etc/hosts)

 加上如下内容:(可参考127.0.0.1那条配置)

你的ip地址  主机名 localhost  (例如:192.168.1.2  computer localhost)

(删除127.0.0.1那条,*注意删掉后,会衍生一个问题,就是xstart连不上,需要用到xstart时可以手动加回去就行了)

<修改系统版本>(/etc/redhat-release)

将RedHat Enterprise Linux Server release 5.4 (Tikanga) 中5.4 该为4(安装成功后再改为5.4)

<新增组和用户>

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

<创建安装目录并授权给oracle用户>

mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01

<修改.bash_profile文件> (这个文件是在你创建的oracle用户的根目录下)

在文件末尾加入如下内容(根据数据库实际安排修改):
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$PATH:$ORACLE_HOME/bin; export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

*这里不得不提醒的是上面那段程序,语法特别的恶心,[ ]这种符号左右两边都得有空格

<为安装文件授权>

将安装文件解压到/tmp目录下,并授使用权

#chmod -R 775 /tmp/database

<开始安装Oracle 10g>

在root用户下打开一个终端执行以下操作:

#xhost + (不必理会出现的提示信息)

再开一个终端并切换oracle用户,执行如下操作:

#su oracle

$export LANG=en_US (这里要注意了,不设置用英文显示,安装界面会出现乱码或有些文字看不到)

$cd /tmp/database

$./runInstaller

安装过程(略...)

注意:安装到最后处理sqlplus时,系统会要求用root账户执行两个脚本,这时可以在刚才的第一个终端(root)上按提示找到要执行的脚本然后执行后继续操作

数据库安装成功......!


<启动监听>

在oracle用户下找到/u01/app/oracle/product/10.2.0/db_1/bin

执行./lsnrctl service(可以查看当前监听器服务情况)

执行./lsnrctl start(启动监听)

执行./lsnrctl stop(停止监听)

<启动数据库>

用oracle账户登录系统,执行如下命令:

$sqlplus /nolog

SQL>connect /as sysdba

Connected to an idle instance

SQL>startup    启动数据库(启动成功,就可以松一口气了)

SQL>shutdown 关闭数据库

<启动EM>

默认情况下,安装Oracle时,会安装EM,它是位于数据库服务器上的HTTP服务器

启动EM,要确保OracleDBConsole服务已经启动

启动服务:emctl start dbconsole

关闭服务:emctl stop dbconsole

访问EM:http://服务器名(或IP):端口(5500或1158)/em

端口号可在$ORACLE_HOME/install/protlist.ini中找到.



到oracle官方网站下载:instantclient-basic-win32-11.2.0.1.0.zip 并解压到E盘

打开解压的文件夹instantclient_11_2,新建目录network,在network下面再建子目录admin

把oracle配置文件tnsnames.ora(最好是到oracle主目录中拷贝,免得出错)放入admin文件夹中(即目录结构为:E:\instantclient_11_2\network \admin\tnsnames.ora),修改tnsnames.ora文件,将HOST一项改成oracle所在服务器的IP地址

启动PL/SQL developer之后,打开tools下的preferences对话框,在connection项里面把

Oracle Home设置成E:\instantclient_11_2

OCI Library设置成E:\instantclient_11_2\oci.dll

重新启动PL/SQL developer就可以连接了(*如果连接不成功,可能是服务器的防火墙没有开放1521端口,开放该端口,再重试)

<本地oracle客户端远程连接oracle 10g配置>

假设在window下安装了oracle 10g

在目录...\oracle\product\10.1.0\db_2\NETWORK\ADMIN下找到tnsnames.ora文件

将host值改为你要访问的远程数据库所在服务器ip, ok!记住登录的时候带上实例名,即username:用户名@实例名

TEST=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = TEST)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

 

<一个中文乱码问题>

假设我们在上面数据库安装过程中选择了AL32UTF8字符编码,但装完数据库之后有可能还是会出现中文乱码,可以这样处理:

修改文件(/home/oracle/.bash_profile)加入:

export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

解决了!

如果我们在window下用plsql使用该数据库仍然出现乱码,可以添加一个环境变量:

NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK


<补充:远程安装>

假设我们在window下要远程安装oracle 10g,建议用x-manager:

1、启动xstart以root用户连接远程服务器

2、启动xshell以oracle用户登陆到远程服务器

          $export DISPLAY=192.168.1.104:0.0  (这里的ip是x-manager所在机器的ip)

          $export LANG=en_US

          $cd /tmp/database

          $./runInstaller

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24966341/viewspace-693986/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-12

  • 博文量
    11
  • 访问量
    55216