Oralce安装教程

1、先安装需要的依赖包

找到哪个没有安装,直接yum install XX,直到所有的都安装完成。注意,可能一个包安装了,再次执行检查,还是提示没有安装,那么就不需要管他们了,继续安装下面的。

rpm -q binutils compat-libstdc++ elfutils-libelf 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

2、创建用户

需要创建一个oralce用户,并创建两个组dba,oinstall,且将oralce添加至组oinstall和附加到dba组,具体命令如下:

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/useradd -m -g oinstall -G dba oracle

passwd oracle

注意,这里的useradd –g: 新账户主组的名称或 ID,-G: 新账户的附加组列表,-m: 创建用户的主目录。

3、创建必要的目录,并赋权限。

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/db_1

mkdir -p /u01/app/oracle/oradate

mkdir -p /u01/app/oracle/install

mkdir -p /u01/app/oracle/oraInventory

chown -R oracle:oinstall /u01/app

chmod -R 775 /u01/app

4、修改各种系统参数。

直接执行下面的语句就行。

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

/sbin/sysctl -p

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

注意:

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

5、设置环境变量

注意,这个步骤需要切换到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一下看看是不是都增加或者修改成功!!!!!!!

================== 华丽的分割线 ==================

============== 准备工作完成,开始安装 ===============

================== 华丽的分割线 ==================

6、开始安装

先将数据库文件放入到/u01/app/oracle/install中,然后用解压软件解压,

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

《解压好之后,先在root用户下执行xhost  + 使得能够任意进行连接。后su 到oracle用户下,执行export LANG=en后, 再进入到/u01/app/oracle/install/database下执行 ./runInstaller进行安装》   

需要进入到vnc界面才能进行安装(原因未知,虚拟机上直接执行一直报错,报错为:检查监视器: 监视器配置至少必须显示 256 种颜色

    >>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过<<<<-网上百度方法,是root 用户下执行xhost +  然后进入oracle用户执行./runInstaller就可以,但是我在虚拟机上执行后不行,最后在vnc上执行xhost + 发现执行通过,并能正常安装)--------自己补充的说明

进入到 datebase文件夹,

./runInstaller

注意,这里,需要用桌面环境,如果你的机器没有安装桌面环境,需要安装,然后再桌面环境里执行./runInstaller ,安装桌面环境命令如下:

yum groupinstall "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"

安装完成桌面环境,在桌面环境内执行./runInstaller后,发现弹出来的东西中文乱码,在命令行敲入:export LANG=en,然后再安装。

7、安装数据库

(1)去除图中这个钩,然后点击下一步。

(2)点击“yes”。

(3)这里选择只安装软件,并下一步。

(4)选择单数据库安装,并下一步。

(5)选择“简体中文”,并下一步。

(6)选择企业版,并下一步。

(7)配置Oracle Base目录和Softwore Location目录,注意,这里的Oracle Base目录要和前面设置的环境变量一致,下面的Softwore Location目录要和前面设置的环境变量

一致。

(8)选择目录,这个目录之间建立过。

(9)直接点击下一步。

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

(11)点击“完成”。然后就会开始安装,这可能需要等一会。

有可能还未执行到94%的时候,在84%的时候就卡住,那么应该是内存不够的原因,进入虚拟机修改一下内存大小为3g生效之后,会快速安装到94%(具体如果半天不动可以依据提示进行百度)

(12)当安装到94%的时候,会弹出一个小框,让你用root用户执行以下脚本。执行完了之后,点击OK。

(13)执行脚本:/u01/app/oraInventory/orainstRoot.sh

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

(15)这样就安装完成了,点击“关闭”,结束安装。

(16)然后,oracle就安装完毕了。别高兴太早,后面还有其他的。

8、配置监听器

如果一开始的系统变量和环境变量没有配置好,而oracle侥幸安装成功了,那么这里的netca命令是不会生效的,它会出现提示,.bash:netca:command not found ,这时候需要回过头看看这些变量设置好了没有,然后重新授权,重新安装oracle,发现一切都很顺利,并且netca命令生效!!!!!!

(1)在终端中使用netca命令启动创建监听器。

(2)选择“监听器配置”,并下一步。

(3)选择“增加”,并执行下一步。

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

(5)直接下一步。

(6)使用默认的端口号:1521,直接下一步。

注意:在这个地方点击下一步的时候没有马上到下一步的时候,可能就会出现提示说1521端口被占用,那么这时候你需要看看你的地址是不是设置的静态ip,如果是动态的,你不知道具体多少,用ifconfig查看一下,然后vim /etc/hosts,将里面的关于主机名和ip的换成你现在的动态ip,然后继续点击下一步,就可以进入到下一步了

(7)不需要配置其他监听器了,直接下一步。

(8)监听配置完成,下一步。

(9)点击“完成”,结束监听器的配置。

9、创建数据库实例

(1)在终端中使用dbca命令启动创建数据库实例。

(2)点击“下一步”开始配置。

(3)选择“创建数据库”,并点击下一步。

(4)直接点击下一步。

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

(6)这个地方直接点击“下一步”。

(7)接下来设置所有用户的密码,建议全部设置一样就行,我设置的就是123456。生产环境可不建议这样设置。

(8)跟我说,密码太简单了,是否要继续,当然是继续拉。

(9)这两个地方直接选择下一步。

(10)选择简单的文法,并下一步。

(11)设置编码格式为UTF-8。

(12)直接点击“下一步”。

(13)选择“创建数据库”,并点击下一步。

(14)在弹出框里点击OK。

(15)然后就开始创建数据库实例了,这个过程需要等一会。(这个地方要耐心等待,因为需要一段时间)

(16)创建完成后弹了一个说明,直接退出即可。

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

10、启动数据实例

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

su - oracle     --“切换到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”。

11、设置开机自动启动

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

su - oracle -c "lsnrctl start"

su - oracle -c "dbstart"

11、测试

安装完了,怎么知道自己安装的有没有问题呢?当然需要测试一下啦。

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

2、输入:sqlplus /nolog 连上oralce。

3、切换到 dba:conn /as sysdba。

4、执行:select * from fwb;

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

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 22 17:59:04 2016

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

SQL> conn /as sysdba

Connected.

SQL>

SQL> select * from fwb;

select * from fwb

*

ERROR at line 1:

ORA-00942: table or view does not exist

到这里整个oracle的安装就完毕了,如果有问题可以一起交流。

linux 环境下安装oracle11g方法及安装过程中遇上的问题解决方法的更多相关文章

  1. 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...

  2. 痞子衡嵌入式:在MDK开发环境下将关键函数重定向到RAM中执行的几种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在MDK开发环境下将关键函数重定向到RAM中执行的几种方法. 这个关键函数重定向到 RAM 中执行系列文章,痞子衡已经写过 <IA ...

  3. Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)

    Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...

  4. Linux环境下R和R包安装及其管理

    前言 R对windows使用很友好,对Linux来说充满了敌意.小数据可以在windows下交互操作,效果很好很棒.可是当我们要处理大数据,或者要在集群上搭建pipeline时,不得不面对在Linux ...

  5. Linux环境下 RabbitMQ 的下载与安装

    0 环境 CentOS7 RabbitMQ 3.6.5 erlang 18.3 socat rabbitmq是使用erlang语言编写的,所以需要先安装erlang,其次rabbitmq安装依赖于so ...

  6. 【转载】linux环境下为firefox/chrome浏览器安装flash player

    本文转载自 http://blog.sina.com.cn/s/blog_6ad624380102v1xf.html     firefox安装flash player的方法: 先到adobe网站上下 ...

  7. linux环境下 卸载 Oracle11G

    1.使用SQL*PLUS停止数据库 [oracle@OracleTest oracle]$ sqlplus log SQL> connect / as sysdba SQL> shutdo ...

  8. Linux 环境下umount, 报 device is busy 的问题分析与解决方法

    在Linux环境中,有时候需要挂载外部目录或硬盘等,但当想umount时,却提示类似“umount:/home/oracle-server/backup:device is busy”这种提示. 出现 ...

  9. 安装过程中出现PKG_CONFIG_PATH的问题解决方法

    在安装开源软件的过程中, 经常会碰到提示配置PKG_CONFIG_PATH路径, 或者直接提示没有安装某某库, 但是我们已经安装了啊. 其实造成这种情况的原因很简单, 就是安装的目录不能被依赖程序找到 ...

随机推荐

  1. Android Stdio 如何自定义生成APK的名称

    Android Stdio自动默认生成的app的名称都是app-release或者app-debug,生成完后还要手动更改apk的名称,很是麻烦. 自定义生成APK的名称的方法:在\app\build ...

  2. 1 Python数据类型--

    常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...

  3. HDU - 2612 bfs [kuangbin带你飞]专题一

    分别以两个人的家作为起点,bfs求得到每个KFC最短距离.然后枚举每个KFC,求得时间之和的最小值即可. 此题不符合实际情况之处:  通过了一个KFC再去另一个KFC可以吗? 出题人都没好好想过吗? ...

  4. 谈一谈Java中的Error和Exception

    Error和Exception的联系 继承结构:Error和Exception都是继承于Throwable,RuntimeException继承自Exception. Error和RuntimeExc ...

  5. C语言老司机学Python (六)- 多线程

    前面的1-5都是比较基础的东西,能做的事情也有限. 从本节起,随着更多进阶技术的掌握,渐渐就可以用Python开始浪了. Python3使用threading模块来实现线程操作. 根据在其他语言处学来 ...

  6. Linux内核开发之将驱动程序添加到内核

    驱动程序添加到内核 一.概述: 在Linux内核中增加程序需要完成以下三项工作: 1.将编写的源代码复制到Linux内核源代码的相应目录 2.在目录的Kconfig文件中增加新源代码对应项目的编译配置 ...

  7. ASI通讯协议——ASI2x1

    通讯协议--ASI2x1 基本功能描述 计算机或控制器通过以太网口或者RS232接口发出指令,包括查询指令,切换指令等,主机箱中的控制板在收到这些指令之后,将这些数据通过485总线转发给对应的主板,并 ...

  8. VxWorks:添加自己组件到Tornado

    项目要求将cpci的驱动做成Tornado组件,尝试了一下! Folder FOLDER_CPCI {                    //上层组件设置  NAME  cpci componen ...

  9. HTML5之contenteditable属性

    HTML5之contenteditable属性 1.功能说明 (1)功能:允许用户编辑元素中的内容 (2)说明:是一个布尔值,false是不能编辑,true为可编辑 2.分析实例 (1)content ...

  10. ORA-00900: invalid SQL statement

    1.错误描述 SQL> startup;        startup        ORA-00900: invalid SQL statement 2.错误原因 3.解决办法