linux 环境下安装oracle11g方法及安装过程中遇上的问题解决方法
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方法及安装过程中遇上的问题解决方法的更多相关文章
- 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...
- 痞子衡嵌入式:在MDK开发环境下将关键函数重定向到RAM中执行的几种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在MDK开发环境下将关键函数重定向到RAM中执行的几种方法. 这个关键函数重定向到 RAM 中执行系列文章,痞子衡已经写过 <IA ...
- Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)
Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...
- Linux环境下R和R包安装及其管理
前言 R对windows使用很友好,对Linux来说充满了敌意.小数据可以在windows下交互操作,效果很好很棒.可是当我们要处理大数据,或者要在集群上搭建pipeline时,不得不面对在Linux ...
- Linux环境下 RabbitMQ 的下载与安装
0 环境 CentOS7 RabbitMQ 3.6.5 erlang 18.3 socat rabbitmq是使用erlang语言编写的,所以需要先安装erlang,其次rabbitmq安装依赖于so ...
- 【转载】linux环境下为firefox/chrome浏览器安装flash player
本文转载自 http://blog.sina.com.cn/s/blog_6ad624380102v1xf.html firefox安装flash player的方法: 先到adobe网站上下 ...
- linux环境下 卸载 Oracle11G
1.使用SQL*PLUS停止数据库 [oracle@OracleTest oracle]$ sqlplus log SQL> connect / as sysdba SQL> shutdo ...
- Linux 环境下umount, 报 device is busy 的问题分析与解决方法
在Linux环境中,有时候需要挂载外部目录或硬盘等,但当想umount时,却提示类似“umount:/home/oracle-server/backup:device is busy”这种提示. 出现 ...
- 安装过程中出现PKG_CONFIG_PATH的问题解决方法
在安装开源软件的过程中, 经常会碰到提示配置PKG_CONFIG_PATH路径, 或者直接提示没有安装某某库, 但是我们已经安装了啊. 其实造成这种情况的原因很简单, 就是安装的目录不能被依赖程序找到 ...
随机推荐
- Android Stdio 如何自定义生成APK的名称
Android Stdio自动默认生成的app的名称都是app-release或者app-debug,生成完后还要手动更改apk的名称,很是麻烦. 自定义生成APK的名称的方法:在\app\build ...
- 1 Python数据类型--
常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...
- HDU - 2612 bfs [kuangbin带你飞]专题一
分别以两个人的家作为起点,bfs求得到每个KFC最短距离.然后枚举每个KFC,求得时间之和的最小值即可. 此题不符合实际情况之处: 通过了一个KFC再去另一个KFC可以吗? 出题人都没好好想过吗? ...
- 谈一谈Java中的Error和Exception
Error和Exception的联系 继承结构:Error和Exception都是继承于Throwable,RuntimeException继承自Exception. Error和RuntimeExc ...
- C语言老司机学Python (六)- 多线程
前面的1-5都是比较基础的东西,能做的事情也有限. 从本节起,随着更多进阶技术的掌握,渐渐就可以用Python开始浪了. Python3使用threading模块来实现线程操作. 根据在其他语言处学来 ...
- Linux内核开发之将驱动程序添加到内核
驱动程序添加到内核 一.概述: 在Linux内核中增加程序需要完成以下三项工作: 1.将编写的源代码复制到Linux内核源代码的相应目录 2.在目录的Kconfig文件中增加新源代码对应项目的编译配置 ...
- ASI通讯协议——ASI2x1
通讯协议--ASI2x1 基本功能描述 计算机或控制器通过以太网口或者RS232接口发出指令,包括查询指令,切换指令等,主机箱中的控制板在收到这些指令之后,将这些数据通过485总线转发给对应的主板,并 ...
- VxWorks:添加自己组件到Tornado
项目要求将cpci的驱动做成Tornado组件,尝试了一下! Folder FOLDER_CPCI { //上层组件设置 NAME cpci componen ...
- HTML5之contenteditable属性
HTML5之contenteditable属性 1.功能说明 (1)功能:允许用户编辑元素中的内容 (2)说明:是一个布尔值,false是不能编辑,true为可编辑 2.分析实例 (1)content ...
- ORA-00900: invalid SQL statement
1.错误描述 SQL> startup; startup ORA-00900: invalid SQL statement 2.错误原因 3.解决办法