在linux下安装oracle是一件令前雹人生畏的事情 其复杂程度远远超过安装linux *** 作系统本身 如果能够进行成功的安装oracle 那么同时也就顺便掌握了linux一些技术 本文介绍在redhat linux 下安装oracle g 的方法 在这里说明一 Oracle g的g是grid 的缩孙悔销写 意为网格 目前较为前沿的网络计算技术
Oracle g 对软硬件的要求都非常的高 所以要玩转的话的花不少银子 首先来看看它对硬件的要求:内存 兆(建议 G) cpu 主频 G以上 硬盘转速 转以上(建议使用scsi硬盘) 依此条件 我看买台服务器才行 其次是软件要求:在oracle 官方的文档里 对于x 系列支持的 *** 作系统只有 种(radhat ES/AS (x ) redhat ES/AS (x ) unitedlinux (x ) ) 如果只有redhat 也是可以安装的 不过要麻烦一点点 当然oracle g需要更多的软件模块才能进行安装 这些软件模块我将在后面逐一说明 在本例中 使用RedHat ES (x )作为 *** 作平台 并且安装了xwindow
接下来 我们检查是否符合oracle g 的安装要求 以表格的形式列出 首先是硬件情况 以root登录系统 并且启动x window 如果用下表命令输出的值大于或等于建议值 请检查项目 命令/方法 建议值
内存 #grep MemTotal /proc/meminfo MB
交换分区 #grep SwapTotal /proc/meminfo GB
则游 /tmp目录空闲区 #df –k /tmp MB
硬盘空闲空间 #df k GB
继续往下 检查软件需求 对redhat ES (x ) 需要如下的软件包:
&# Gnu gcc package gcc or 更高
下面的包也必须被安装:
·make ·binutils ·openmotif ·setarch ·pat db ·pat gcc ·pat gcc c++ ·pat libstdc++ ·pat libstdc++ devel
为了保证系统满足需求 执行下面的步骤检查安装的linux版本和安装的套件
检查项目 命令/方法 建议值
Linux 版本 #cat /etc/issue ES
已安装的包 #rpm q package_name 安装所需包(上表所列)
到这里我们已经全面的检查了安装oracle g所要求的软硬件环境 接着我们就要为安装创建组和用户
下面的组和用户必须存在
The oinstall group (the oracle inventory group) The dba group (the OSDBA group) The oracle user (the oracle owner)
如果上面的组和用户不存在 用下面的步骤创建它们
( )先查看这些组和用户是否存在:
#grep oinstall /etc/group
#grep dba /etc/group
( )创建安装oracle 所需的组和用户
#groupadd oinstall
#groupadd dba
#useradd –g oinstall –G dba oracle
检查一下oracle 是否属于组 oinstall 和 dba (#id oracle) 再给oracle 设置一个用户口令 #passwd oracle 输入两次密码
创建安装所需的目录 /u /app/oracle (the oracle base directory) /u /oradata (an optional default directory ) 用下表的命令形式创建它 然后改变它的目录权限
创建目录 更改权限
#mkdir –p /u /app/oracle #chown –R oracle:Oinstall /u /app/oracle /u /oradata
#mkdir –p /u /oradata #chmod –R /u /app/oracle /u /oradata
配置内核参数 下表是oracle 推荐的内核参数值 请参考
Parameter Value File semmsl semmns semopm semmni /proc/sys/kernel/sem shmall /proc/sys/kernel/shmall shmmax Half the size of physical memory /proc/sys/kernel/shmmax shmmni /proc/sys/kernel/shmmni file max /proc/sys/fs/file max ip_local_port_range /proc/sys/net/ipv /ip_local_port_range
确保当前的参数值大于或等于上表所列 那么怎样查看这些参数值呢?用命令 #/ *** in/sysctl –a | grep <参数名>例如查看semmsl 用 #/ *** in/sysctl a | grep sem 余下的与此类似 逐个察看这些参数值 如果参数值不满足要求 就需要修改它们 请完成下面这些步骤
a 用文本编辑器 创建或者编辑/etc/nf文件 添加或修改如下的行
kernel shmall = kernel shmmax = kernel shmmni = kernel sem = fs file max = net ipv ip_local_port_range =
b 改变当前内核参数的值 用命令 #/ *** in/sysctl –p 来实现
为了提高在linux系统上运行软件的性能 必须对oracle用户设置下列shell 限定
Shell Limit Item in nf Hard Limit Maximum number of open file descriptors nofile Maximum number of processes available to a single user nproc
现在创建这些限定:
加入下面的行到文件/etc/security/nf
* soft nproc * hard nproc * soft nofile * hard nofile
加入下面的行到文件/etc/pam d/login 假如它不存在的话
session required /lib/security/pam_limits so
根据oracle 用户的默认shell 对默认 shell start up文件作如下改变 如果是Bourne Bash or Korn shell 修改环境变量/etc/profile文件如下:
if [ $USER = oracle ]then if [ $SHELL = /bin/ksh ]then ulimit p ulimit n else ulimit u n fi fi 如果是c shell 则环境变量文件 /etc/csh login的修改值如下: if ( $USER == oracle ) then limit maxproc limit descriptors endif
接下来挂接光盘 #mount /dev/cdrom /mnt/cdrom
以oracle 用户名登录系统 配置oracle 用户的环境 以oracle 帐号用安装器来安装oracle 但是开始运行安装器之前 还得设定oracle用户的环境变量 因此必须:
●设置shell startup文件的umask 为
●设置DISPLAY ORACLE_BASE and ORACLE_SID 的环境变量 下面这些步骤是对这些环境变量进行设置的方法:
开启一个终端会话
确认xwindow 能正常显示 #xhost +
改变用户为oracle $ su – oracle
检查oracle用户的默认shell $echo $SHELL
用文本编辑器修改oracle用户的环境变量
●bash shell on redhat
$vi bash_profile
●c shell
%vi login
把下面的行插入上面编辑的文件中
umask
保存文件并退出
运行shell开始脚本:
●Bash shell on Red Hat $ / profile
●C shell % source / login
设置环境变量
●Bash shell
$ ORACLE_BASE=/u /app/oracle
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID
●c shell
% setenv ORACLE_BASE /u /app/oracle
% setenv ORACLE_SID sales
确认ORACLE_HOME and TNS_ADMIN 的环境变量不被用户设置
●Bash shell
$ unset ORACLE_HOME
$ unset TNS_ADMIN
●c shell
% unsetenv ORACLE_HOME
% unsetenv TNS_ADMIN
再检验一下上面设定的环境变量是否正确
$ umask
$ env | more
lishixinzhi/Article/program/Oracle/201311/17635RedHat AS4下安装oracle 10g 系统要求: 1、物理内存:512M 2、交换空间2G 3、禁用secure Linux 一、下载软件 Oracle Database 10g Release 2 (10.2.0.1) Software下载位置: http://otn.oracle.com/software/produ...10g/index.html 解压软件 1.解压命令:unzip 10201_database_linux32.zip 2.为了安装和以后使用方便,可以把database目录的内容做成iso光盘映象文件. 3.安装裤码闹的时候用mount命令的 -o loop参数挂载在/mnt/cdrom目录下面,执行安装。 二、参数修改 2、修改host文件 在/etc/hosts文件中添加一个全限定域名,如: 127.0.0.1 linuxas linuxas.domain.com linuxas 3、设置核心参数 1、在/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=262144 net.core.rmem_max=262144 net.core.wmem_default=262144 net.core.wmem_max=262144 2、运行下列命令改变核心参数: /sbin/sysctl -p 3、在/etc/security/limits.conf文件中加入下列行: * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 4、在/etc/pam.d/login文件中加入模销下列行: session required /lib/security/pam_limits.so 5、通过编辑/etc/selinux/config 文件禁用secure linux,确认其中的SELINUX标记如下:SELINUX=disabled。 也可以通过GUI工具(Applications >System Settings >Security Level),选择SELinux禁用该属性。 这个选项在安装系统的时候,如果一经设置就不需要修改。 6、检查下列包是否安装,若未安装则要先安装: # From RedHat AS4 Disk 2 setarch-1.6-1.i386.rpm compat-libstdc++-33-3.2.3-47.3.i386.rpm make-3.80-5.i386.rpm glibc-2.3.4-2.i386.rpm # From RedHat AS4 Disk 3 openmotif-2.2.3-6.RHEL4.2.i386.rpm compat-db-4.1.25-9.i386.rpm libaio-0.3.102-1.i386.rpm gcc-3.4.3-9.EL4.i386.rpm # From RedHat AS4 Disk 4 compat-gcc-32-3.2.3-47.3.i386.rpm compat-gcc-32-c++-3.2.3-47.3.i386.rpm 你可以使用rpm命令查看系统中是否已经安装上述软件包 例如你想查看所有以compat开头的软件包,可以执行命令:rpm -qa|grep compat 三、胡罩创建下列组和用户 groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba oracle passwd oracle 3.创建安装oracle的目录 mkdir -p /u01/app/oracle/product/10.2.0/db_1 mkdir -p /u02/oradata chown -R oracle.oinstall /u01 /u02/oradata 说明:/u01/app/oracle/product/10.2.0/db_1目录是用于放置程序文件的位置。 /u02/oradata目录用于放置数据库文件的位置,在安装的时候一定要确认安装的位置正确。 四、设置oracle用户的环境变量 用oracle登录把下列行加在.bash_profile文件末尾,注意把其中ORACLE_SID换成自己的实例名: # Oracle Settings TMP=/tmpexport TMP TMPDIR=$TMPexport TMPDIR ORACLE_BASE=/u01/app/oracleexport ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORACLE_HOME ORACLE_SID=TESTexport ORACLE_SID ORACLE_TERM=xtermexport ORACLE_TERM PATH=/usr/sbin:$PATHexport PATH PATH=$ORACLE_HOME/bin:$PATHexport PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexport CLASSPATH #LD_ASSUME_KERNEL=2.4.1export LD_ASSUME_KERNEL if [ $USER = "oracle" ]then if [ $SHELL = "/bin/ksh" ]then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 五、安装 用mount -o loop /.../oracle10.2.0.iso /mnt/cdrom/ 命令挂载光盘映象文件到光驱 运行:/mnt/cdrom/runInstaller 在安装过程中输入合适的ORACLE_HOME和实例名。 例如: ORACLE_HOME(oracle主目录):/u01/app/oracle/product/10.2.0/db_1 实例名:test 数据文件位置:/u02/oradata 完成后的画面中会有管理端入口地址和sqlplus入口地址。 安装后配置 修改oratab文件,在/etc/oratab文件中添加下面的一行, TEST:/u01/app/oracle/product/10.2.0/db_1:Y 六、配置: 安装完成后,第一次启动是没有问题的,但是,重启动计算机后,你必需通过手工或者脚本启动数据库。 1、手工启动数据库:以oracle用户执行dbstart,这个命令在我安装完成后,出现错误,我就把这个脚本修改了一下, 利用文本编辑器打开dbstart, 把78行的 ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle换成你自己的路径。 ORACLE_HOME_LISTNER=/u01/app/oracle/product/10.2.0/db_1/ 关闭数据库用dbshut就可以了。 如果你需要使用isqlplus管理数据库,就要启动isqlplus,运行命令:isqlplusctl start | stop 要使用基于web的企业管理器,就要运行命令:emctl start | stop dbconsole1、验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小带隐 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的1到2倍。
Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:
df -h
例如:
# df -h
FilesystemSize Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
该示例表明,/tmp 目录没有自己的文件系统。(对本指南而言,它是根文件系统的一部分。)根文件系统可用空间为 5.2 GB,除了满足安装 (2.5 + 1.2 + 0.4 = 4.1GB) 外还小有富余。
创建 Oracle 组和用户帐户
接下来,创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
设置 oracle 帐户的口令:
passwd oracle
例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
2、创建目录
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参蠢扰厅阅 针对 UNIX 系李拆统的 Oracle 数据库 10g 安装指南 的附录 D。
以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。
以 root 用户身份执行以下命令:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata
3、配置 Linux 内核参数
Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
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
如果您按照以上说明安装了 Linux,且内核参数全部采用默认值,则只需在以 root 用户身份登录后执行下命令。
cat >>/etc/sysctl.conf <<EOF
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
EOF
/sbin/sysctl -p
例如:
# cat >>/etc/sysctl.conf <<EOF
>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
>EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
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
以 root 用户身份运行以下命令来验证您的设置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 25032000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:
/sbin/sysctl -p
对于 SLES 8,在完成以上步骤后运行以下命令。
4、oracle 用户的环境变量
要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,将 ORACLE_BASE 添加到登录配置文件:
ORACLE_BASE=/u01/app/oracleexport ORACLE_BASE
或在 .login (csh) 中添加以下行:
setenv ORACLE_BASE /u01/app/oracle
5、安装 Oracle
可以从 OTN 下载 Oracle 数据库 10g。Oracle 提供了一个免费的开发和测试许可。但不提供支持,且该许可不允许用于生产目的。OTN 提供了完整的许可协议。
要使 Oracle 10g 发行套件介质可以在服务器上使用,最简单的方法是将其直接下载到服务器。
使用图形登录以 oracle 身份登录。
创建一个目录以存放 Oracle 10g 发行套件:
mkdir 10g_db
要从 OTN 下载 Oracle 数据库 10g,请将浏览器(Mozilla 比较好用)指向这个链接。填写 Eligibility Export Restrictions 页面,并阅读 OTN 许可协议。如果您接受限制和许可协议,则单击 I Accept。
单击 ship.db.cpio.gz 链接,并将该文件保存在为此目的创建的目录 (10g_db) 中 — 如果尚未登录到 OTN,则此时可能提示您登录。
解压缩此文件:
cd 10g_db
gunzip ship.db.cpio.gz
cpio -idmv <ship.db.cpio
安装软件
使用 oracle 帐户登录。
指定数据库名称 (ORACLE_SID)。该名称通常不多于五个字符。对此安装使用 demo1。
设置环境变量:
Borne shell 和 Korn shell
ORACLE_BASE=/u01/app/oracleexport ORACLE_BASE
ORACLE_SID=demo1export ORACLE_SID
C shell
setenv ORACLE_BASE /u01/app/oracle
setenv ORACLE_SID demo1
将目录更改为 Oracle 10g 软件解压缩到的位置。
例如:
$ cd $HOME/10g_db
将目录更改为 Disk1。
例如:
$ cd Disk1
启动 Oracle 通用安装程序。
$ ./runInstaller
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)