出处:https://blog.csdn.net/cainanxing/article/details/78988671

ubuntu14.04、CentOS安装oracle 11g数据库

折腾了好久才装成功,之前打算在虚拟机里边装oracle,但是虚拟机的硬盘空间用完了,所以就用之前在阿里买的服务器上安装oracle,服务器是Ubuntu14.04版本的,安装过程不易 ,记录下来以备后用。

一、前提条件

请确保你的Ubuntu有一定的交换空间
请确保你的电脑上安装了jdk

二、安装

1、更新系统(这个是在网上找到的,可选,但是我的14.04更新了之后之前安装出现的问题就少了)

  1. sudo apt-get update

  2. sudo apt-get dist-upgrade

2、安装依赖包

这个很重要,之前因为看的安装指导教程是用yum方式安装依赖包的,但是Ubuntu14好像不支持yum方式安装依赖包,所以安装的时候 就跳过此步骤了,这个可能会导致后面出现很多问题。有些源可能已经找不到了
,可以添加以下的源。

sudo vim /etc/apt/sources.list
## 添加如下源,vim打开文件后,将下面的源追加到文件末尾保存即可:
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse

更新源文件保存并更新

sudo apt-get update

下面的全部要装上,否则安装途中可能会因为依赖问题出现错误,采用静默安装方式后又无从找起,仔细一个一个查一遍,终端键入:

  1. sudo apt-get install bzip2

  2. sudo apt-get install elfutils

  3. sudo apt-get install automake

  4. sudo apt-get install autotools-dev

  5. sudo apt-get install binutils

  6. sudo apt-get install expat

  7. sudo apt-get install gawk

  8. sudo apt-get install gcc

  9. sudo apt-get install gcc-multilib

  10. sudo apt-get install g++-multilib

  11. sudo apt-get install ia32-libs

  12. sudo apt-get install ksh

  13. sudo apt-get install less

  14. sudo apt-get install lesstif2

  15. sudo apt-get install lesstif2-dev

  16. sudo apt-get install lib32z1

  17. sudo apt-get install libaio1

  18. sudo apt-get install libaio-dev

  19. sudo apt-get install libc6-dev

  20. sudo apt-get install libc6-dev-i386

  21. sudo apt-get install libc6-i386

  22. sudo apt-get install libelf-dev

  23. sudo apt-get install libltdl-dev

  24. sudo apt-get install libmotif4

  25. sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386

  26. sudo apt-get install libpth-dev

  27. sudo apt-get install libpthread-stubs0

  28. sudo apt-get install libpthread-stubs0-dev

  29. sudo apt-get install libstdc++5

  30. sudo apt-get install lsb-cxx

  31. sudo apt-get install make

  32. sudo apt-get install openssh-server

  33. sudo apt-get install pdksh

  34. sudo apt-get install rlwrap

  35. sudo apt-get install rpm

  36. sudo apt-get install sysstat

  37. sudo apt-get install unixodbc

  38. sudo apt-get install unixodbc-dev

  39. sudo apt-get install unzip

  40. sudo apt-get install x11-utils

  41. sudo apt-get install zlibc

centos需要执行下列依赖

yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel

3、检查系统变量

  1. /sbin/sysctl -a | grep sem

  2. /sbin/sysctl -a | grep shm

  3. /sbin/sysctl -a | grep file-max

  4. /sbin/sysctl -a | grep aio-max

  5. /sbin/sysctl -a | grep ip_local_port_range

  6. /sbin/sysctl -a | grep rmem_default

  7. /sbin/sysctl -a | grep rmem_max

  8. /sbin/sysctl -a | grep wmem_default

  9. /sbin/sysctl -a | grep wmem_max

上边每条命令的输出都要保存下来,然后在/etc/sysctl.conf中增加对应数据

sudo vim /etc/sysctl.conf 

下面是我的机器查询出的配置,然后添加到sysctl.conf 文件中,每个机器可能都不一样,所以这个没必要来照抄,照抄也可能会引发错误。

  1. kernel.sem = 250 32000 100 128

  2. kernel.sem_next_id = -1

  3. kernel.shm_next_id = -1

  4. kernel.shm_rmid_forced = 0

  5. kernel.shmall = 2097152

  6. kernel.shmmax = 536870912

  7. kernel.shmmni = 4096

  8. vm.hugetlb_shm_group = 0

  9. fs.file-max = 6815744

  10. fs.aio-max-nr = 1048576

  11. net.ipv4.ip_local_port_range = 9000 65500

  12. net.core.rmem_default = 262144

  13. net.core.rmem_max = 4194304

  14. net.core.wmem_default = 262144

运行一下命令更新内核参数

/sbin/sysctl –p

4、添加对当前用户的内核限制。在 /etc/security/limits.conf 文件中增加以下数据(之后一般会创建oracle用户)

  1. oracle soft nproc 2047

  2. oracle hard nproc 16384

  3. oracle soft nofile 1024

  4. oracle hard nofile 65536

  5. oracle soft stack 10240

5、检查/etc/pam.d/login,然后添加一行数据(没有的话再添加)

执行sudo vim /etc/pam.d/login,添加以下数据

session required pam_limits.so 

检查/etc/pam.d/su,同样是没有的话再进行添加(一般是有的),执行sudo vim /etc/pam.d/su,添加以下数据

session required pam_limits.so 

6、oracle默认不支持ubuntu需要欺骗一下oracle安装程序

  1. mkdir /usr/lib64

  2. ln -s /etc /etc/rc.d

  3. ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/

  4. ln -s /usr/bin/awk /bin/awk

  5. ln -s /usr/bin/basename /bin/basename

  6. ln -s /usr/bin/rpm /bin/rpm

  7. ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/

  8. ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/

  9. ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/

  10. ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

  11. echo 'Red Hat Linux release 5' > /etc/redhat-release

7、再/etc/profile配置文件追加shell代码,执行sudo vim /etc/profile打开文件,添加以下代码(注意代码的格式,比如if括号两边要有空格,不然会报错)

  1. if [ $USER = "oracle" ];then

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

  3. ulimit -p 16384

  4. echo "hello"

  5. ulimit -n 65536

  6. echo "world"

  7. else

  8. ulimit -u 16384 -n 65536

  9. fi

  10. fi

8、创建用户组和用户(在shell中执行)

  1. groupadd oinstall

  2. groupadd dba

  3. groupadd oper

  4. useradd -g oinstall -G dba,oper oracle

  5. passwd oracle

9、下载oracle 11g压缩文件(包含两个压缩文件)

下载地址,卷1:linux.x64_11gR2_database_1of2.zip。卷2:linux.x64_11gR2_database_2of2.zip(下载oracle第一次可能会要求你注册账号,所以也可以选择去百度搜索,有网盘分享的)
下载之后将文件解压到同一目录

  1. unzip linux.x64_11gR2_database_1of2.zip

  2. unzip linux.x64_11gR2_database_2of2.zip

10、静默安装设置

在解压之后进入database文件夹,打开response/db_install.rsp文件,sudo vim response/db_install.rsp,下面是保证安装需要配置的基本数据,找到对应项修改,路径你需要按照你自己的文件系统进行修改。我是在/usr/local中创建了oracle文件夹,然后解压文件database为/usr/local/oracle的子文件夹。

  1. oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

  2. oracle.install.option=INSTALL_DB_AND_CONFIG

  3. UNIX_GROUP_NAME=oinstall

  4. INVENTORY_LOCATION=/usr/local/oracle/oraInventory

  5. SELECTED_LANGUAGES=en,zh_CN

  6. ORACLE_HOME=/usr/local/oracle/home/oracle_11g

  7. ORACLE_BASE=/usr/local/oracle/home

  8. oracle.install.db.DBA_GROUP=dba

  9. oracle.install.db.OPER_GROUP=dba

  10. oracle.install.db.config.starterdb.globalDBName=orcl

  11. oracle.install.db.config.starterdb.SID=ora11g

  12. oracle.install.db.config.starterdb.memoryLimit=256

  13. oracle.install.db.config.starterdb.password.ALL=[密码,包含大小写字母,数字,至少8个字符]

  14. oracle.install.db.config.starterdb.password.SYS=[密码,包含大小写字母,数字,至少8个字符]

  15. oracle.install.db.config.starterdb.password.SYSTEM=[密码,包含大小写字母,数字,至少8个字符]

  16. oracle.install.db.config.starterdb.password.SYSMAN=[密码,包含大小写字母,数字,至少8个字符]

  17. oracle.install.db.config.starterdb.password.DBSNMP=[密码,包含大小写字母,数字,至少8个字符]

  18. oracle.install.db.config.starterdb.dbcontrol.emailAddress=[你的邮箱地址]

  19. oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

  20. oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/usr/local/oracle/home/db_file

  21. DECLINE_SECURITY_UPDATES=true

11、执行安装文件(静默安装)

安装过程中不会出现图形界面,控制太也很少有信息输出,安装过程大概会持续10-20分钟,控制台提示日志文件保存时不要强制退出,等安装好之后会有提示)

su oracle(切换到oracle用户),
然后进入database文件夹执行命令
./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile /usr/local/oracle/database/response/db_install.rsp进行安装。过程持续10-20分钟。下面是安装成功的截图,最后会提示Successfully Setup Software,然后按Ctrl + C退出即可。

根据提示安装好之后要执行/usr/local/oracle/home/oracle_11g/root.sh脚本

12、配置oracle的环境变量

切换到root账户su root
打开文件

sudo vim ~/.bashrc 

添加环境变量

  1. export ORACLE_BASE=/usr/local/oracle/home

  2. export ORACLE_HOME=${ORACLE_BASE}/oracle_11g

  3. export ORACLE_SID=ora11g

  4. export ORACLE_UNQNAME=orcl

  5. export PATH=$PATH:${ORACLE_HOME}/bin/

  6. export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH

执行source ~/.bashrc更新环境变量,安装完成

13、安装简单测试(是否安装好了)

  1. lsnrctl start ##开启监听

  2. sqlplus / as sysdba

  3. startup

  4. lsnrctl status

  5. lsnrctl stop

  6. 查看服务名:

  7. show parameter service;

  8. 查看实例名:

  9. select * from v$instance;

  10. 查看数据库名:

  11. select name from v$database;

  12. 查看数据库用到几个表空间:

  13. select distinct TABLESPACE_NAME from tabs;

三、安装过程中出现的问题

在执行安装命令中可能会出现交换空间不足的错误,那么就需要在错误出现的时候执行下面的路径来设置交换空间(系统根目录下执行)。

  1. free -m

  2. mkdir /swapfile

  3. cd /swapfile

  4. sudo dd if=/dev/zero of=swap bs=1024 count=400000

  5. sudo mkswap -f swap

  6. sudo swapon swap

另外安装完成时可以来测试一下环境变量,看下输出是否和你的目录匹配。

  1. echo $ORACLE_BASE

  2. echo $ORACLE_HOME

  3. echo $PATH

当执行sqlplus / as sysdba时出现动态链接库的问题

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

解决方法:

在配置oracle环境变量的时候加上这个配置
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH

还有一种错误是启动监听的时候报错,报错信息如下

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-NOV-2017 13:36:56
Copyright (c) 1991, 2009, Oracle. All rights reserved.

Starting /usr/local/oracle/home/oracle_11g/bin/tnslsnr: please wait…

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /usr/local/oracle/home/oracle_11g/network/admin/listener.ora
Log messages written to /usr/local/oracle/home/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
TNS-12533: TNS:illegal ADDRESS parameters
TNS-12560: TNS:protocol adapter error
TNS-00503: Illegal ADDRESS parameters

出现这个问题的原因是hosts文件设置不正确,解决方法是在/etc/hosts文件中添加如下

127.0.0.1 localhost.localhostdomain localhost
::1 oracle
[主机IP地址] domain domain

另外需要修改/etc/sysconfig/network,修改主机名为oracle

NETWORKING=yes
HOSTNAME=oracle

之后执行命令hostname oracle

四、卸载oracle的两种方式

Linux Oracle 卸载步骤
第一种方法: 使用 oracle 自带的 runInstaller 卸载;
第二种方法:通过删除文件的方式卸载;(即:删除 Oracle 安装目录下的所有文
件和文件夹)
1. 使用 SQL*PLUS 停止数据库
2. 停止 Listener
3. 用 su 或者重新登录到 root
4. 将 oracle 安装目录删除
5. 将/usr/bin 下的文件删除(删除这三个文件后,Oracle 就不能使用了)
rm /usr/local/bin/dbhome
rm /usr/local/bin/oraenv
rm /usr/local/bin/coraenv
6. 将/etc/oratab 删除
7. 将/etc/oraInst.loc 删除
8. 将 oracle 用户删除(若要重新安装,可以不删除)
9. 将用户组删除(若要重新安装,可以不删除)

ubuntu14.04、CentOS安装oracle 11g数据库【转载】相关推荐

  1. 安装Oracle 11g数据库服务器类

    <Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南>第3章Oracle 11g数据库的安装,本章将介绍如何在32位系统结构的Windows 7操作系统平台上对Oracle ...

  2. 阿里云 centos安装oracle 11g 完全图解

    摘要: 说明: Linux服务器操作系统:CentOS 5.8 32位(注意:系统安装时请单独分区/data用来安装oracle数据库) Linux服务器IP地址:192.168.21.150 Ora ...

  3. CentOS 安装Oracle 11g R2

    最近配置项目的测试系统需要安装oracle,网上找了几个比较好的教程分享一下 参考地址:http://www.osyunwei.com/archives/5445.html Oracle数据库版本:l ...

  4. oracle数据库的详细安装,Oracle 11g数据库详细安装图文教程

    本教程为大家分享了Oracle 11g数据库详细安装步骤,供大家参考,具体内容如下 1.先到Oracle官网上下载11g oracle Database 11g第 2 版 (11.2.0.1.0)标准 ...

  5. 在RHEL6.0 X64系统中安装oracle 11g数据库及安装后设置

    前提条件: 1.查看系统版本 [root@server ~]#cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.1 ( ...

  6. ubuntu 14.04 64bit 安装 oracle 11g r2

    参考文章:http://tutorialforlinux.com/2016/03/09/how-to-install-oracle-11g-r2-database-on-ubuntu-14-04-tr ...

  7. ubuntu 64 12.04 oracle,Ubuntu 12.04 (amd64)安装Oracle 11g 总结

    五.添加对Oracle用户的内核限制,在/etc/security/limits.conf文件中增加以下数据,其中oracle是在第三步中创建的用户,跳过第三步的话就写当前用户. oracle    ...

  8. 在ubuntu 8.04下安装Oracle 11g

    Ubuntu下安装Oracle并不容易,须按步骤一步步的来,下面把图和步骤附下面,详细请见附件. 转载于:https://blog.51cto.com/dusong/141893

  9. windows1064安装oracle,在Windows 10系统下安装Oracle 11g数据库

    由于最近想深入的学习一下oracle所以.跑着虚拟机在跑数据库比较卡.比较难受.所以经过仔细认真研究终于在windows 10上安装成功了. 准备工作: 直接将两个压缩包加压,解压之后变为一个文件夹. ...

最新文章

  1. 华为鲲鹏产业生态加速算力升级,企业数字化转型在山西吹响号角
  2. Linux学习之系统编程篇:利用 shm 进行进程间通信
  3. (转)PowerHA完全手册(一,二,三)
  4. Linux文件编程(2)
  5. go float64 比较_Go 每日一库之 plot
  6. HttpServletRequestWrapper使用技巧(自定义session和缓存InputStream)
  7. 2021母婴行业洞察报告.pdf(附下载链接)
  8. Nginx 反向代理解决浏览器跨域问题
  9. MacBook Pro macOS 安装 Linux 双系统教程(一)
  10. android sonar 简书,Sonar使用指南
  11. 基于java五子棋游戏设计与实现
  12. 基于vue+springboot餐厅选座点餐系统源码
  13. wps的range对象
  14. 一个人赶着鸭子去每个村庄卖,每经过一个 村子卖去所赶鸭子的一半又一只。 这样他经过了 七个村子后还剩 两只鸭子,问问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?
  15. DIY一个测量心率装置
  16. 论文参考文献格式说明
  17. 研究生哪些行为可以在导师那超加分?
  18. 【深度学习图像识别课程】毕业项目:狗狗种类识别(3)代码实现
  19. 七巧节前夕,恋爱仙子探访黑店记
  20. centos播放器解码器下载

热门文章

  1. Ubuntu自带pdf查看器不能显示中文解决问题
  2. (数据挖掘 —— 无监督学习(聚类)
  3. 【特征工程】与【表示学习】
  4. 区块链预言机(4)内在机制
  5. 从(0,0)到(n,n)——广度优先及其改进
  6. lower_bound和 upper_bound 用法(STL)
  7. 【python】队列——用链表实现队列操作
  8. [How TO]-openjrok维护手册
  9. Google zerotouch方案介绍
  10. travis-ci中的checkpatch工具使用