Linux安装Oracle11g

一、安装依赖包

yum -y install compat-libcap* libstdc++-devel* glibc-devel* gcc-c++* glibc-headers* cpp* gcc* kernel-headers*  libaio-devel* pdksh* 

二、 创建用户及目录

groupadd -g 1001 oinstall

groupadd -g 1002 dba

groupadd -g 1003 oper

useradd -u 1001 -g oinstall -G dba,oper oracle

mkdir -p /u01/app/oracle/{oraInventory,install,db_1,oradate}

chown -R oracle:oinstall /u01/app

chmod -R 775 /u01/app

passwd oracle

#配置成功

三、 修改各种系统参数

cat >> /etc/sysctl.conf <<EOF

# Kernel paramaters required by Oracle 11g R2

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

EOF

cat >> /etc/security/limits.conf <<EOF

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

EOF

cat >> /etc/pam.d/login <<EOF

session required /lib64/security/pam_limits.so

EOF

#防止linux无法本地登录

注意:

32位系统用:

session required /lib/security/pam_limits.so

64位系统用:

session required /lib64/security/pam_limits.so

如果不写对,在命令行模式下,是无法登陆系统的。

cat >> /etc/profile <<EOF

if [ $USER = "oracle" ]; then

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

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi

fi

EOF

cat >> /etc/csh.login <<EOF

# For Oracle Install

if ( $USER == "oracle" ) then

    limit maxproc 16384

    limit descriptors 65536

    umask 022

end if

EOF

四、 设置环境变量

必须使用Oracle用户登录

cd /home/oracle

cat >> /home/oracle/.bash_profile <<EOF

# For Oracle Install  

TMP=/tmp;

export TMP;

TMPDIR=$TMP;

export TMPDIR;

ORACLE_BASE=/u01/app/oracle;

export ORACLE_BASE;

ORACLE_HOME=$ORACLE_BASE/db_1;

export ORACLE_HOME;

ORACLE_SID=orcl;

export ORACLE_SID;

ORACLE_TERM=xterm;

export ORACLE_TERM;

PATH=/usr/sbin:$PATH;

export PATH;

PATH=$ORACLE_HOME/bin:$PATH;

export PATH;

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

export LD_LIBRARY_PATH;

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

export CLASSPATH;

if [ $USER = "oracle" ]; then

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

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi

fi

EOF

#这一步很重要,建议设置完再使用cat确认下是否修改成功,或者vim进去查看

五、 安装oracle数据库

必须使用oracle用户登录

将Oracle

p13390677_112040_Linux-x86-64_1of7.zip

p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_3of7.zip

p13390677_112040_Linux-x86-64_4of7.zip

安装包上传至/u01/app/oracle/install目录下

解压安装包;

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_2of7.zip

unzip p13390677_112040_Linux-x86-64_3of7.zip

unzip p13390677_112040_Linux-x86-64_4of7.zip

解压完后Oracle目录下会产生一个database的目录;进入database目录运行./runinstaller(弹出的安装界面可能会乱码,出现乱码的情况在database目录下执行export LANG=en_US,然后再运行./runinstaller)

#使用xshell调不出来Xmanager的时候 source /home/oracle/.bash_profile即可进入

安装准备工作完毕之后,我们即可看到oracle图形化的安装界面(如下图所示)。

#取消选中这个钩,下一步

#点击yes

#选择只安装软件,点击下一步

#选择单数据库安装,点击下一步

#选择English也可以简体中文,点击下一步

#选择企业版,点击下一步

#配置Oracle Base目录和Softwore Location目录,注意,这里的Oracle Base目录要和前面设置的环境变量一致,即/home/oracle/.bash_profile文件里的ORACLE_BASE和ORACLE_HOME分别对应

#选择目录,这个目录之间建立过。

#选择oinstall点击下一步

#接下来会到达检查依赖的步骤,他会提示很多依赖有问题,但是其实没关系,你已经安装好了,直接点击右上角的“忽略全部”即可,然后下一步。

#点击“安装”。

#等它安装完

#如果出现这种情况进入/u01/app/oracle/db_1/sysman/lib/ins_emagent.mk文件修改

先进行备份cp ins_emagent.mk ins_emagent.mk.bak 然后编辑 ins_emagent.mk文件

将  $(MK_EMAGENT_NMECTL) 修改为:$(MK_EMAGENT_NMECTL -lnnz11)

保存退出点击Retry即可

执行脚本:/u01/app/oracle/oraInventory/orainstRoot.sh

执行脚本:/u01/app/oracle/db_1/root.sh

#这样就安装完成了,点击关闭,结束安装

六、 配置监听器

#在终端中使用netca命令启动创建监听器

注:可以会出现netca命令打不开监听的情况使用命令

source /home/oracle/.bash_profile 即可

#选择监听器配置,点击下一步

#选择“增加”,并执行下一步

#输入监听的名称(默认就行),并点击下一步

#直接下一步

#使用默认的端口号:1521,直接下一步

#不需要配置其他监听器了,直接下一步

#监听配置完成,下一步

#点击“完成”,结束监听器的配置

七、 创建数据库实例

#在终端中使用dbca命令启动创建数据库实例

#点击“下一步”开始配置

#选择“创建数据库”,并点击下一步

#直接点击下一步

#(这个地方你可以查看一下你配置的环境变量/home/oracle/.bash_profile里面的ORACLE_SID)是多少填写实例名,这里需要与之前配置的环境变量中的保持一致,然后点击“下一步

#这个地方直接点击下一步

#接下来设置所有用户的密码,全部设置一样就行

#跟我说,密码太简单了,是否要继续,点击继续

#这两个地方直接选择下一步

#选择简单的文法,并下一步

#设置编码格式为GBK 16

#点击下一步

#选择“创建数据库”,并点击下一步

#再弹框里点ok

#然后就开始创建数据库实例了,这个过程需要等一会

#创建完成后弹了一个说明,直接退出即可

至此,安装步骤结束,接下来开始进行各种配置了

八、 启动数据实例

启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。

注:使用oracle用户登录,避免出现不必要的错误

lsnrctl start        #打开监听

sqlplus /nolog         #进入到sqlplus

conn /as sysdba        #连接到sysdba

startup           #启动数据库实例

shutdown immediate     #关闭数据库实例

exit               #退出sqlplus

lsnrctl stop         #关闭监听

还有一种方法,不需要登陆sqlplus都ok

先启动监听 lsnrctl start

后启动实例  dbstart

使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:

[oracle@localhost ~]$ dbstart

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

Usage: /u01/app/oracle/db_1/bin/dbstart ORACLE_HOME

错误原因

dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题

解决方法(注意这两个文件的位置,在你安装的oracle子目录里面,我的是在/u01/app/oracle/db_1/bin下面)分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME命令如下:

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut

修改后保存退出,问题解决,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。

此时的原因是在/etc/oratab的设置问题,(注意这里的是在cd /下面的/etc/oratab里面设置)我们cat一下,发现

orcl:/u01/app/oracle/db_1:N

最后设置的是"N"(我的环境中只菜单有一个实例,因此只有一行配置语句),我们需要把“N”修改为“Y”

九、 设置开机自启动

(root用户下)在/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:

su - oracle -c "lsnrctl start"

su - oracle -c "dbstart"

十、 测试

1、重启机器,然后oracle是会自动启动的

2、输入:sqlplus /nolog 连上oralce

3、切换到 dba:conn /as sysdba

4、执行:select * from fbi;

5、如果报找不到表,则代表正常。(因为我们本来就没有这个表。)

当然也可以查看已存在的表比如:

select * from all_users;

查看用户表

测试成功

  • 32
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值