也可参考:http://blog.csdn.net/nhm_lxy/article/details/37813789
转自:http://www.cnblogs.com/pengineer/p/4351370.html
参考手册:http://docs.oracle.com/cd/E11882_01/nav/portal_11.htm/Database Quick Installation Guide for Linux x86-64
一,前期准备:
1,环境说明:
Linux:64位Centos release 6.5 (Final)
Oracle:linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
方式:通过本地虚拟机给远程服务器安装oracle
2, 在线安装Oracle需要的RPM支持包(选择x86_64的devel类型的安装包,如果没有联网,可以去ISO安装文件里面去找,注意不同的操作系统版本对应的安装包不一样,下面是基于RedHat5的安装要求,centos是基于RedHat的):
1. binutils-2.17.50.0.6
2. compat-libstdc++-33-3.2.3 (33表示3.3版,296表示2.96版)
3. elfutils-libelf-0.125
4. elfutils-libelf-devel-0.125
5. elfutils-libelf-devel-static-0.125
6. gcc-4.1.2
7. gcc-c++-4.1.2
8. glibc-2.5-24
9. glibc-common-2.5
10. glibc-devel-2.5
11. glibc-headers-2.5
12. kernel-headers-2.6.18
13. ksh-20060214
14. libaio-0.3.106
15. libaio-devel-0.3.106
16. libgcc-4.1.2
17. libgomp-4.1.2
18. libstdc++-4.1.2
19. libstdc++-devel-4.1.2
20. make-3.81
21. numactl-devel-0.9.8.i386
22. sysstat-7.0.2
23. unixODBC-2.2.11 (官方文档里面没有写)
24. unixODBC-devel-2.2.11
说明:安装之前可以先通过rpm -qa | grep binutils 来检查本机上已经安装的包,然后在安装未安装的包。这些包在系统安装文件ISO里面有。
3,开始安装前我们首先要配置内核参数,保证Oracle的正常运行(Oracle启动需要较多的资源)。配置如下:
修改文件/etc/sysctl.conf,用vi /etc/sysctl.conf打开文件修改一下内容,有责略过,没有责添加。

编辑完成后按Esc键,输入“:wq”存盘退出 各参数意义如下:
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位),通常将其设置为2G或更大。
(2)shmmni:用于设置系统范围内共享内存段的最大数量。默认值是 4096 ,通常不需要更改。
(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,如系统自动生成则不需要修改。
(4)sem:该参数表示设置的信号量,当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEM设置如:kernel.sem = 250 32000 100 128各数据段含义如下。 SEMMSL SEMMNSSEMOPM SEMMNI
SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,如当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。
SEMMNS参数应设置为SEMMSL*SEMMNI,如例SEMMSL为5010,SEMMNS参数应为(5010*128)=641280。 SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
(6)rmem_default — 默认的TCP/IP接收缓冲大小
(7)rmem_max — 最大的TCP/IP接收窗口的大小
(8)wmem_default — 默认的TCP/IP发送窗口大小
(9)wmem_max — 最大的TCP/IP发送窗口的大小
要使 /etc/sysctl.conf 更改立即生效,执行以下命令: > sysctl -p
可能出现如下错误:
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
解决方法:
>lsmod | grep bridge
>modprobe bridge
>lsmod | grep bridge
如果还有其他的出错,那就是配置文件输入时的拼写错误。
4,修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,加入内容。
oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240
编辑完成后按Esc键,输入“:wq”存盘退出.
5,修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib64/security/pam_limits.so
session required pam_limits.so
备注:如果安装的Oracle是32为的,第一行就应该是 session required /lib/security/pam_limits.so,否则登录时会出现循环登录。
6,编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,加入下列内容。

7,创建Oracle用户和安装目录。
创建用户和用户组,输入命令:
>groupadd oinstall //创建Oracle Inventory 组
>groupadd dba //创建组群DBA 组
>useradd -g oinstall -G dba oracle //创建Oracle软件拥有者(-g表示辅助组,-G表示主组)(还可以在后面接-d dir,表示用户的家目录的位置,默认普通用户的家目录在/home下)
创建安装目录:
>mkdir -p /home/oracle/app #基目录
>mkdir /home/oracle/app/oraInventory #该目录就像Windows下的注册表文件,每当有软件安装,就会向里面写一些注册表
>mkdir /home/oracle/app/oracle #oracle数据库目录
>mkdir /home/oracle/app/oracle/product #oracle实例目录
更改目录属主为Oracle用户所有(防止安装过程中发生权限不够的问题),输入命令:
>chown -R oracle:oinstall /home/oracle/app
>chmod -R 775 /home/oracle/app/
8,配置oracle用户的环境变量,要在oracle用户下进行操作,输入:
>su oracle
>vi /home/oracle/.bash_profile
export EDITOR=vi
export ORACLE_SID=orcl #实例名
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export INVENTORY_LOCATION=/home/oracle/app/oraInventory
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG="American_america.zhs16gbk"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
umask 022
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export erase ^h #用于消除换车键产生的乱码
补充:如果我们的Linux是mini安装的,那么就没有JDK,我们需要安装它: yum install java-1.7.0-openjdk-devel.x86_64 -y
注意,安装的目录默认就是上面的JAVA_HOME,但是后面的版本数字可能会不一样,需要改动。
二,安装Oracleuyn
1,安装准备
1)退出系统以Oracle用户登陆。
2)首先将Oracle软件安装包复制到linux系统中的一个目录下,确保Oracle用户对此目录有足够权限。
3)打开一个终端,运行unzip命令解压oracle软件安装包。
解压完成后生成新目录database,进入解压后的database目录查看。

2.1,开始安装(系统安装有图形化界面)
[ oracle@localhost database ]$ ./runInstaller
安装报错:

这种错误有可能发生,也有可能不发生,主要是因为Oracle的安装需要可视化界面。
解决:

如果解决不了,退出登录,重新用Oracle用户登录,然后用Oracle用户执行startx开启图形化界面。
2.2,开始安装(系统没有安装图形化界面或者是通过ssh远程安装oracle)
在这种情况是不能直接安装,因为Oracle的安装需要图形化界面,可以通过Xmanager实现,添加配置如下:
(1)安装Xmanager,打开Xmanager下的Xmanager - Passive,用户接收显示ssh传来的图形化界面。
(2)重新编辑配置文件:vi /home/oracle/.bash_profile,增加一行:
export DISPLAY=192.168.178.1:0.0 #192.168.178.1是安装Xmanager物理主机的真实IP地址。后面的0.0应该是Xmanager的图形界面认证标识
(3)[ oracle@localhost database ]$ ./runInstaller

3,安装过程
选择常见一个数据库和配置一个数据库:
创建一个桌面版数据库:






(注意)安装快完成时,系统会提示你需要用root权限执行2个shell脚本。 按照其提示的路径 执 行/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh 和 /home/oracle/oraInventory/orainstRoot.sh,安装完成会有提示信息。 执行命令:①>cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
>sh root.sh #当中有个敲回车的点
② >cd /home/oracle/app/oraInventory
>sh orainstRoot.sh

close:

三,启动执行Oracle
1,执行>sqlplus / as sysdba
SQL>select TABLE_NAME from user_tables;
报错:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not existLinux-x86_64
Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
这种问题可能会出现,也可能不会出现,一般是ORACLE_HOME 和ORACLE_SID环境变量的错误,也有可能是Oracle实例没有启动,刚好我两种都碰到了。首先我在ORACLE_HOME前面多加了个斜杠,注意最后面也不能有斜杠:
>echo $ORACLE_HOME
//home/oracle/app/oracle/product/11.2.0/dbhome_1
>echo $ORACLE_SID
>orclps -ef | grep smon
执行>vi /home/oracle/.bash_profile查看文件内容:
如果仅仅是修改了上面的错误,还是会报出同样的错误,那是因为我们的oracle数据库实例没有启动,看下一步。
2,修改后,重启Linux,启动Oracle实例
>sqlplus / as sysdba #注意第一次登陆必须要用管理员的身份登陆(无需密码),因为只有管理员才有启动实例的权限。
>startup
成功启动oracle。
3,切换用户,操作数据库。
四,当你进入sqlplus后,发现无法使用上下键来翻出历史命令,我们可以使用第三方工具包解决该问题。
(1)到官网下载rlwrap-0.42.tar.gz包;
(2)上传到Linux,然后执行 tar -zxvf rlwrap-0.30.tar.gz 解压;
(3)进入解压目录,编译配置文件 ./configure,此时可能会报出如下错误:
这是因为缺少readline相关包,执行yum list | grep readline 可以找到这些包,执行yum -y install readline*
(4)如果报错,解决后,重新编译直到无误,然后编译安装软件make ; make install;
(5)编辑Oracle用户配置文件:vi /home/oracle/.bash_profile,添加如下两行:
alias sqlplus=‘rlwrap sqlplus'
alias rman='rlwrap rman'
OK,这样就可以像Windows下一样通过上下翻动调出sqlplus的历史命令了。
至此安装完毕!
注意:tmpfs空间一定要给足!!!否则数据库启不来!
- libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF-RING的详细过程
看到网上有人讲解fedora 9下安装PF-RING的过程,都是几年前的了,比较老了,我安装PF-RING就是为了使用libpcap库,libpcap的原理是通过socket 将数据包从网卡 捕获数据 ...
- centos7下安装oracle11gR2的详细步骤
环境准备 安装包: CentOS-7-x86_64-DVD linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 本教 ...
- Centos6.8下安装oracle_11gr2版主要过程
安装前准备 下载oracle版本 地址:http://docs.oracle.com/cd/E21901_01/index.html ,下载2个文件分别是 linux.x64_11gR2_databa ...
- CentOS6.5下安装oracle11gR2
安装前须知 内存(RAM)的最小要求是 1GB,建议 2GB 及以上. 虚拟内存 swap 建议:内存为 1GB~2GB 时建议swap大小为内存大小的 1.5 倍:内存为 2GB~16GB 时建议s ...
- linux下安装redis的详细过程
先安装一些组件: yum -y install gcc gcc-c++ libstdc++-devel 下载并安装: # wget http://download.redis.io/releases/ ...
- Linux下安装redis的详细过程(redis版本为4.0.10)
1.安装redis步骤 1.推荐进入到linux路径/usr/local/src 2.$ wget http://download.redis.io/releases/redis-4.0.10.tar ...
- VMware 安装 Centos7 超详细过程
https://www.runoob.com/w3cnote/vmware-install-centos7.html centos7安装参考文档 VMware 安装 Centos7 超详细过程 分类 ...
- Centos7安装jdk-12的详细过程
Centos7安装jdk-12的详细过程 2019-04-12 21:23:24 一.下载JDK-12版本 链接地址:官方地址 下载:jdk-12_liunx-x64_bin.tar.gz 二.检 ...
- docker安装配置gitlab详细过程
docker安装配置gitlab详细过程 获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...
随机推荐
- JS基本功 | JavaScript专题之数组 - 方法总结
Array.map() 1. map() 遍历数组 语法: let new_array = arr.map(function callback(currentValue, index, array ...
- 「JavaSE 重新出发」01. Java介绍
「白皮书」关键术语 简单性(C++--) 面向对象 分布式 健壮性 安全性 体系结构中立 可移植性 解释型 高性能 多线程 动态性 Java 发展历程 SUN公司--Stanford Universi ...
- oracle查询优化之子查询条件优化
环境:oracle 11g 现有a表与b表通过a01字段关联,要查询出a表的数据在b表没有数据的数据:sql如下 ) ) 因为flag是虚拟字段没有走不了索引导致这条sql执行起来特别慢 310W条数 ...
- linux上使用chrome自动化测试(无界面)
selenium自动化测试主要是用于有图形界面的系统上,对于无图形界面的情况可以通过以下方法来实现 服务器信息 [root@spider01 ~]# hostnamectl Static hostna ...
- swoole之memoryGlobal内存池分析
内存池的作用: 直接使用系统调用malloc会有如下弊端: 频繁分配内存时会产生大量内存碎片 频繁分配内存增加系统调用开销 容易造成内存泄漏 内存池是预先申请一定数量的,大小相等的内存块作为预备使用: ...
- MATLAB插值
转自原文 MATLAB插值 插值问题 在应用领域中,由有限个已知数据点,构造一个解析表达式,由此计算数据点之间的函数值,称之为插值. 实例:海底探测问题 某公司用声纳对海底进行测试,在5×5海里的坐标 ...
- [javase学习笔记]-7.6 thiskeyword的原理
这一节我们来讲一个keyword.就是thiskeyword. 我们还是通过样例来看吧: class Person { private String name; private int age; Pe ...
- java线程共享受限资源 解决资源竞争 thinking in java4 21.3
java线程共享受限资源 解决资源竞争 具体介绍请參阅:thinking in java4 21.3 thinking in java 4免费下载:http://download.csdn.net/ ...
- SQL Server单表已700w+将普通表转换成分区表
最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话.下面简要说一下将普通表转为分区表的步骤. 一.创建文件组 ...
- Nginx下部署TP5项目
标签(空格分隔): linux nginx配置文件: server { listen 81; #listen [::]:80; server_name _; index index.html inde ...