日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux CentOS 7安装Oracle11g超完美教程

發布時間:2023/12/31 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux CentOS 7安装Oracle11g超完美教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle部署

基本環境介紹

  • Linux我們默認使用CentOS 7 x64

  • 所以為了對應操作系統我們使用64位的Oracle 11g數據庫

  • Oracle11g需要準備至少:2核CPU、2G內存、8GB的硬盤空間

    • 查看cpu詳細信息

      lscpu
    • 查看內存詳細信息

      free -h
    • 查看存儲盤詳細信息

      lsblk

確保服務器能訪問外網,可以訪問百度進行測試

ping www.baidu.com

檢測是否安裝了Oracle

查看是否有 oracle 的進程

ps -ef | grep ora

檢查是否有oracle用戶

# 一般安裝oracle的時候默認會建一個oracle用戶 id oracle

卸載Oracle

1.重做一次虛擬機

因為Oracle的卸載極其麻煩,從效率上講甚至不如直接重新安裝虛擬機

2.卸載Oracle

注意:

(1) 在卸載前先將數據庫中的所有信息到處,使用工具SQL Developer。

(2) 卸載完后可能有些信息已經被刪除,例如oralce用戶、dba組、oinstall組和一些環境變量要重新配置下。

(3) 在配置環境變量的時候,配置文檔中的orcl要更改為自己環境中用到的數據庫實例。

  • 使用 SQL*PLUS 停止數據庫

    [oracle@oracle bin]$ ./sqlplus /nologSQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 30 08:45:23 2022Copyright (c) 1982, 2013, Oracle. All rights reserved.SQL> connect / as sysdba Connected to an idle instance. SQL> shutdown [immediate] SP2-0717: illegal SHUTDOWN option SQL> exit Disconnected
  • 停止監聽

    [oracle@oracle bin]$ lsnrctl stop
  • 停止 HTTP 服務

    $ORACLE_HOME/Apache/Apache/bin/apachectl stop
  • 用 su 或者重新登錄到 root( 如想重新安裝可以保留 oracle 用戶,省得輸入環境變量了 )

  • 刪除oracle安裝目錄:獲取oracle用戶下的ORACLE_HOME和ORACLE_BASE路徑并執行刪除

    [root@oracle ~]$ echo $ORACLE_BASE /u01/app/oracle [root@oracle ~]$ echo $ORACLE_HOME /u01/app/oracle/product/11.2.0/db_1rm -rf /u01/app/oracle
  • 刪除/usr/local/bin目錄下的dbhome、oraenv、coraenv文件

    rm -rf /usr/local/bin/dbhome rm -rf /usr/local/bin/oraenv rm -rf /usr/local/bin/coraenv
  • 刪除/etc目錄下的oratab、oraInst.loc文件、刪除/etc/oracle目錄

    rm -rf /etc/oratab rm -rf /etc/oracle rm -rf /etc/oraInst.loc
  • 刪除oracle用戶,刪除dba和oinstall用戶組

    userdel -rf oracle groupdel dba groupdel oinstall
  • 再次切換Oracle,提示不存在

    [root@oracle ~]# su - oracle su: user oracle does not exist
  • 安裝準備

    Oracle的安裝需要圖形化界面,所以身為命令形式的Linux操作系統就需要安裝圖形化界面:VNC;

    為了安全起見,不建議使用root做為vnc用戶,所以,安裝oracle時要建立單獨的用戶去安裝oracle相關

    建立oracle用戶和用戶組

    # 在Linux中創建名為oinstall的用戶組 groupadd oinstall # 創建dba用戶組 groupadd dba # 創建oper用戶組 groupadd oper # 為dba和oper用戶組創建oracle用戶# -g 主用戶組# -G 附加組 useradd -g oinstall -G dba,oper oracle # 將oracle用戶的密碼設置為oracle echo "oracle"|passwd oracle --stdin

    為Oracle的安裝創建相關目錄

    # 建文件夾 mkdir -p /u01/app/oracle/product/11.2.0/db_1 # 改變屬主和屬組 chown -R oracle:oinstall /u01/app # 為文件夾授權 chmod -R 775 /u01/app

    優化OS內核參數

    vim /etc/sysctl.conf # 添加如下內容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 # kernel.shmmax 參數設置為物理內存的一半 kernel.shmmax = 1200000000 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 # 因為剛自定義配置了shmmax、shmmni、shmall,所以注釋掉原有自帶的shmmax、shmall這些屬性
    • 保存并退出后,需要使使參數生效
    sysctl -p

    限制oracle用戶的shell權限

    為了優化性能,需要添加oracle用戶的限制參數

    vim /etc/security/limits.conf # 在文件末尾添加下面四行 # 設置進程數軟限制 oracle soft nproc 2047 # 設置進程數硬限制 oracle hard nproc 16384 # 設置文件數軟限制 oracle soft nofile 1024 # 設置文件數硬限制 oracle hard nofile 65536 # 進程會話限制可以采用pam_limits認證模塊來實現,通過修改登錄程序login的PAM設置以啟用該認證 vim /etc/pam.d/login # 在文件最后添加下面一行 session required /lib64/security/pam_limits.so # 一般都是64位系統,64位系統需要設置為/lib64/security/pam_limits.so 否則重啟服務器后就會出現命令行無法登錄,但是通過桌面方式能登錄的情況 session required pam_limits.so
    • 使參數生效
    source /etc/profile

    為Oracle用戶添加Oracle環境變量

    su - oracle vim .bash_profile # 添加如下內容 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 PATH=$PATH:$ORACLE_HOME/bin ORACLE_SID=orcl NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8" export ORACLE_BASE ORACLE_HOME ORACLE_SID PATHif [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fi fi
    • 退出后需要刷新環境變量
    source .bash_profile 或 source /home/oracle/.bash_profile

    配置hostname(本機IP映射)

    安裝oracle時,一定要保證主機名出現在/etc/hosts中

    vim /etc/hosts # 添加如下內容 127.0.0.1 localhost ip 主機名
    • 測試hostname
    ping -c 3 主機名
    • /etc/sysconfig/network中的hostname要與/etc/hosts中的一致
    vim /etc/sysconfig/network # 添加如下內容 NETWORKING=yes HOSTNAME=主機名 # 服務器IP GATEWAY=192.168.222.30 NTPSERVERARGS=iburst

    安裝VNC&Oracle相關依賴

    配置yum源

    cd /etc mv yum.repos.d yum.repos.d.bak mkdir yum.repos.d wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 清理緩存 yum clean all # 建緩存 yum makecache #安裝epel源 yum -y install epel-release

    安裝依賴

    #圖形界面必備`X Window System` yum -y groupinstall "X Window System" #安裝VNC+圖形、oracle需要的依賴(軟件) yum -y install \ binutils \ compat-libcap1 \ compat-libstdc++-33 \ compat-libstdc++-33*.i686 \ elfutils-libelf-devel \ gcc \ gcc-c++ \ glibc*.i686 \ glibc \ glibc-devel \ glibc-devel*.i686 \ ksh \ libgcc*.i686 \ libgcc \ libstdc++ \ libstdc++*.i686 \ libstdc++-devel \ libstdc++-devel*.i686 \ libaio \ libaio*.i686 \ libaio-devel \ libaio-devel*.i686 \ make \ sysstat \ unixODBC \ unixODBC*.i686 \ unixODBC-devel \ unixODBC-devel*.i686 \ libXp

    檢查依賴是否安裝完成

    rpm -q \ binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ expat \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ make \ pdksh \ sysstat \ unixODBC \ unixODBC-devel | grep "not installed"

    如果安裝失敗的依賴進行單獨安裝

    方法一:通過yum安裝

    yum -y install pdksh(安裝失敗的package)

    方法二:wget命令直接下載pdksh的rpm包,下載到至/tmp/

    wget -o /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm # 安裝pdksh rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

    安裝語言包

    服務器&VNC&Oracle安裝包語言要統一,這里我使用的是中文安裝包,為避免中文亂碼,需要安裝中文語言包(如果你都是英文可以忽略此步驟)

    —————上傳方法—————

    # 1.切換至oracle安裝目錄 cd /u01/ # 2.將文件上傳至服務器 rz/sz # 或 shell工具拖拉拽 # 或 # ---------------使用scp命令----------------------------scp -r dir username@host:dir命令 遞歸 要拷貝的文件路徑 目的主機用戶名@目的主機ip:目的路徑 # --------------------------------------------------------------- # 3.安裝中文字體包 yum –y install pdksh-5.2.14-37.el5_8.1.x86_64.rpm

    關閉防火墻

    臨時關閉防火墻

    systemctl stop firewalld

    查看防火墻是否開機自動啟動

    systemctl list-unit-files|grep firewalldfirewalld.service enabled # 說明:enabled表示自動啟動;disabled表示關閉

    永久關閉防火墻,開機不自動啟動

    systemctl disable firewalld

    上傳Oracle安裝文件

    • 切換用戶并切換目錄
    cd /u01 chown -R oracle:oinstall oracle su - oracle mkdir /u01/oracle cd /u01/oracle
    • 上傳安裝文件
    • 解壓縮安裝文件
    unzip p13390677_112040_Linux-x86-64_1of7.zip unzip p13390677_112040_Linux-x86-64_2of7.zip
    • 完成后切換root用戶,復制授權
    su - root mkdir /home/oracle/etc/ cp /u01/oracle/database/response/* /home/oracle/etc/ chmod 777 /home/oracle/etc/*.rsp
    • 登錄oracle用戶
    su – oracle vi /home/oracle/etc/db_install.rsp # 信息如下: oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOSTNAME=oracle ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=true oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=orcl oracle.install.db.config.starterdb.SID=orcl oracle.install.db.config.starterdb.memoryLimit=512 oracle.install.db.config.starterdb.password.ALL=oracle DECLINE_SECURITY_UPDATES=true
    • 執行Oracle安裝文件
    su - oracle cd /u01/oracle/database ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
    • 使用root用戶執行腳本
    su - root /u01/app/oracle/product/11.2.0/db_1/root.sh
    • 增加或修改oracle的環境變量
    su - oracle cat >> ~/.bash_profile <<EOF export ORACLE_HOME=/u01/app/oracle/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/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/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 EOF #使配置生效 source ~/.bash_profile
    • 配置監聽
    cd /u01/app/oracle/product/11.2.0/db_1/bin ./netca /silent /responseFile /home/oracle/etc/netca.rsp #啟動監聽 /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start #查看監聽狀態 /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl status

    創建數據庫

    • 編輯應答文件
    su - root vi /etc/dbca.rsp GDBNAME="orcl.oracle" SID="orcl" SYSPASSWORD = "oracle" SYSTEMPASSWORD = "oracle" CHARACTERSET="AL32UTF8" NATIONALCHARACTERSET="UTF8"#建庫 su - oracle # 執行: $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp ###注意:里面有數據庫創建,沒有的話,查看之前配置,這里面會清屏,輸入兩遍oracle,每次都回車,之后再回車,稍等一會就出來了
    • 設置Oracle開機啟動

      vim /etc/oratab # 把“N”改成“Y” orcl:/db/app/oracle/product/11.2.0/db_1:Y

    刪除實例

    [oracle@oracle bin]$ vi /etc/oratab orcl:/db/app/oracle/product/11.2.0/db_1:Y # //把“N”改成“Y” 更改,不是添加,沒有出現就是之前的配置有問題 # 保存退出 [oracle@oracle bin]$ pwd /u01/app/oracle/product/11.2.0/db_1/bin # 通過dbstart 啟動此實例,監聽器 ## ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener ## Usage: ./dbstart ORACLE_HOME [oracle@oracle bin]$ ./dbstart $ORACLE_HOME; # oracle的進程關閉,監聽器也停止; [oracle@oracle bin]$ ./dbshut $ORACLE_HOME; # 啟動監聽 [oracle@oracle bin]$ ./lsnrctl start; # 查看監聽 [oracle@oracle bin]$ ./lsnrctl status

    登陸Oracle

    [oracle@oracle bin]$ pwd /u01/app/oracle/product/11.2.0/db_1/bin [oracle@oracle bin]$ ./sqlplus /nolog # 進入系統管理用戶 SQL> conn / as sysdba Connected to an idle instance. # 啟動oracle實例 SQL> startup; #出現報錯,exit退出[oracle@mydb pfile]$ cd /u01/app/oracle/admin/orcl11g/pfile/ [oracle@mydb pfile]$ls #將下面的init帶數字的復制 [oracle@mydb pfile]$ cp 剛才復制的init帶數字的文件到 /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora[oracle@mydb pfile]$sqlplus / as sysdba SQL> startup; SQL> exit[oracle@oracle admin]$ pwd /u01/app/oracle/product/11.2.0/db_1/network/admin [oracle@linux admin]$ vi tnsnames.ora# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.orcl =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =oracle)(PORT = 1521)) #(HOST =主機名)(CONNECT_DATA =(SID = orcl)))[oracle@linux admin]$ vi listener.ora# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST =oracle)(PORT = 1521)) #(HOST =主機名)))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)(SID_NAME = orcl)))DEFAULT_SERVICE_LISTENER = (orcl) ADR_BASE_LISTENER = /u01/app/oracle[oracle@linux admin]$ vi sqlnet.ora# sqlnet.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/sqlnet.ora # Generated by Oracle configuration tools.NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)ADR_BASE = /u01/app/oracle[oracle@linux admin]$ lsnrctl stop [oracle@linux admin]$ lsnrctl start [oracle@linux admin]$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-JUN-2022 16:26:16Copyright (c) 1991, 2013, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production Start Date 22-APR-2022 16:39:58 Uptime 39 days 23 hr. 46 min. 18 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service orcl Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/linux/listener/alert/log.xml Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=linux)(PORT=1521))) Services Summary... Service "orcl" has 1 instance(s).Instance "orcl", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully#查看 ,配置開機啟動監聽 [oracle@mydb bin]$ vi /etc/oratab orcl:/u01/app/oracle/product/11.2.0/db_1:Y ###這里查看是不是正確的 [root@mydb ~]# vi /etc/rc.d/rc.local su - oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart ##這個要添加

    1、使用oracle用戶登錄桌面,打開終端運行安裝程序

    [root@oracledb ~] cd /ora/database
    [root@oracledb ~] ./runInstaller

    1)訂閱郵件跳過

    2)選擇忽略更新(或者讓選擇桌面版還是服務器版,如果有選擇服務器版)

    3)這里選擇僅安裝數據庫,稍后再配置初始化數據。

    4):選擇單實例安裝。

    5):語言,linux服務器上就別想什么中文這些了,就默認英文完事。

    6):默認

    7):這里就出現最開始創建的相應目錄信息了,會自動讀取。

    8):下一步

    9):選擇group 組為之前創建好的oinstall

    10):安裝的過程中可能會出現如下的一些警告信息,如提示semmni為0 的問題,該問題一直沒有找到原因,我們在上面修改內核的過程中就已經調整了kernel.sem = 250 32000 100 128 但是檢測無法通過(暫時無解)、其他的一些依賴組件提示,其實我們已經安裝好了,只是centos7上yum安裝的依賴包要比oracle 11g 所需的包更新,版本更高,所以可以直接忽略這些提示(勾選 ignore all)。

    3、安裝到最后的時候會出現一個提示:需要用root權限執行2個shell腳本,那么我們在之前的root用戶終端下運行提示中的對應腳本文件即可。

    按4次tab鍵即可切換到下一步選項回車即可。

    4、安裝完成后還需要創建數據庫,還是同樣在Oracle用戶桌面環境下,重新打開一個終端,輸入 dbca 命令即可彈出相應的數據庫創建向導。

    如果提示沒有這個命令,那么請詳細檢查一下上述的依賴包是否正確安裝,另外創建過程中如果出現提示oracle not available 檢查是否已添加主機名到hosts文件中。

    總結

    以上是生活随笔為你收集整理的Linux CentOS 7安装Oracle11g超完美教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。