怎么在linux下安装oracle数据库

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

1. 安装CentOS,注意先不要创建oracle用户,语言务必选择英语;

2. 获取Oracle 11G安装包;

3. 创建Oracle安装目录;

1) 创建用户:oracle,组:oinstall,dba;

1) groupadd oinstall #创建用户组oinstall

2) groupadd dba #创建用户组dba

3) useradd -g oinstall -g dba -m oracle #创建用户oracle,并加入oinstall和dba用户组

4) passwd oracle #设置用户oracle的登录密码,根据提示输入两次密码

5) mkdir /oracle #创建Oracle安装目录

6) chown -R oracle:oinstall /oracle #设置目录所有者为oinstall用户组的oracle用户

1. 修改内核参数;

这一步修改主要是因为,在oracle的官方文档中有对oracle数据库安装配置的最低要求,因此需要修改一下

vi /etc/sysctl.conf #编辑,

#在最后添加以下代码

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

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= 1048576

保存退出后要进行如下 *** 作以使配置生效

sysctl -p #使配置立即生效

2. 设置oracle用户限制

vi /etc/security/limits.conf #在末尾添加以下代码

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

3. 关闭SELINUX

vi /etc/selinux/config

#编辑配置文件

#注释掉SELINUX=enforcing

# 注释掉SELINUXTYPE=targeted

SELINUX=disabled #增加

4. 安装必备软件;

yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*

5. 检查依赖关系

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh

libaio-0.3.109-9.el7.i686

libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686

libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686

libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686

libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686

libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686

libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686

libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64

sysstat-10.1.5-1.el7.x86_64

6. 配置用户的环境变量(可以安装完再设置)

vi /home/oracle/.bash_profile

#在最后添加以下代码

export ORACLE_BASE=/oracle/app/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #oracle数据库路径

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_TERM=xterm #xterm窗口模式安装

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量

export #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题

保存退出以后,输入如下命令使配置生效

source .bash_profile #使设置立刻生效

7. 运行如下命令启动安装界面

export LANG=en_US #设置编码,防止图形界面乱码

./runInstaller [jarLoc=]

8. “ins_ctx.mk”错误处理

下载下面的文件,解压后使用其中libstdc++替换/usr/lib64目录下的同名文件即可

9. “ins_emagent.mk”编译错误,未解决,但未发现影响使用。

工具/原料

redhat linux

oracle 10g 安装文件

方法/步骤

检查硬件是否满足要求

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

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

一、修改 *** 作系统核心参数

在Root用户下执行以下步骤:

1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件

输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

4

5

6

7

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

编辑完成后按Esc键,输入“:wq”存盘退出

2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

session required /lib/security/pam_limits.so

session required pam_limits.so

编辑完成后按Esc键,输入“:wq”存盘退出

3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

编辑完成后按Esc键,输入“:wq”存盘退出

4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

linux:~ # sysctl -p

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

if [ $USER = "oracle" ]then

if [ $SHELL = "/bin/ksh" ]then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

编辑完成后按Esc键,输入“:wq”存盘退出

6)创建相关用户和组,作为软件安装和支持组的拥有者。

创建Oracle用户和密码,输入命令:

?

1

2

3

useradd -g oinstall -g dba -m oracle

passwd oracle

然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。

7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:

输入命令:

?

1

2

3

4

5

6

7

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oradata

mkdir /home/oracle/app/oracle/product

8)更改目录属主为Oracle用户所有,输入命令:

?

1

chown -R oracle:oinstall /home/oracle/app

9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

输入:su – oracle ,然后直接在输入 : vi .bash_profile

按i编辑 .bash_profile,进入编辑模式,增加以下内容:

?

1

2

3

4

5

6

7

8

9

export ORACLE_BASE=/home/oracle/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

编辑完成后按Esc键,输入“:wq”存盘退出

二、安装过程

1)当上述系统要求 *** 作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。

打开一个终端,运行unzip命令解压oracle安装文件,如:

输入命令:

?

1

2

3

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

解压完成后 cd 进入其解压后的目录database

输入命令:

cd database

使用ls命令可以查看解压后database所包含的文件,如下图:

2)执行安装,输入命令:./runInstaller

装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中(或去D:\linux_oracle11g_Package)查找所缺的包,使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。

安装过程中86%可能会遇到报错如出错问题(error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile)按照如下步骤顺序执行。

上传安装镜像rhel-server-6.1-x86_64-dvd.iso,

然后将镜像文件挂,如/mnt

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

# mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt

# cd /mnt/Packages

# rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm

# rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm

# rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm

# rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm

# rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm

# rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm

# rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm

# rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm

# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

# rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm

# rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc,软件安装顺序不能错。

?

1

2

3

4

5

6

7

******************************************

# rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm

# rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm

# rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc-c++

根据这个方法解决了错误。

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:

?

1

2

3

4

5

6

7

8

9

su – root

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1

sh root.sh

cd /home/oracle/oraInventory

sh orainstRoot.sh

三、数据库建库

1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会d出如下界面。我们这里采用定制数据库。

经过漫长的等待,当看到此界面,说明oracle建库完成

四、配置监听及本地网络服务

1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会d出如下界面。

2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

3) 配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

输入连接的oracle服务器的数据库的实例名

输入oracle服务器的ip地址

选中YES测试

点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK

看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

为你所设置的本地网络服务名起个名字

这样oracle服务器安装配置基本就完成了

注意:

1、Linux oracle数据库listener.ora存放路径

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

2、Linux oracle数据库tnsnames.ora存放路径

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

3、ORACLE启动监听器

(1)切换至oracle安装用户(一般为oracle)

su - oracle

(2)启动监听器

lsnrctl start

(3)停止监听器

lsnrctl stop

4、启动测试oracle:

[oracle@oracle ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL>quit

测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。

5、Linux开放1521端口允许网络连接Oracle Listener

症状:

(1)TCP/IP连接是通的。可以用ping 命令测试。

(2)服务器上Oracle Listener已经启动。

lsnrctl status 查看listener状态

lsnrctl start 启动Oracle listener

(3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时

这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)

解决方法:

(1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。

sudo service iptables stop

(2)编辑iptables, 开放1521端口:

sudo vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

:wq

重启防火墙

sudo service iptables restart

保存配置,以便linux重启后依然有效

sudo service iptables save

查看防火墙规则:

sudo iptables -L –n

6、linux下创建oracle用户表空间

就是在已有的数据库实例上创建一个新的帐号,访问一些新的表

*** 作步骤如下:

(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)

(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"

(3)查看我们常规将用户表空间放置位置:执行如下sql:

select name from v$datafile

(4)创建用户表空间:

CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

(5)创建用户,指定密码和上边创建的用户表空间

CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB

(6)赋予权限

grant connect,resource to scs

grant unlimited tablespace to scs

grant create database link to scs

grant select any sequence,create materialized view to scs

--经过以上 *** 作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了

更详细内容 请看www.linuxprobe.com


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存