如题,将我在云服务器上安装Oracle服务的惨痛经历分享出来,期间查找的资料踩过的坑无数,希望对大家能有帮助

闲话少叙,直接开始

首先,由于服务器比较差,需要先设置swap

  • 查看是否设置swap虚拟内存

    交换区(SWAP)要求:按照操作系统推荐配置,根据内存大小,为物理内存的1-1.5倍。

    推荐:创建2个大小相同、且分布在不同盘(pv)上的SWAP空间。

    free -m
  • 如未设置swap虚拟内存,则设置

    dd if=/dev/zero of=swapfile bs=40960 count=204800

    说明:

    -if //输入

    -of //输出

    -bs //块儿大小,单位是byte,最小为40K,该语句表示8000M的大小

    -count //总块数

    • 创建Linux交换文件

      mkswap swapfile
    • 激活swapfile交换文件

      swapon swapfile
    • 查看是否生效

      free -m

安装依赖包

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

如下图:

检查下lib是否安装齐全:

rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel

创建oracle用户

创建Oracle安装组oinstall

groupadd oinstall

创建数据库管理员组dba

groupadd dba

创建oracle用户,并分配主组oinstall,其它组:dba

useradd -g oinstall -G dba oracle

设置密码

passwd oracle

查看用户属于哪些组

groups oracle

如果先创建了oracle用户,则可以用usermod -g oinstall -G dba oracle来改变用户的组;

修改内核参数

先备份文件

cp /etc/sysctl.conf /etc/sysctl.conf.bak

修改文件

vim /etc/sysctl.conf

添加如下参数:

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

参数意义参考文档:http://www.cnblogs.com/colben/p/4120439.html

kernel.shmallkernel.shmmax两个值在此次的安装中文件里已有定义,暂时不做修改!

为使上述配置生效而不重启系统,执行如下命令

sysctl -p

修改用户限制

老规矩,先备份文件

cp /etc/security/limits.conf /etc/security/limits.conf.bak

修改文件

vim /etc/security/limits.conf

添加如下参数

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

修改用户验证选项

老规矩 ,先备份文件

cp /etc/pam.d/login /etc/pam.d/login.bak

修改文件

vim /etc/pam.d/login

添加如下参数

session    required     pam_limits.so

修改用户配置文件

先备份文件

cp /etc/profile /etc/profile.bak

修改文件

vim /etc/profile

添加如下参数

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

安装目录配置

mkdir -p /u01/oraInventory --创建一个目录树
mkdir /u01/oracle
chown -R oracle:oinstall /u01/ --改变目录的归属人
chmod -R 775 /u01/ --改变目录权限

目录根据实际情况定

修改用户bash shell

修改文件

vim ~/.bash_profile (oracle用户下执行?)
vim /etc/profile (不太了解的推荐用该命令)

增加如下参数:

export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=smjredw
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

如是选择vim ~/.bash_profile命令,则还需执行以下命令

su – oracle
env | grep ORA --查看环境变量是否完成

以上命令的区别请参考:http://www.cnblogs.com/jiaxiaoai/archive/2011/05/22/2053738.html

安装图形界面(静默安装则不需要,可参考静默安装文档)

这里走了一点弯路,分隔线之间的步骤过于复杂,可以跳过,直接看紧随其后的另一种简单的方法


查看当前运行级别

runlevel
N 3(当前运行级别是3)

查看是否安装桌面环境组件

yum grouplist | more

选择软件组与输入法还有字体等

yum groupinstall -y   "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"

(临时生效)安装成功后输入startx,或者 init 5, 即可切换到图形界面

(永久生效)要下次自动启动GNOME进入图形界面操作:

修改/etc/inittab文件中的

id:3:initdefault
# 将3改为5
id:5:initdefault

保存后重新启动系统


以上的方式过于麻烦,按以下步骤亦可

安装xwindow:

yum groupinstall “X Window System”

安装gnome:

yum groupinstall “Desktop”

确认xwindow 能正常显示

使所有用户都能访问Xserver

xhost +

进入oracle用户:

切换到图形界面

startx

export DISPLAY=:0.0
xclock

因需要使用图形界面,此处需用XShell + Xmanager的方式;

参考文章:

http://blog.csdn.net/wangzhaopeng0316/article/details/14221677

http://blog.csdn.net/linghao00/article/details/8768435

安装

  • 解压安装包

    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

    会在本目录下面出现一个database的目录

    如出现Command not found错误时,需安装压缩解压程序,使用命令:yum install -y unzip zip

  • 安装

    在xshell中需利用gnome启动安装程序,这里用vnc远程连接linux系统

    ./runInstaller
  • 建库

    需先配置Listener

    netca

    弹出配置界面,按步骤配置

    参考:http://blog.chinaunix.net/uid-28329865-id-3453085.html

  • 如报错,则需修改以下两个地方

    cat /etc/sysconfig/network

    修改

    NETWORKING=yes
    HOSTNAME=test11g
    GATEWAY=192.168.1.254
    cat /etc/hosts

    修改

    127.0.0.1               localhost.localdomain localhost test11g
    hostname test11g
  • 如还失败则做以下操作

    关闭防火墙

    chkconfig iptables off
    service iptables stop
    vi /etc/selinux/config
    SELINUX=enforcing #将此处修改为SELINUX=disabled

    如此,oracle用户退出重新登录就可以正常启动netca

    查看是否启动

    ps –ef | grep LISTENER

    创建数据库

    dbca
  • 验证

    使用sql-plus连接

    命令行下执行sqlplus /nolog

    进入sqlplus提示符,输入

    connect <username>/<password>@<连接标识符>
    
    #例子:
    connect report/Sma#007@10.10.xx.224:1521/dw
    #或者
    sqlplus 用户名/密码@192.168.208.xx:1521/orcl

    conn /as sysdba(本机上可以这样连系统用户)

安装成功后,还需要一些配置

  • 配置sqlplus:

    show pagesize;
    set pagesize 50000; show linesize;
    set linesize 32767;
  • 创建用户并授权

    创建用户和密码

    CREATE USER user_name IDENTIFIED BY pwd [DEFAULT TABLESPACE tablespace_name];

    赋予连接权限

    GRANT CONNECT TO inf_layer;

    可先给用户分配到resource角色,再根据需要赋予权限

  • 新建表空间

    例子:

    CREATE TABLESPACE DB_DATA
    LOGGING
    DATAFILE 'D:appAdministratororadataNewDB\DB_DATA.DBF'
    SIZE 32M
    AUTOEXTEND ON
    NEXT 32M MAXSIZE UNLIMITED
    EXTENT MANAGEMENT LOCAL;

    'DB_DATA'是你自定义的数据表空间名称,可以任意取名;

    'D:appAdministratororadataNewDB\DB_DATA.DBF'是数据文件的存放位置;

    'DB_DATA.DBF'文件名也是任意取;

    'size 32M'是指定该数据文件的大小,也就是表空间的大小。

最后感谢以下两篇全程提供指导的文章

http://www.linuxidc.com/Linux/2015-02/113222p4.htm

http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html

在Linux上安装Oracle服务的操作步骤的更多相关文章

  1. [转载]linux上安装oracle

    原文地址:linux上安装oracle作者:天涯恨客 1.创建oinstall组 [root@xieqing ~]# groupadd oinstall 创建dba组 [root@xieqing ~] ...

  2. linux上安装oracle

    Linux上安装Oracle 10g:  http://69520.blog.51cto.com/59520/91156

  3. 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导

    Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...

  4. VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库

    1.环境及安装前规划:虚拟机及OS如下 环境:VMware Wordstation ACE版 6.0.2 操作系统:OracleLinux-R5-U8-Server-i386-dvd    3.2G ...

  5. Linux上安装Oracle的辛酸史

    下个礼拜就要开始学习Oracle了,得嘞先在我的CentOS7上装一个(貌似听说Oracle装在Oracle Linux能得到更好的性能,不过懒得下Oracle Linux镜像,在CentOS7上装个 ...

  6. LINUX上安装JDK+tomcat+mysql操作笔记

    1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...

  7. Linux上安装Oracle的教程-centos7

    一.安装Oracle前准备 1.创建运行oracle数据库的系统用户和用户组   [humf@localhost ~]$ su root #切换到root   Password:   [root@lo ...

  8. 史上最详细最全的Linux上安装Oracle的教程-centos7

    一.安装Oracle前准备 1.创建运行oracle数据库的系统用户和用户组 [humf@localhost ~]$ su root #切换到root Password: [root@localhos ...

  9. Ubuntu Linux上安装oracle jdk

    说明:由于很多系统不支持使用OpenJDK,因此在ubuntu下会需要安装Oracle JDK.而Oracle JDK的安装貌似没有提供apt方式,因此安装Oracle JDK的方式相对麻烦一些,我经 ...

随机推荐

  1. OpenCV介绍

    OpenCV 是什么 OpenCV是计算机视觉开源库,主要算法涉及图像处理和机器学习相关方法. 是 Intel 公司贡献出来的,俄罗斯工程师贡献大部分 C/C++ 代码 在多数图像处理相关的应用程序中 ...

  2. /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法

    #############################BEGIN############################# strings /usr/lib64/libstdc++.so.6.0. ...

  3. ubuntu-查看所有用户

    cat /etc/shadow :后面的全是用户

  4. ZOJ1005 Jugs

    题意:有两个容量互质的容器,需要用这两个容器量出目标重量的水,找到其中一组解.bfs,使得搜索得到的解是步数最少的,遍历前驱法输出路径~ #include<bits/stdc++.h> u ...

  5. mysql update 修改多个字段and的语法问题

    在MySQL里面update一条记录,语法都正确的,但记录并没有被更新... 问题语句 执行之前的记录是这样的: 执行之后的记录是这样的: 可以看到,实际上是有效果的: why? 看起来,语法是完全没 ...

  6. sql语句插入时提示:“Duplicate entry 'XXX' for key 1 ” 是什么原因?

    你用的是MYSQL 数据库吧? 1:提示信息翻译:插入 xxx 使索引1重复分析:索引如果是primary unique这两两种,那么数据表的数据对应的这个字段就必须保证其每条记录的唯一性.否则就会产 ...

  7. JAVA GUI窗体及控件

    Swing基本操作: JAVA显示一个带按钮的窗口: import java.awt.*; import javax.swing.*; import javax.swing.border.EmptyB ...

  8. git——解决每次拉取、提交代码时都需要输入用户名和密码

    在开发中我们经常需要通过 git 对代码进行拉取和提交,频繁地输入用户名和密码会带来很大的麻烦,下面就介绍一下解决git每次拉取.提交代码时都需要输入用户名和密码的方法. 很简单,只要两步骤就能实现: ...

  9. 【原】openresty学习

    参考文档: 1.openresty最佳实践:https://moonbingbing.gitbooks.io/openresty-best-practices/content/ 2.openResty ...

  10. Android开发实例之miniTwitter登录界面的实现

    原文: http://www.jizhuomi.com/android/example/134.html 本文要演示的Android开发实例是如何完成一个Android中的miniTwitter登录界 ...