手把手教你做之Linux上安装Oracle11g

这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流。

因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Oracle数据库,本文旨在能让任何人看完之后都能在linux上安装Oracle。

安装前准备

Oracle下载地址

oracle安装文件下载

根据需求下载对应的安装包版本。X86是32位操作系统用的安装包,x86-64是64位操作系统用的安装包。

在系统上检查软件依赖的安装

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

软件依赖检查

提示 is not installed 的用yum安装

例如:

yum -y install compat-libstdc++-33 yum -y install elfutils-libelf-devel

提示:要提前配置好yum源。

创建oracle用户

密码为oracle,密码输入两次。

/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/useradd -g oinstall -G dba oracle passwd oracle

系统提示:

Changing password for user oracle.

New password:

BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

修改内核参数

vi /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

修改内核参数

vi中编辑的方法

按i进入输入模式,esc退出 :wq退出编辑

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

/sbin/sysctl –p

修改用户限制

vi /etc/security/limits.conf

文本末尾加入以下内容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

修改用户验证选项

vi /etc/pam.d/login

文本末尾加入以下内容:

session required pam_limits.so

修改用户配置文件

vi /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

安装目录配置

切换到root 用户,执行以下命令。

mkdir -p oraInventory chown -R oracle:oinstall oraInventory chmod -R 775 oraInventory

配置oracle用户的环境变量

切换到oracle用户

然后直接输入

vi .bash_profile

文本末尾加入以下内容:

export ORACLE_BASE=/u01

export ORACLE_HOME=$ORACLE_BASE/oracle

export ORACLE_SID=oracleSid

export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

之后执行

source .bash_profile

Oracle安装

先将安装包利用ftp传到目录下,一定要用oracle用户传!

然后进入目录解压文件

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

因为oracle11g的安装有图形界面,而我暂时没法用远程命令显示图形。

所以在虚拟机本机上运行如下命令

[oracle@localhost oraclepackage]$ cd database/ [oracle@localhost database]$ ./runInstaller

执行开始安装命令

安装桌面类数据库

忽略检查的错误

因为之前我们检查了软件安装的依赖,这些错误都是版本的问题,不影响安装,所以我们选择忽略。

之后的安装就跟在windows图形化界面的安装一样了。

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置, 新开启一个终端,输入命令:

[root@localhost oraInventory]# cd /u01/oracle/ [root@localhost oracle]# sh root.sh [root@localhost ~]# cd /oraInventory/ [root@localhost oraInventory]# sh orainstRoot.sh

root用户执行两个命令

安装后的问题解决

启动监听

[oracle@localhost ~]$ lsnrctl start

连接数据库

[oracle@localhost ~]$ sqlplus / as sysdba

启动数据库实例

SQL> startup

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/oracle/dbs/initoracleSid.ora'

提示文件未找到,解决办法如下,将/u01/admin/orcl/pfile下类似于init.ora.的文件复制到/u01/oracle/dbs路径下,并重命名为未找到的文件名。

[oracle@localhost ~]$ cd /u01/admin/orcl/pfile [oracle@localhost pfile]$ ls

init.ora.10302016235216

[oracle@localhost pfile]$ cp init.ora.10302016235216 /u01/oracle/dbs [oracle@localhost pfile]$ cd /u01/oracle/dbs [oracle@localhost dbs]$ mv init.ora.10302016235216 initoracleSid.ora SQL> startup

提示存储不足。

ORA-00845: MEMORY_TARGET not supported on this system

用root用户编辑/etc/fstab

[root@localhost etc]# vi fstab

在tmpfs 后面加入,size=3G

编辑 fstab文件

修改完成后重启挂载,遇到在使用的情况,故加上参数-k,之后重启挂载。

[root@localhost ~]# umount /dev/shm

umount: /dev/shm: device is busy.

(In some cases useful info about processes that use

the device is found by lsof(8) or fuser(1))

[root@localhost ~]# fuser -mvk /dev/shm [root@localhost ~]# umount /dev/shm [root@localhost ~]# mount /dev/shm

关闭防火墙

sudo service iptables stop

防火墙文件中加入下面一行,然后启动防火墙。

sudo vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

修改防火墙文件

修改密码文件

可以在本地用sysdba登陆,但plsql不能访问。

查询oracle实例名。

查询oracle实例名

select instance_name from v$instance;

将dbs目录下orapw实例名的文件修改成对应的。或者使用一下命令重新生成。

orapwd file=orapworacleSid password=123456 entries=10

密码文件的生成

重启数据库,plsql就可以访问了。

SQL> shutdown immediate SQL>startup

数据库重启

当使用如下命令可以查出结果时,就可以远程连接数据库了。

select * from v$pwfile_users;

至此oracle11g在Linux上的基本安装就完成了。

oracle可以在liux上装_【Oracle】手把手教你做之Linux上安装Oracle11g相关推荐

  1. du -sh 如何找到最大的文件夹_小白必看!手把手教你如何在linux上安装redis数据库...

    首先我们要清楚redis是什么? redis是一种非关系型数据库,它与MySQL的这种关系型数据库不同,MySQL是将数据存储在磁盘中,而redis是储存在内存中.一般很多公司都是使用MySQL+re ...

  2. linux终端安装playonlinux,安装PlayOnLinux - 手把手教您如何在Linux上安装《暗黑3》_Linux新闻_Linux公社-Linux系统门户网站...

    第一步:安装PlayOnLinux 这里,我们选择32位版本的Ubuntu 12.04测试安装<暗黑3>.并且,在安装过程中,我们会使用到PlayOnLinux应用程序.很显然,因为有一些 ...

  3. activeperl安装不成功_手把手教你:Windows系统上安装GPU深度学习环境

    前言 在入手学习深度学习的过程当中,有好几个朋友都咨询过我如何安装深度学习环境,之前写过一篇在Ubuntu环境下安装深度学习环境,但是有部分朋友在Windows电脑上安装深度学习环境遇到过许多的问题, ...

  4. 平面设计中的网格系统_干货 | 手把手教你做#响应式设计# 还有标准栅格系统库分享!...

    不管是做平面设计还是UI设计的同学,「网格系统」(又称栅格系统)都是经常听到的专有名词,但是一遇到栅格系统如何指导我们做响应式设计的问题,很多同学都会一脸懵*.本期推荐Ivan.Zheng的深度好文, ...

  5. 手把手教你如何在 Linux 上源码安装最新版本 R

    如果你使用的 Linux 系统 GCC 版本太低,又没有 root 权限(即使有 root 权限又担心升级 GCC 带来的风险):同时你又不想额外多安装多一个 Anaconda 或者 Minicond ...

  6. touchpad android 7.1,手把手教你如何在Touchpad上安装Android

    在正式安装之前,请先确保如下事项: 1.在你的电脑上已经安装了***的WQI,并且Touchpad能够被WQI正确识别出来.(本人Win7 64位,使用的是WQI4.3.1) 2.确保Touchpad ...

  7. 手把手教你在VMware16.0上安装ubuntu20.04(虚拟机安装Ubuntu系统))

    参考链接: https://zhuanlan.zhihu.com/p/141033713 1.下载ubuntu镜像 1.进入Ubuntu官网 https://cn.ubuntu.com/ (官网如图所 ...

  8. Linux上安装和使用git到gitoschina和github上_亲测

    Linux上安装和使用git到gitoschina和github上_亲测 git介绍与在linux上安装 创建SSHkey 在git-oschina使用 maven-oschina使用 在github ...

  9. unix 安装oracle,linux上安装Oracle

    当前位置:我的异常网» Linux/Unix » linux上安装Oracle linux上安装Oracle www.myexceptions.net  网友分享于:2013-09-03  浏览:26 ...

最新文章

  1. centos6.5mysql cluster 7.4.11_完美起航-MySQLMHA高可用集群部署及故障切换(图文详解)...
  2. 【软件工程】CMMI 能力成熟度模型集成 ( CMMI 工程过程域 | CMMI 支持过程域 ) ★
  3. python开发效率高吗_提升python开发者工作效率的六个库,你知道几个?
  4. 删除了计算机网络如何恢复,回收站删除了怎么恢复?回收站清空了怎么恢复简单方法【图文】-太平洋电脑网PConline-太平洋电脑网...
  5. Python JavaScript 的数组去重
  6. 从零基础入门Tensorflow2.0 ----二、5.3 实战sklearn超参数搜索
  7. java string转number_DataBinding的简单使用(java/kotlin)
  8. 维护LINQ to SQL多对多表间关系[转]
  9. 20135210——信息安全系统设计基础第一周学习总结
  10. 怎样查看计算机历史的开机时间,win10系统怎么查看电脑的历史开关机时间|win10系统如何查询电脑开机后运行多长时间...
  11. 数据迁移怎么测,都有哪些步骤?
  12. poi给Word添加“下一页”
  13. 百度竞价推广怎么做?需要注意哪些?
  14. PAT A1010 Radix (25 分)
  15. word2003文档转pdf预览加盖水印与套红
  16. Python从入门到实践:打包和解包(*和**)的使用
  17. SQL Server的优点与缺点
  18. OpenCV(6):基于本地库的图像识别软件(批量读取图片)
  19. 掌中咖啡:移动开发中的JAVA应用
  20. 预见未来 | 图像识别的未来:机遇与挑战并存

热门文章

  1. ShellExecute, WinExec, CreateProcess区别
  2. 数据库数据格式化之Kettle Spoon
  3. 深入分析 Javascript 单线程
  4. oracle 物化视图 --转
  5. SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」(亲测)
  6. intellij 常用设置
  7. Python MySQLdb 循环插入execute与批量插入executemany性能分析(list批量写法亲测成功)
  8. Go赋值使用:类型{} 定位使用.
  9. Linux的Apache报错(20014)Internal error: Error retrieving pid file logs/httpd.pid
  10. Bug邮件队列插入不了