liunx 安装oracle

:2019年08月18日 本站(微博
分享到:

检查依赖包是否缺少rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstd...

检查依赖包是否缺少

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel | grep "not installed"

最后的unixODBC unixODBC-devel 不安装

安装依赖包,使用挂载iso盘来实现(一般加载的光盘在dev/chrom)

1) 挂载光盘

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

(或者 # mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt (该命令直接指定光盘挂载))

2)到挂载的文件夹下使用 rpm -ivh 命令安装

安装的顺序 (安装的版本根据当前系统来)

# cd /mnt/cdrom/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,软件安装顺序不能错。

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

# 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++

rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

rpm -ivh elfutils-libelf-devel-0.164-2.el6.x86_64.rpm

rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm

rpm -ivh sysstat-9.0.4-31.el6.x86_64.rpm

修改参数

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

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

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

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

session required /lib/security/pam_limits.so

session required pam_limits.so

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

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

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

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键进入编辑模式,将下列内容加入该文件。

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”存盘退出 source /etc/profile 刷新文件

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

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

groupadd dba groupadd oinstall

useradd -g oinstall -G dba oracle

passwd oracle

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

输入命令:

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oracle/product

mkdir /home/oracle/oraInventory

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

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

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

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

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

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

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/dbhome_1

export ORACLE_SID=orcl

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

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

然后再输入:source .bash_profile

把包上传到liunx电脑上,上传的路径为usr/local/

unzip Oracle.11gR2.Linux.x64_CD1.zip unzip Oracle.11gR2.Linux.x64_CD2.zip

解压完之后给解压的database文件夹赋权

chmod -R 777 database

11)配置静默安装文件

首先是修改安装响应文件,执行vim database/response/db_install.rsp,然后修改下面的内容:

oracle.install.option=INSTALL_DB_SWONLY                  //29 行 安装类型 ORACLE_HOSTNAME=orcl                     //37 行 主机名称,看注释,前后保持一致 UNIX_GROUP_NAME=oinstall                     //42 行 安装组 INVENTORY_LOCATION=/home/oracle/oraInventory //47 行 INVENTORY目录, 注意每个人的 oracle 目录可能不一样 SELECTED_LANGUAGES=en,zh_CN //78 行 选择语言

//83 行 oracle_home,oracle_base+orahome ORACLE_HOME=/home/oracle/app/oracle/product/dbhome_1

//88 行 oracle_base 就是你的 oracle 目录 ORACLE_BASE=/home/oracle/app oracle.install.db.InstallEdition=EE //99 行 oracle版本 oracle.install.db.isCustomInstall=true //108行 自定义安装 oracle.install.db.DBA_GROUP=dba //142行 dba用户组 oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName 保持一致 oracle.install.db.config.starterdb.SID=orcl //170行 SID 保持一致

//233行 设定所有数据库用户使用同一个密码,后面会用到 oracle.install.db.config.starterdb.password.ALL=jsepc123 DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

注意:

主机名称, globalDBName 和  SID 按照自己的设定修改

设定所有数据库用户使用同一个密码, 这个密码在后面还要被用到

12)新建配置oraInst.loc文件,和db_install.rsp文件放到一个文件夹下面

文件内容:

inventory_loc=/home/oracle/app/oracle/oraInventory

inst_group=oinstall

重新赋权

chmod -R 777 database

配置主机的host文件(很关键)

vi /etc/hosts

127.0.0.1         oracle

Oracle是域名的意思,可以随便配

vi /etc/sysconfig/network

HOSTNAME=oracle

执行 source /etc/sysconfig/network

再执行 hostname oracle

开始安装

1)在database文件夹下面执行:

./runInstaller -silent -ignorePrereq -force -responseFile /usr/oracle/oracle-11g/database/response/db_install.rsp -invPtrLoc /usr/oracle/oracle-11g/database/response/oraInst.loc

Linux 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed

解决方法:https://blog.csdn.net/yk10010/article/details/88969572

注:等待安装,时间比较长。其中出现说 app文件夹下面有文件夹不用管,等待出现如下就表示成功

... /oracle/oraInventory/orainstRoot.sh /oracle/orahome/root.sh To execute the configuration scripts:         1. Open a terminal window         2. Log in as "root"         3. Run the scripts         4. Return to this window and hit "Enter" key to continue Successfully Setup Software.(主要是看到这句话)

按照提示,新开一个终端窗口,然后切换到root用户,执行下面两个shell脚本:

/home/oracle/app/oracle/oraInventory/orainstRoot.sh (这个可能没有)

/home/oracle/app/oracle/product/dbhome_1/root.sh

配置监听 oracle用户

在安装的bin文件夹下执行

./netca /silent /responsefile /usr/oracle/oracle-11g/database/response/netca.rsp

ll $ORACLE_HOME/network/admin/*.ora ./lsnrctl status

处理不能创建监听的问题,先修改hosts 中的域名名称

An unexpected error has been detected by HotSpot Virtual Machine:

是由于默认的主机名导致的,修改2处

[oracle@jc11g ~]$ vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=test11g

[oracle@jc11g ~]$ vi /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               localhost.localdomain localhost test11g

再执行

hostname test11g

创建数据库

最后一个resp文件,用来静默建库,修改建库响应文件vim database/response/dbca.rsp

1

2

3

4

5

[CREATEDATABASE]

GDBNAME = "orcl"

SID = "orcl"

TEMPLATENAME = "General_Purpose.dbc"

CHARACTERSET = "ZHS16GBK"

接下来以oracle在bin下命令行中输入下面的命令

1

./dbca -silent -responseFile /usr/oracle/oracle-11g/database/response/dbca.rsp按下回车一次 然后直接输入数据库的密码,再按回车 再输入密码,最后再按回车等待

注:

  • 这里各个参数用用-来表示,而不是上一步时的/号了(尴尬 - -!, 估计这几个程序不是同一个人写的。。。)

  • 建库过程中会要求输入多次密码,这个密码就是我们之前安装oracle时,在db_install.rsp233行 设定所有数据库用户使用同一个密码中设定的密码了。

监听问题处理:

配置监听(修改监听端口)

如果上面的步骤你都执行的很顺利,那么是真的要恭喜你。但是90%的同学,在监听程序上会消耗很长时间,这里我们来统一总结一下如何正确配置监听。 如果我们用的是默认的监听文件,那么 oracle 的监听程序会建立在1521端口上,如果你想要修改到其他端口,或者你的监听程序不正确,这一章节我们统一来看如何处理

正确的监听程序配置好是什么样子的

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

[root@oracle oradata]# lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 17-NOV-2018 16:23:20

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))

STATUS of the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                17-NOV-2018 15:05:51

Uptime                    0 days 1 hr. 17 min. 29 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /app/oracle/orahome/network/admin/listener.ora

Listener Log File         /app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml

Listening Endpoints Summary...

 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))

Services Summary...

Service "oracleXDB.us.oracle.com" has 1 instance(s).

 Instance "oracle", status READY, has 1 handler(s) for this service...

Service "orcl11g.us.oracle.com" has 1 instance(s).

 Instance "oracle", status READY, has 1 handler(s) for this service...

The command completed successfully

上面的代码是正确的监听程序的样子,注意到在 Services Summary 部分,是能看到2个实例的, 而如果你的监听程序有问题,那么这里会显示

The listener supports no services

接下来我们来看如何处理。

修改 listener.ora 文件

我们看到在上面的程序输出部分有一个Listener Parameter File,这个就是你的监听程序的配置文件,我们把它修改成下面的样子:

1

2

3

4

5

6

7

LISTENER =

 (DESCRIPTION_LIST =

   (DESCRIPTION =

     (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))

   )

 )

ADR_BASE_LISTENER = /app/oracle

其实就是修改 LISTENER 部分,把 HOST 换成我们之前设置的 host 名称(如果你有困惑,就把所有的 host 设置成一样的),PORT 就是我们的监听端口,如果你想换成其他的,就在这里替换掉。

修改tnsnames.ora 文件

在同一个目录中,修改’tnsnames.ora’文件,这样你才可以从本机正常登录

1

2

3

4

5

6

7

8

oracle =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = oracle)

 )

 )

这里是一样的,注意 SERVICE_NAME字段和你之前安装是设置的保持一致。

修改 oracle 中的参数

接下来,我们需要到数据库中进行相关设置。 先切换到 oracle 用

1

su oracle

然后输入下面的命令免密进入 oracle 数据库sqlplus / as sysdba然后输入show parameter local_listener查看 listener 的配置,下面的代码是我已经配置好的

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

[oracle@oracle oradata]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sat Nov 17 16:34:10 2018

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, Oracle Label Security, OLAP, Data Mining,

Oracle Database Vault and Real Application Testing options

SQL>

SQL> show parameter local_listener;

NAME     TYPE VALUE

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

local_listener     string (address = (protocol = tcp)(ho

st = oracle)(port = 1521))

我们接着执行下面的命令alter system set local_listener="(address = (protocol = tcp)(host = oracle)(port = 1521))" 来配置监听,其实这里的配置和我们第1步设置的 listener.ora中的基本是一样的。

配置好了之后,我们可以再检查一下listener,看看是不是得到和我之前一样的效果了? 如果没有

1

2

3

4

lsnrctl reload

#或者

lsnrctl stop

lsnrctl start

如果还是不行,请自行 google。。。

其他

这里附上一些备用的东西

启动和添置数据库的脚本

  • 手动启动shell vim start_oracle.sh

1

2

3

#!/bin/sh

lsnrctl start

dbstart $ORACLE_HOME

  • 手动停止shell vim stop_oracle.sh

1

2

3

#!/bin/sh

lsnrctl stop

sqlplus / as sysdba @stop.sql

  • 停止sql脚本 vim stop.sql

1

2

shutdown immediate

exit

重启数据库

sqlplus / as sysdba

shutdown immediate

开启数据库

sqlplus / as sysdba

startup

建表和新建用户语句

用sys或者sysdba用户登录oracle数据库,然后执行下面的命令来新建表空间和用户

1

2

3

4

5

createtablespacedatadatafile'/oracle/oradata/sms/data01.dbf'size32000m

alter tablespace data add datafile '/oracle/oradata/sms/data02.dbf' size 32000m

create user test identified by test1234 default tablespace data temporary tablespace temp

grant resource,connect,create session to test

解释:

  • /oracle/oradata/ 是表空间的存储地址

  • create user命令 我们新建了一个用户 test,密码是 test1234

取消用户密码180天有效期

oracle11g之后的版本,默认的每个用户的密码有效期是 180天。 180天后,原先的密码就失效了。所以,偷懒的方法我们就把这个策略关闭就好了。

1

alter profile defaultlimit PASSWORD_LIFE_TIME unlimited;

//重启监听

切换用户su oracle

进入cd

刷新配置source .bash_profile

查看安装路径echo $ORACLE_HOME

进入安装路径的bin下面启动lsnrctl start

查看监听状态lsnrctl status 开启监听:lsnrctl start 关闭监听:lsnrctl stop

//启动数据库

进入sql:sqlplus / as sysdba

可以看到连接上Oracle后通过命令:

select instance_name, status from v$instance;

查询到实例名称为ora11g, 现在处于open状态。实例的状态可以分为装载(amount),启动(open),关闭()。装载是启动的一个前置状态。

启动:startup

关闭:shutdown immediate

装载:startup mount


文/  王振袢
关键词: 检查 依赖 是否 缺少 binutils

来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

您在阅读:liunx 安装oracle

Copyright©2013-2019 All Rights Reserved. JSedu114 LLC.江苏教育信息综合发布查询平台保留所有权利

苏公网安备32010402000125苏ICP备14051488号南京思必达教育科技有限公司版权所有

技术支持:南京博盛蓝睿网络科技有限公司  

最热文章
最新文章
  • 卡尔蔡司镜片优惠店,镜片价格低
  • 苹果原装手机壳