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.pswp.cn/news/541522.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541522.shtml
英文地址,請注明出處:http://en.pswp.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…