redhat下安装oracle

  • A+
所属分类:技术

chatGPT账号

一、添加存储硬盘

一、添加存储硬盘的目的是用来存放数据文件,数据文件和oracle软件必须单独存储,安全起见不能安装在相同的物理磁盘下,数据文件必须存放在独立的存储空间下。

二、新添加的存储,可以创建文件系统也可以是裸设备

三、文件系统或者裸设备要挂载到linux的文件系统中并且是永久挂载

添加磁盘步骤如下:

详细步骤参考之前的添加硬盘章节,具体质量如下:

1、VMmare界面添加硬盘

新添加硬盘后必须重新启动redhat才能在系统中识别新添加的存储

2、对硬盘分区

查看分区情况: fdisk -l

对新存储分区: fdisk /dev/sdf1   对新存储硬盘上创建一个主分区(占用全部硬                        盘空间)

3、创建文件系统:mkfs  -t  ext3  /dev/sdf1

4、永久挂载文件:

vi  /etc/fstab

追加 : /dev/sdf1   /oracle/oradata   ext3   defaults  0  0  文本内容实现                   永久挂载

mount   /oracle/oradata

注:挂载点/oracle/oradata文件夹必须设置属主和用户组到oracle 和oinstall,保证oracle用户所安装的软件对 /oracle/oradata目录有读写权限

本文由 知点 首发于【知点网http://www.zhidnet.com)】

二、安装前的条件检查及安装

  1. 检查内存,至少1G的内存空间

grep MemTotal  /proc/meminfo

 

2.检查交换分区swap的大小,并检查cpu信息

Available RAM            Swap Space Required

Between 1 GB and 2 GB    1.5 times the size of RAM

Between 2 GB and 16 GB    Equal to the size of RAM

More than 16 GB            16 GB

 

检查cpu信息(一般忽略即可):

grep "model name" /proc/cpuinfo

grep SwapTotal /proc/meminfo

 

可以使用更加简洁的指令查看内存和swap空间的大小: free

[root@rhel5 ~]# free

total       used       free     shared    buffers     cached

Mem:       1035140     512924     522216          0      51236     335880

-/+ buffers/cache:     125808     909332

Swap:      1052248          0    1052248

 

`3. 共享内存段至少要大于MEMORY_MAX_TARGET and MEMORY_TARGET

`        注:共享内存段的挂载点为/dev/shm

[root@rhel5 ~]# df -k /dev/shm/

Filesystem           1K-blocks      Used Available Use% Mounted on

tmpfs                   517568         0    517568   0% /dev/shm

 

4、至少1G的 /tmp空间

/tmp是在根目录下 ,确认根目录的可用空间大于1G即可

 

注: df  -h指令的是display filesystems  显示已经挂载到linux系统的文件系统,只显示已经挂载的文件系统

本文由 知点 首发于【知点网http://www.zhidnet.com)】

5、 数据库软件oracle软件和data(数据文件存储)磁盘空间要求

oracle:

Installation Type        Requirement for Software Files (GB)

Enterprise Edition        3.95

Standard Edition         3.88

datafile:

Installation Type        Requirement for Data Files (GB)

Enterprise Edition        1.7

Standard Edition         1.5

 

6、操作系统版本

ianux 2.0

sianux 3.0

racle Enterprise Linux 4.0 Update 7 or later

racle Enterprise Linux 5.0

ed Hat Enterprise Linux 4.0 Update 7 or later

Red Hat Enterprise Linux 5.0

SUSE Linux Enterprise Server 10.0

SUSE Linux Enterprise Server 11.0

For Asianux 3, Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0: 2.6.18 or                        later

 

查看redhat版本信息:

cat /etc/redhat-release

该文件记录了redhat的版本信息

显示内核信息:uname -r

显示详细信息:uname -a

确认linux的版本信息,64位操作系统,可以安装的软件包括 64和32位,如果linux是32位,则只能安装32的oracle软件和应用

查看时什么类型的操作系统平台 : uname -s

 

 

 

7、检查软件包

执行如下脚本检查是否安装了所有的必需软件包

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \

compat-libstdc++ \

elfutils-libelf-devel \

elfutils-libelf-devel-static \

gcc \

gcc-c++ \

glibc \

glibc-common \

glibc-devel \

glibc-headers \

kernel-headers \

ksh \

libaio \

libaio-devel \

libgcc \

libgomp \

libstdc++ \

libstdc++-devel \

make \

sysstat \

unixODBC \

unixODBC-devel \

libXp

 

配置yum源,检查开发包都安装

yum  -y  install  unixODBC-devel libXp

8、创建和用户

/usr/sbin/groupadd -g 1100 oinstall

/usr/sbin/groupadd -g 1200 dba

/usr/sbin/useradd -u 1000 -g oinstall -G dba oracle

 

passwd oracle

设置密码

 

如果oracle用户已经存在

/usr/sbin/usermod -g oinstall -G dba oracle

 

echo oracle | passwd --stdin oracle

9、修改内核参数

 

root用户操作

 

shmmax - 共享内存段的最大字节数,建议设大点,甚至可以大过物理内存的字节数

shmmin - 共享内存段的最小尺寸.

shmmni - 共享内存段的最大数目.

shmseg - 每个进程可分配的最大共享内存段数目.

shmall - 最大的并发共享内存段数目,比SGA还要大.

semmns - 信号灯的最大数量,跟ORACLE的PROCESS数有关.

semmsl - 每个信号灯集合中最多的信号灯数目.

 

vi /etc/sysctl.conf

 

 

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

 

修改后需要执行下面命令,否则修改不生效

sysctl -p

 

 

vi /etc/security/limits.conf

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

本文由 知点 首发于【知点网http://www.zhidnet.com)】

10、修改pam

vi /etc/pam.d/login

 

session required /lib/security/pam_limits.so

session required pam_limits.so

 

11、 修改profile

 

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

12.、上传安装介质

root用户创建存放安装软件的目录

mkdir /oracle/software

chmod 777 /oracle/software

利用ftp工具上传软件,ftp工具连接用oracle用户,上传到/oracle/software目录下

 

传完以后

su - oracle

cd /oracle/software

gunzip *.gz

cpio -idcmv < *.cpio

 

13.、创建目录结构

用root用户操作

mkdir -p /oracle/app/oracle/product/10.2/db_1

chown -R oracle:oinstall /oracle/app

chmod -R 775 /oracle/app

 

14、oracle用户设置环境变量

su - oracle

 

vi .bash_profile

 

export ORACLE_BASE=/oracle/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

本文由 知点 首发于【知点网http://www.zhidnet.com)】

15、以oracle身份登录图形界面安装

测试环境变量是否生效

echo $ORACLE_HOME

如果没有生效,运行cd , 执行 . ./.bash_profile

 

正式安装10.2.0.1版本

./runInstaller -ignoreSysPrereqs

 

看到运行脚本提示窗口,不要点击OK按钮:

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/10.2/root.sh

 

root用户登录终端:

运行脚本

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/10.2/root.sh

 

脚本执行成功后

点击OK,完成安装

 

16、 升级软件

上传10205升级包

解压

unzip p8202632_10205_Linux-x86-64.zip

 

oracle登录图形进行升级

./runInstaller

 

 

会再次检测内核参数,可以根据提示进行调整

vi /etc/sysctl.conf

 

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 101365

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default=1048576

 

 

net.core.rmem_max=1048576

net.core.wmem_default=262144

net.core.wmem_max=262144

 

修改后执行命令使其生效

sysctl -p

 

 

升级到最后运行root.sh

本文由 知点 首发于【知点网http://www.zhidnet.com)】

17、创建数据库

 

数据文件存放路径

存储上映射过来的磁盘

创建独立文件系统

/oradata

chown oracle:oinstall /oradata

 

oracle用户登录图形,执行命令

dbca

 

18、数据库open运行了,可以查看数据库信息

 

 

建库后

su - oracle

sqlplus / as sysdba

select * form v$instance;

select name from v$datafile;

select name from v$tempfile;

select * from v$log;

select * from v$logfile;

本文由 知点 首发于【知点网http://www.zhidnet.com)】未经允许不得以任何方式转载,违者必将追究法律责任。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的电报
  • 这是我的电报扫一扫
  • weinxin
chatGPT账号
知点

发表评论

您必须登录才能发表评论!