怎么在linux下安装oracle数据库

怎么在linux下安装oracle数据库,第1张

在linux下安装oracle数据库步骤:

1、下载oracle安装文件

一、检查必要条件

1.1、检查内存及交换分区

Oracle要求2GB以上的内存

#查看内存大小

grep MemTotal /proc/meminfo

#查看交换区大小

grep SwapTotal /proc/meminfo

#也可以使用下面的命令查看内存大小

free -m1234567

交换分区要求

内存大小

交换分区要求

1GB~2GB内存的1.5倍

2GB~16GB和内存大小相等

大于16GB16GB

1.2、确认 *** 作系统位数

[root@FSWWOA /]# uname -m

x86_6412

x86_64:表示用的是Intel的处理器,并且 *** 作系统是64位的

i386:表示是32位

1.3、检查硬盘空间

#查看临时目录空间

[root@FSWWOA /]# df -h /tmp

#查看硬盘总空间

[root@FSWWOA /]# df -h1234

Oracle安装是要求/tmp目录要有至少1GB的空间。

以下是Oracle各个版本安装是所需的空间

版本

所需空间

Enterprise Edition(企业版)4.7GB

Standard Edition(标准版)4.6GB

二、安装必要软件

首先需要检查系统版本,然后从Oracle官方文档中找到对应的Linux版本。

[root@FSWWOA /]# cat /proc/version

Linux version 2.6.32-71.el6.x86_64 (root@CentOS6064.localdomain) (gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #1 SMP Wed Feb 29 15:21:16 CST 201212

Oracle官方文档中对应的版本如下

On Red Hat Enterprise Linux 6

2.6.32-71.el6.x86_64 or later

然后根据Linux版本找到其必要安装的软件,如下

The following or later version of packages for Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4 must be installed:

binutils-2.20.51.0.2-5.11.el6 (x86_64)

compat-libcap1-1.10-1 (x86_64)

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

compat-libstdc++-33-3.2.3-69.el6.i686

gcc-4.4.4-13.el6 (x86_64)

gcc-c++-4.4.4-13.el6 (x86_64)

glibc-2.12-1.7.el6 (i686)

glibc-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6.i686

ksh

libgcc-4.4.4-13.el6 (i686)

libgcc-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6.i686

libstdc++-devel-4.4.4-13.el6 (x86_64)

libstdc++-devel-4.4.4-13.el6.i686

libaio-0.3.107-10.el6 (x86_64)

libaio-0.3.107-10.el6.i686

libaio-devel-0.3.107-10.el6 (x86_64)

libaio-devel-0.3.107-10.el6.i686

make-3.81-19.el6

sysstat-9.0.4-11.el6 (x86_64)1234567891011121314151617181920212223

检查系统是否安装以上的软件,如果没有安装则安装这些软件

yum install -y binutils.x86_64 binutils-devel.x86_64

yum install -y compat-libcap1.x86_64

yum install -y compat-libstdc++-33.x86_64

yum install -y compat-libstdc++-33.i386

yum install -y gcc.x86_64 gcc-c++.x86_64

yum install -y glibc.x86_64 glibc.i686 glibc-devel.x86_64 glibc-devel.i386

yum install -y ksh.x86_64

yum install -y libgcc.i386 libgcc.x86_64

yum install -y libstdc++.i386 libstdc++.x86_64 libstdc++-devel.i386 libstdc++-devel.x86_64

yum install -y libaio libaio-devel

yum install -y make.x86_64

yum install -y sysstat.x86_64

yum install -y pdksh.x86_64

/*-------------------------------------*/

yum install -y unixODBC.x86_64 unixODBC.i386 unixODBC-devel.i386 unixODBC-devel.x86_64123456789101112131415

三、创建Oracle用户和组

[root@FSWWOA /]# groupadd dba

[root@FSWWOA /]# groupadd oinstall

#添加用户

[root@FSWWOA /]# useradd -g oinstall -G dba oracle

#设置Oracle的密码

[root@FSWWOA /]# pwd oracle oracle

#这里密码使用:oracle12345678

四、修改系统参数

4.1、修改用户的SHELL的限制

修改/etc/security/limits.conf文件

vi /etc/security/limits.conf1

然后在文件中添加如下内容

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 655361234

4.2、修改/etc/pam.d/login 文件

vi /etc/pam.d/login1

然后在文件中添加如下内容

session required /lib/security/pam_limits.so

session required pam_limits.so12

4.3、修改系统核心参数

修改/etc/sysctl.conf文件vi /etc/sysctl.conf,然后在文件中加入

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 10485761234567891011

执行sysctl -p是配置立刻生效。使用sysctl -a查看所有系统参数。

五、创建Oracle安装目录

5.1创建Oracle安装目录

cd /u01

mkdir -p app/oracle/product/11.2.0/dbhome_1

mkdir app/oradata123

5.2修改目录所有者

[root@FSWWOA u01]# chown -R oracle:oinstall app

[root@FSWWOA u01]# ll

总用量 20

drwxr-xr-x. 4 oracle oinstall 4096 11月 25 08:46 app

drwx------. 2 root root 16384 11月 24 14:29 lost+found12345

六、修改系统环境变量

使用vi ~/.bash_profile打开环境变量配置文件。加入如下内容

export ORACLE_BASE=/u01/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

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

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 123456

然后使用source ~/.bash_profile是配置立即生效。使用env | grep ORACLE可以查看环境变量配置。

七、安装Oracle

7.1解压Oracle安装文件

将Oracle拷贝至Linux服务器上,然后解压

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip12

如果使用光盘安装,则使用mount -t iso9660 /dev/dvd /mnt/dvd挂载光盘

7.2设置安装环境

如果Linux系统字符编码是中文的,在安装过程中Oracle安装界面会全部乱码。可使用export LANG=en_US,将会话的字符集改为英文字符集,然后再安装就不会出现乱码。

另外,Oracle安装时需要图形界面的支持。

剩余部分见PDF文档(后续图片太多不再一一上传),剩余部分如下:

7.3开始安装Oracle

八、测试安装结果

九、修改防火墙配置,将Oracle端口添加到例外

十、将Oracle设置自启动

十一、设置Oracle用户名密码不区分大小写

检查硬件是否满足要求

1)确保系统有足够的 RAM 和交换空间大小,运行以下命令:

#grep MemTotal /proc/meminfo

#grepSwapTotal /proc/meminfo

注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。

2)确保有足够的磁盘空间。Oracle 10g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间

3)/tmp 目录至少需要 400MB 的可用空间。

要检查系统上的可用磁盘空间,运行以下命令:

#df-h

检查系统是否已安装所需的开发包

使用rpm -qa命令,确保以下包已成功安装。对于包的版本,只有版本高于下面的都可以,如果低于此版本,则要升级处理,如下:

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

libaio-0.3.103-3

创建oracle组和oracle用户

创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。

#groupadd oinstall

#groupadd dba

#useradd -m -g oinstall -G dba oracle –poracle (p表示添加帐号密码)

创建oracle目录并改变目录权限

现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。

以 root 用户身份执行以下命令:

#mkdir -p /u01/app/oracle # oracle根目录,-p 表示递归建立目录

#mkdir -p /u02/oradata # oracle数据文件存放目录

#chown -R oracle:oinstall /u01

#chown -R oracle:oinstall /u02

#chmod -R 775 /u01

#chmod -R 775 /u02

配置linux内核参数

#vi/etc/sysctl.conf,添加如下内容:

kernel.shmall = 2097152

kernel.shmmax = 2147483648 #此处默认设置为2G,数值一般设为物理内存的40~50%

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

注:Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。

配置oracle用户的shell限制

#vi /etc/security/limits.conf 添加如下内容:

oracle softnproc 2047

oracle hardnproc 16384

oracle softnofile 1024

oracle hardnofile 65536

#vi /etc/pam.d/login添加如下内容:

session required pam_limits.so

导出x图形界面给oracle用户

由于安装时采用的是oracle的OUI图形化界面,需要X支持,而默认oracle用户是不支持图形化 *** 作的,必须以root的身份导出X给oracle用户使用。运行如下命令:

#xhost +

access control disabled,clients can connect from any host

出现以上文字表示导出成功。

oracle用户下执行

1.2.1设置环境变量

#su –oracle

$vi .bash_profile

加入以下内容:

TMP=/tmp

TMPDIR=$TMP

ORACLE_BASE=/u01/app/oracle#oracle 根目录

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 #oracle 家目录

ORACLE_SID=orcl #根据实际需要命名

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

PATH=$ORACLE_HOME/bin:$PATH

exportTMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

$source .bash_profile #使环境变量生效

2、安装 Oracle

2.1、下载并解压oracle软件

从Oracle网站下载10201_database_linux_x86_32.cpio.gz到oracle用户家目录下/home/oracle/(也可为其他目录),使用oracle用户登录后,解压此文件:

$startx

$cd /home/oracle

$gunzip 10201_database_linux_x86_64.cpio.gz

$cpio -idmv <10201_database_linux_x86_64.cpio

以上 *** 作将Oracle安装文件解压到database/目录。

(根据下载的包的格式不同,解压出来后的目录格式可能不同。)

2.2、Oracle OUI进行图形化安装(推荐使用高级安装方式)

切换到database/目录下,运行以下命令:

$cd database

$./runInstaller

检验是否安装成功

数据库正常安装结束后,默认是启动的。以oracle用户身份运行以下命令测试:

$sqlplus/ as sysdba

SQL>selectopen_mode from v$database

OPEN_MODE

------------------

READ WRITE

若出现以上文字说明数据库正在正常运行。自此,数据库安装成功。

硬件资源需要:

至少512 MB物理内存

需1.5倍物理内存的交互空间

至少400 MB /tmp 临时目录空间

oracle软件需要1.5 GB 到 3.5 GB 磁盘空间

默认数据库需要1.2 GB

查看系统资源相关语句:

cat /etc/issue 或 cat /etc/redhat-release 查看 *** 作系统版本

uname -r 查看内核版本

grep MemTotal /proc/meminfo 查看MEM总大小

grep SwapTotal /proc/meminfo查看Swap总大小

grep "model name" /proc/cpuinfo 查看CPU型号

df 查看分区挂载和使用率

安装前的检查和准备工作:

rpm -q make

rpm -q gcc

rpm -q glibc

rpm -q glibc-devel

rpm -q compat-db

rpm -q compat-gcc

rpm -q compat-gcc-c++

rpm -q compat-libstdc++

rpm -q compat-libstdc++-devel

rpm -q openmotif22

rpm -q setarch

rpm -q libaio

rpm -q libaio-devel

rpm -q libXp-devel

rpm -q libXau-devel

rpm -q libXp

(包没有安装就安装下)

创建数据库安装的准备工作:

1,创建user/group;

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

(初始组为 oinstall, 附加组 dba 一个是控制软件安装,补丁安装等的;另一个是控制数据库创建,数据库管理等的。可以将两个权限都授权给dba组,只创建dba一个组就可以了)

passwd oracle

如果nobody用户不存在(id nobody命令查看),则创建:

useradd nobody

( 首先nobody是一个普通用户,非特权用户。 使用nobody用户名的目的是,使任何人都可以登录系统,但是其UID和GID不提供任何特权,即该uid和gid只能访问人人皆可读写的文件。其次,许多系统中都按惯例地默认创建一个nobody,尽量限制它的权限至最小,当服务器向外服务时,可能会让client以nobody的身份登录)

2,建立oracle安装文件夹(sample);

mkdir -p /u01/oracle/product/10g

mkdir /u01/oracle/database

chown -R oracle.oinstall /u01/oracle

chmod 755 -R /u01/oracle

3, 配置环境变量;

要使用 Oracle 产品,应该或必须设置几个环境变量。

如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。

ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。

对于数据库服务器,建议设置以下环境变量:

使用Oracle用户登陆:

su - oracle

vi ~/.bash_profile

以下是配置文件的内容

export ORACLE_BASE=/u01/oracle/

export ORACLE_HOME=/u01/oracle/product/10g

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$PATH

配置好后用 source .bash_profile 命令使配置生效

4, 设置系统参数;

Oracle 数据库 10g 需要以下所示的内核参数设置。

其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。

su - root

A) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加:

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

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

修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效;

对每个参数值做个简要的解释和说明。

(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。

(2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。

(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。

(4)sem:该参数表示设置的信号量。

(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

B) 设置oracle对文件的要求:

b.1 编辑文件:vi /etc/security/limits.conf 加入以下语句:

oracle softnproc 2047

oracle hardnproc 16384

oracle softnofile 1024

oracle hardnofile 65536

limits.conf的格式如下:

username|@groupname type resource limit

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比hard 限制高。用 - 就表明同时设置了 soft 和 hard 的值。

resource:

core - 限制内核文件的大小

date - 最大数据大小

fsize - 最大文件大小

memlock - 最大锁定内存地址空间

nofile - 打开文件的最大数目

rss - 最大持久设置大小

stack - 最大栈大小

cpu - 以分钟为单位的最多 CPU 时间

noproc - 进程的最大数目

as - 地址空间限制

maxlogins - 此用户允许登录的最大数目

b.2 编辑文件:vi /etc/pam.d/login

linux *** 作系统的登陆配置文件。

sessionrequired /lib/security/pam_limits.so

session required /lib/security/pam_limits.so

这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。修改完后保存此文件

5.挂载光驱

在虚拟机中选择好oracle 10g ISO文件

mount /dev/hdc /mnt (默认会挂载到/media下,但一定要手动挂载到/mnt下)

将/etc/redhat-release 版本5.4改为3.4

root 用户下执行xhost +

su - oracle

oracle用户下执行/mnt/runInstaller

6、登陆并启动数据库的 *** 作。

[oracle@oracle oracle]$ sqlplus /nolog

SQL>connect / as sysdba

Connected.

SQL>shutdown immediate 关闭数据库 (OR "dbshut" command)

SQL>startup启动数据库

7,

alter user scott account unlockscott用户解锁

alter user scott identified by oraclescott用户设置密码

grant dba to scott将dba角色赋予给scott

connect scott/oracle

select table_name from user_tables


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8973525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存