Orcale11g单机安装与卸载

前言:本篇主要介绍Oracle11g企业版安装的准备工作,建议使用图形化界面安装,静默安装出现问题较多,初学者不好排查,本篇只给出关键步骤,最后介绍完全删除Orcale方法;

Oracle Database 11g Express Edition免费版使用RPM安装,过程较为简单,这里不作介绍。

 

安装准备工作:

1.操作系统及Oracle版本
Linux版本:CentOS release 6.3 (Final)
Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64
(linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip) 
2.硬件检测
物理内存不少于1G
硬盘可以空间不少于5G
swap分区空间不少于2G
支持256色以上显卡
cpu主频不小于550mH
 
3.检查安装依赖系统包
操作系统依赖的具体包,请参考官方安装文档。
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11 (32-bit) or later
unixODBC-devel-2.2.11 (64-bit) or later
unixODBC-2.2.11 (64-bit) or later
 
检查依赖包 
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
如果包有显示is not installed(没安装),就用yum install 命令安装
 
4.创建所需的操作系统组和用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
设置oracle用户密码
 
passwd oracle
 
5.修改内核参数
在/sbin/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
 
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 = 1048576
修改后,使设置生效
 
/sbin/sysctl -p
 
6.修改用户限制
在/etc/security/limits.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
session required pam_limits.so
在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使设置生效
 
source /etc/profile
7.创建安装目录(可根据情况,选择比较多空间的目录创建)
 
mkdir -p /usr/oracle
chown -R oracle:oinstall /usr/oracle
chmod -R 775 /usr/oracle
 
8.创建/etc/oraInst.loc文件(可略去)
内容如下 
nventory_loc=/usr/oracle/oraInventory
inst_group=oinstall
更改文件的权限
 
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
 
 
9.设置oracle环境变量
.bash_profilewen文件添加:

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=ecis

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

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

使设置生效
source /home/oracle/.bash_profile
检查环境变量: 
env
 

安装Orcale

解压oracle安装文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
 
建议使用图形化界面安装,图形化界面安装比较简单,此处省略。

./runInstaller  --进入图形化安装过程

检测过程可能会遇到缺少依赖文件,如果前面已经安装过,只是版本不同,则不予理会;

数据库软件的时候,默认数据库是不存在的,监听也不存在,所以想安装用下面窗口命令:

netca  --安装监听

dbca   --安装数据库

 
 
静默安装:
su - oracle
修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
 
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=db // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/usr/oracle/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/usr/oracle/product/11.2.0/db_1 // oracle_home
ORACLE_BASE=/usr/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba // dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false)
DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

开始静默安装
cd database
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
 
cd $ORACLE_BASE/oraInventory/logs
tail -f installActions*.log
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
/usr/oracle/oraInventory/orainstRoot.sh
/usr/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window 
2. Log in as "root" 
3. Run the scripts 
4. Return to this window and hit "Enter" key to continue
 
Successfully Setup Software.
#-------------------------------------------------------------------
 
使用root用户执行脚本

这里是有两个脚本要执行,跑一下就好
 
su - root
/usr/oracle/product/11.2.0/db_1/root.sh
/usr/oracle/oraInventory/orainstRoot.sh
 
 
设置oracle环境变量
su - oracle
vim ~/.bash_profile
在最后加上以下内容,根据实际情况设置Oracle环境变量
 
在最后加上以下内容
 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
使设置生效
 
source /home/oracle/.bash_profile
 
oracle11g的数据库实例就算是装好了

监听问题:

[oracle@localhost admin]$ lsnrctl status

 

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 30-NOV-2016 16:18:08

 

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

Start Date                30-NOV-2016 16:17:54

Uptime                    0 days 0 hr. 0 min. 14 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

The listener supports no services

The command completed successfully

[oracle@localhost admin]$

 

解决方法:

登录数据库:

$sqlplus / as sysdba

显示服务名:

SQL>show parameter service_names

强制注册服务:

SQL>alter system register;

查看监听状态:

$lsnrctl status

 

卸载:

1.使用SQL*PLUS停止数据库
[oracle@OracleTest oracle]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate]
SQL> exit

2.停止Listener
[oracle@OracleTest oracle]$ lsnrctl stop

3.停止HTTP服务
[root@OracleTest /root]# service httpd stop

4.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了)

5.将安装目录删除
[root@OracleTest /root]# rm -rf /u01/app/oracle/

6.将/usr/bin下的文件删除
[root@OracleTest /root]# rm /usr/local/bin/dbhome
[root@OracleTest /root]# rm /usr/local/bin/oraenv
[root@OracleTest /root]# rm /usr/local/bin/coraenv

7.将/etc/oratab删除
[root@OracleTest /root]# rm /etc/oratab

8.将/etc/oraInst.loc删除
[root@OracleTest /root]# rm /etc/oraInst.loc

9.将oracle用户删除(若要重新安装,可以不删除)
[root@OracleTest /root]# userdel –r oracle

10.将用户组删除(若要重新安装,可以不删除)
[root@OracleTest /root]# groupdel oinstall
[root@OracleTest /root]# groupdel dba

11.将启动服务删除
[root@OracleTest /root]# chkconfig --del dbora
到此为止重启后,你的Linux系统下的Oracle数据库已完全删除了!!!

如果要再次安装, 最好先做一些备份工作。
包括用户的登录脚本,数据库自动启动关闭的脚本,和Listener自动启动的脚本。
要是有可能连创建数据库的脚本也保存下来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt连接mysql4.7数据库_QT4.7访问MySQL的驱动编译过程

我们假设你已经成功安装了MySQL(我用的是MySQL的安装版)和QT,MySQL的安装路径采用的是其默认安装路径,也就是安装在了C:\Program Files下。下面开始正式讲解QT访问安装版MySQL的驱动的编译方法。第一步:因为MySQL的安装路径下有空格&#xff…

cellpadding_在CSS中设置cellpadding和cellspacing

cellpaddingIntroduction: 介绍: It is not unknown anymore that now and then we make use of tables in our web page or website, therefore we all are familiar with how to create tables or grids in our website or web page but there are times when we…

JavaScript中的arguments对象

JavaScript中的arguments对象 arguments 是一个类似数组的对象, 对应于传递给函数的参数。 语法 arguments 描述 arguments对象是所有函数中可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数的条目,第一个条目的索引…

mongodb 排序_技术分享 | MongoDB 一次排序超过内存限制的排查

本文目录:一、背景1. 配置参数检查2. 排序字段是否存在索引二、测试环境模拟索引对排序的影响1. 测试环境信息2. 报错语句的执行计划解释 3. 建立新的组合索引进行测试三、引申的组合索引问题1. 查询语句中,排序字段 _id 使用降序2. 查询语句中&#xff…

sim800 模式切换_SIM的完整形式是什么?

sim800 模式切换SIM:订户标识模块或订户标识模块 (SIM: Subscriber Identity Module or Subscriber Identification Module) SIM is an abbreviation of a Subscriber Identity Module or Subscriber Identification Module. SIM is a portable chip and an integra…

css新单位 vw , vh

考虑到未来响应式设计的开发,如果你需要,浏览器的高度也可以基于百分比值调整。但使用基于百分比值并不总是相对于浏览器窗口的大小定义的最佳方式,比如字体大小不会随着你窗口改变而改变,如今css3引入的新单位明确解决这一问题。…

linux下mysql目录结构_linux下mysql安装配置与目录结构

本节内容:linux下mysql安装与配置、mysql目录结构。1、准备安装程序(官方网站下载)服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm客户端:MySQL-client-community-5.1.44-1.rhel4.i386.rpm2、安装(打印信息略) 代码示例:[rootlocalh…

Python字典values()方法与示例

字典values()方法 (Dictionary values() Method) values() method is used to get all values of a dictionary, it returns a view object that contains the all values of the dictionary as a list. values()方法用于获取字典的所有值,它返回一个包含字典所有值…

spark源码分析之Executor启动与任务提交篇

任务提交流程 概述 在阐明了Spark的Master的启动流程与Worker启动流程。接下继续执行的就是Worker上的Executor进程了,本文继续分析整个Executor的启动与任务提交流程Spark-submit 提交一个任务到集群通过的是Spark-submit通过启动脚本的方式启动它的主类&#xff0…

mysql 5.5.22.tar.gz_MySQL 5.5.22源码编译安装

MySQL 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。注意:此安装是默认CentOS下已经安装了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev&#x…

Java Vector setElementAt()方法与示例

向量类setElementAt()方法 (Vector Class setElementAt() method) setElementAt() method is available in java.util package. setElementAt()方法在java.util包中可用。 setElementAt() method is used to set the given element (ele) at the given indices in this Vector.…

利用python进行数据分析D2——ch03IPython

为无为,事无事,味无味。大小多少,报怨以德。图难于其易,为大于其细;天下难事必作于易,天下大事必作于细。——老子关于图片的例子:import matplotlib.pyplot as plt imgplt.imread(ch03/stinkbug.png) import pylab plt.imshow(img) pylab.show()结果:调…

mysql 视图 字典_MySQL深入01-SQL语言-数据字典-服务器变量-数据操作DML-视图

SQL语言的组成部分常见分类:DDL:数据定义语言DCL:数据控制语言,如授权DML:数据操作语言其它分类:完整性定义语言:DDL的一部分功能约束约束:包括主键,外键,唯一…

为什么我会被淘汰?

这是一个值得讨论的问题。华为前段时间也传出了大规模裁员的一些负面新闻,一时间搞的人心惶惶。总结起来说,还是怕失去这份赖以生存的工作,尤其是对于上有老下有小的中年人来说,工作尤为重要。 淘汰,是软件行业不变的真…

Java Throwable initCause()方法与示例

Throwable类initCause()方法 (Throwable Class initCause() method) initCause() Method is available in java.lang package. initCause()方法在java.lang包中可用。 initCause() Method is used to instantiate the cause of this throwable to the given value and this met…

mysql 存储过程死循环_pl/sql存储过程loop死循环

今早,一个存储过程,写过很多次的存储过程,随手一写,各种报错,各种纠结,网上一搜,有好多个都遇到,论坛上给出的结局答案,今早,一个存储过程,写过很…

GATK之VariantAnnotator

VariantAnnotator 简要说明 用途: 利用上下文信息注释识别的变异位点(variant calls)分类: 变异位点操作工具概要: 根据变异位点的背景信息(与功能注释相对)进行注释。目前有许多的注释模块(见注释模块一节…

pipedreader_Java PipedReader connect()方法与示例

pipedreaderPipedReader类的connect()方法 (PipedReader Class connect() method) connect() method is available in java.io package. connect()方法在java.io包中可用。 connect() method is used to cause this PipedReader to be connected to the given PipedWriter (sou…

《Java学习指南》—— 1.4 设计安全

本节书摘来异步社区《Java学习指南》一书中的第1章,第1.4节,作者:【美】Patrick Niemeyer , Daniel Leuck,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.4 设计安全 Java被设计为一种安全语言,对于这一事实…

ppython_Python pcom包_程序模块 - PyPI - Python中文网

PCOM在python中一个非常基本的unitronics pcom协议实现。如何使用from pcom import commandsfrom pcom.plc import EthernetPlcwith EthernetPlc(address(192.168.5.43, 1616)) as plc:# Read realtime clockc commands.ReadRtc()res plc.send(c)print(res)# Set realtime cl…