CentOS 7下Oracle 12C 無圖形界面靜默安裝

一、安裝環(huán)境
二补箍、安裝包下載
三卒蘸、環(huán)境配置
四校辩、安裝及配置

文章參考鏈接

一、安裝環(huán)境

以下安裝環(huán)境是在虛擬機測試環(huán)境烛芬,僅供參考

操作系統(tǒng):CentOS 7
內(nèi)存:4G
CPU:單核
硬盤:50G
交換空間:4G

二隧期、安裝包下載

下載地址

三、環(huán)境配置

  1. 關(guān)閉防火墻

    # systemctl stop firewalld.service --關(guān)閉防火墻
    
    # systemctl disable firewalld.service -- 禁止防火墻開機啟動
    
  2. 關(guān)閉selinux

    # setenforce 0
    
    # getenforce
    Permissive
    
    # vim /etc/selinux/config
    文件中設(shè)置SELINUX=disabled
    
  3. 修改host(可省略)

    # echo "10.0.0.40   huojibufei-oracle" >> /etc/hosts
    
    # cat /etc/hosts
    
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.0.40   huojibufei-oracle
    
  4. 安裝必要的依賴包

    Packages for Oracle Linux 7 and Red Hat Enterprise Linux 7

    The following packages (or later versions) must be installed:

    binutils-2.23.52.0.1-12.el7.x86_64 
    compat-libcap1-1.10-3.el7.x86_64 
    gcc-4.8.2-3.el7.x86_64 
    gcc-c++-4.8.2-3.el7.x86_64 
    glibc-2.17-36.el7.i686 
    glibc-2.17-36.el7.x86_64 
    glibc-devel-2.17-36.el7.i686 
    glibc-devel-2.17-36.el7.x86_64 
    ksh
    libaio-0.3.109-9.el7.i686 
    libaio-0.3.109-9.el7.x86_64 
    libaio-devel-0.3.109-9.el7.i686 
    libaio-devel-0.3.109-9.el7.x86_64 
    libgcc-4.8.2-3.el7.i686 
    libgcc-4.8.2-3.el7.x86_64 
    libstdc++-4.8.2-3.el7.i686 
    libstdc++-4.8.2-3.el7.x86_64 
    libstdc++-devel-4.8.2-3.el7.i686 
    libstdc++-devel-4.8.2-3.el7.x86_64 
    libXi-1.7.2-1.el7.i686 
    libXi-1.7.2-1.el7.x86_64 
    libXtst-1.2.2-1.el7.i686 
    libXtst-1.2.2-1.el7.x86_64 
    make-3.82-19.el7.x86_64 
    sysstat-10.1.5-1.el7.x86_64
    
    # yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
    
    # rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
    
  5. 創(chuàng)建用戶和組

    # groupadd oinstall
    # groupadd dba
    
    # useradd -g oinstall -G dba oracle
    # passwd oracle
    # id oracle
    uid=1000(oracle) gid=1000(oinstall) 組=1000(oinstall),1001(dba)
    
  6. 修改內(nèi)核參數(shù)(根據(jù)需要修改 此為32G內(nèi)存)

    vim /etc/sysctl.conf

    追加

    fs.aio-max-nr=1048576
    fs.file-max=6815744
    kernel.shmall=8388608
    kernel.shmmax=34359738367
    kernel.sem=250 32000 100 128
    kernel.shmmni=4096
    kernel.panic_on_oops=1
    net.core.rmem_default=262144
    net.core.rmem_max=4194304
    net.core.wmem_default=262144
    net.core.wmem_max=1048576
    net.ipv4.conf.all.rp_filter=2
    net.ipv4.conf.default.rp_filter=2
    fs.aio-max-nr=1048576
    net.ipv4.ip_local_port_range=9000 65500
    

參數(shù)說明(一臉懵逼)

fs.aio-max-nr:
    此參數(shù)限制并發(fā)未完成的請求赘娄,應(yīng)該設(shè)置避免I/O子系統(tǒng)故障仆潮。
fs.file-max:
    該參數(shù)決定了系統(tǒng)中所允許的文件句柄最大數(shù)目,文件句柄設(shè)置代表linux系統(tǒng)中可以打開的文件的數(shù)量擅憔。
kernel.shmall:
    該參數(shù)控制可以使用的共享內(nèi)存的總頁數(shù)鸵闪。Linux共享內(nèi)存頁大小為4KB,共享內(nèi)存段的大小都是共享內(nèi)存頁大小的整數(shù)倍。一個共享內(nèi)存段的最大大小是16G暑诸,那么需要共享內(nèi)存頁數(shù)是16GB/4KB=16777216KB /4KB=4194304(頁)蚌讼,也就是64Bit系統(tǒng)下16GB物理內(nèi)存辟灰,設(shè)置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
    是核心參數(shù)中最重要的參數(shù)之一,用于定義單個共享內(nèi)存段的最大值篡石。設(shè)置應(yīng)該足夠大芥喇,設(shè)置的過低可能會導(dǎo)致需要創(chuàng)建多個共享內(nèi)存段,這樣可能導(dǎo)致系統(tǒng)性能的下降凰萨。至于導(dǎo)致系統(tǒng)下降的主要原因為在實例啟動以及ServerProcess創(chuàng)建的時候继控,多個小的共享內(nèi)存段可能會導(dǎo)致當時輕微的系統(tǒng)性能的降低(在啟動的時候需要去創(chuàng)建多個虛擬地址段,在進程創(chuàng)建的時候要讓進程對多個段進行“識別”胖眷,會有一些影響)武通,但是其他時候都不會有影響。
官方建議值:
    32位linux系統(tǒng):可取最大值為4GB(4294967296bytes)-1byte珊搀,即4294967295冶忱。建議值為多于內(nèi)存的一半,所以如果是32為系統(tǒng)境析,一般可取值為4294967295囚枪。
    64位linux系統(tǒng):可取的最大值為物理內(nèi)存值-1byte,建議值為多于物理內(nèi)存的一半劳淆,例如链沼,如果為12GB物理內(nèi)存,可取1210241024*1024-1=12884901887沛鸵。
kernel.shmmni:
    該參數(shù)是共享內(nèi)存段的最大數(shù)量括勺。shmmni缺省值4096,一般肯定是夠用了谒臼。
kernel.sem:
    以kernel.sem = 250 32000 100 128為例:

    250是參數(shù)semmsl的值朝刊,表示一個信號量集合中能夠包含的信號量最大數(shù)目。

    32000是參數(shù)semmns的值蜈缤,表示系統(tǒng)內(nèi)可允許的信號量最大數(shù)目。

    100是參數(shù)semopm的值冯挎,表示單個semopm()調(diào)用在一個信號量集合上可以執(zhí)行的操作數(shù)量底哥。

    128是參數(shù)semmni的值,表示系統(tǒng)信號量集合總數(shù)房官。

net.ipv4.ip_local_port_range:
    表示應(yīng)用程序可使用的IPv4端口范圍趾徽。
net.core.rmem_default:
    表示套接字接收緩沖區(qū)大小的缺省值。
net.core.rmem_max:
    表示套接字接收緩沖區(qū)大小的最大值翰守。
net.core.wmem_default:
    表示套接字發(fā)送緩沖區(qū)大小的缺省值孵奶。
net.core.wmem_max:
    表示套接字發(fā)送緩沖區(qū)大小的最大值。

使配置文件生效

sysctl -p

  1. 修改配置

    vim /etc/security/limits.conf

    追加

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    

    第1行是設(shè)置進程數(shù)軟限制
    第2行是設(shè)置進程數(shù)硬限制
    第3行是設(shè)置文件數(shù)軟限制
    第4行是設(shè)置文件數(shù)硬限制

    vim /etc/pam.d/login

    追加

    session required /lib64/security/pam_limits.so
    
    session required pam_limits.so
    

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

    source /etc/profile

  2. 掛載硬盤

    ·dd if=/dev/zero of=/var/swap bs=1024 count=8192000·添加swap

    fdisk /dev/sdb
    n p 1 默認 默認 w
    vim /etc/fstab
    追加
    
    mount -a
    
    df -h查看
    
  1. 創(chuàng)建數(shù)據(jù)庫目錄

    # mkdir -p /data/oracle  
    # chown -R oracle:oinstall /data/oracle/  
    # chmod -R 775 /data/oracle/
    
  2. 配置oracle用戶

su - oracle

vim ~/.bash_profile

追加

export ORACLE_BASE=/data/oracle/oracIns
export ORACLE_SID=orcl

source ~/.bash_profile

四蜡峰、安裝及配置

  1. 上傳Oracle安裝包

    mkdir /home/oracle/oradb

  2. 安裝unzip

    su root

    rpm -ivh unzip-6.0-20.el7.x86_64.rpm

    su - oracle

    unzip -d /home/oracle/oradb/ /opt/oracle12cR2_linux64.zip

  3. 復(fù)制模板

    cd /home/oracle
    mkdir etc
    cp /home/oracle/oradb/database/response/* /home/oracle/etc
    

    su root

    chmod -R 700 /home/oracle/etc/*.rsp

  4. 編輯文件內(nèi)容

    su - oracle

    vim /home/oracle/etc/db_install.rsp

    找出以下項了袁,根據(jù)個人實際情況修改(還是一臉懵逼)

    oracle.install.option=INSTALL_DB_SWONLY // 安裝類型  
    UNIX_GROUP_NAME=oinstall // 安裝組  
    INVENTORY_LOCATION=/data/oracle/oraInventory //INVENTORY目錄(不填就是默認值)  
    ORACLE_HOME=/data/oracle/oracIns/product/12/db_1
    ORACLE_BASE=/data/oracle/oracIns
    oracle.install.db.InstallEdition=EE     // 企業(yè)版本  
    oracle.install.db.OSDBA_GROUP=dba
    oracle.install.db.OSOPER_GROUP=oinstall  
    oracle.install.db.OSBACKUPDBA_GROUP=oinstall  
    oracle.install.db.OSDGDBA_GROUP=oinstall  
    oracle.install.db.OSKMDBA_GROUP=oinstall  
    oracle.install.db.OSRACDBA_GROUP=oinstall  
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //數(shù)據(jù)庫類型  
    oracle.install.db.config.starterdb.globalDBName=orcl  
    oracle.install.db.config.starterdb.SID=orcl  
    oracle.install.db.config.starterdb.memoryLimit=81920 //自動管理內(nèi)存的內(nèi)存(M)  
    oracle.install.db.config.starterdb.password.ALL=oracle//設(shè)定所有數(shù)據(jù)庫用戶使用同一個密碼  
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false  
    DECLINE_SECURITY_UPDATES=true
    
  5. 開始安裝

    cd /home/oracle/oradb/database

    ./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent -responseFile /home/oracle/etc/db_install.rsp


    su root

    /data/oracle/oraInventory/orainstRoot.sh

    /data/oracle/oracIns/product/12/db_1/root.sh

  6. 修改oracle用戶環(huán)境變量

    su - oracle

    vim ~/.bash_profile

    export ORACLE_BASE=/data/oracle/oracIns
    export ORACLE_SID=orcl
    export ORACLE_PID=oral12
    #export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    export ORACLE_HOME=$ORACLE_BASE/product/12/db_1
    export PATH=$PATH:$ORACLE_HOME/bin
    export LANG="zh_CN.UTF-8"
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
    export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
    

    配置監(jiān)聽

    cd /home/oracle/etc/

    netca /silent /responsefile /home/oracle/etc/netca.rsp

    lsnrctl start

    若有報錯 參照此處手動創(chuàng)建listen配置文件

    vim /data/oracle/oracIns/product/12/db_1/network/admin/listener.ora
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = /data/oracle/oracIns/product/12/db_1)
          (SID_NAME = orcl)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = huojibufei-oracle)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
  7. 修改靜默建庫文件

    vim /home/oracle/etc/dbca.rsp

    responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0  
    gdbName=orcl  
    sid=orcl  
    databaseConfigType=SI  
    createAsContainerDatabase=true  
    numberOfPDBs=1  
    pdbName=orclpdb  
    templateName=/data/oracle/oracIns/product/12/db_1/assistants/dbca/templates/General_Purpose.dbc  
    emExpressPort=5500  
    omsPort=0  
    characterSet=ZHS16GBK  
    listeners=LISTENER  
    memoryPercentage=40  
    automaticMemoryManagement=false  
    totalMemory=0
    

    執(zhí)行靜默建庫

    dbca -silent -createDatabase -responseFile /home/oracle/etc/dbca.rsp

    ·dbca -silent -deleteDatabase -sourcedb orcl -sid orcl·

    [oracle@huojibufei etc]$ dbca -silent -createDatabase  -responseFile  /home/oracle/etc/dbca.rsp
    輸入 SYS 用戶口令: 
    
    輸入 SYSTEM 用戶口令: 
    
    輸入 PDBADMIN 用戶口令: 
    
  8. 切換PDB

    sqlplus / as sysdba
    
    startup
    
    show con_name;
    
    show pdbs;
    
    # 切換容器
    alter session set container=ORCLPDB;
    
    - startup(如果pdb容器為mount狀態(tài),startup一下)
    - 可以讓CDB重啟后朗恳,pdb維持其關(guān)機前的狀態(tài)
        - alter pluggable database ORCLPDB save state;
        - alter pluggable database ORCLPDB discard state;
    
    # 創(chuàng)建用戶及賦權(quán)
    create user huojibufei identified by huojibufei;
    
    grant connect, resource to huojibufei;
    grant create view to huojibufei;
    # 表空間權(quán)限
    grant unlimited tablespace to huojibufei;
    
    select username from dba_users where INHERITED='NO';
    
    # 查看監(jiān)聽狀態(tài)
    lsnrctl status
    
    
  9. 修改字符集為gbk

    su - oracle
    sqlplus / as sysdba
    select * from v$version;
    shutdown immediate
    startup mount
    
    alter session set sql_trace=true; 
    alter system enable restricted session; 
    alter system set job_queue_processes=0; 
    alter system set aq_tm_processes=0;
    alter database open;
    alter database character set internal_use ZHS16GBK;
    shutdown immediate;
    startup
    
    select userenv('language') from dual;
    select * from nls_database_parameters;
    
    alte1000 ystem set job_queue_processes=1000;
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市载绿,隨后出現(xiàn)的幾起案子粥诫,更是在濱河造成了極大的恐慌,老刑警劉巖崭庸,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怀浆,死亡現(xiàn)場離奇詭異,居然都是意外死亡怕享,警方通過查閱死者的電腦和手機执赡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來函筋,“玉大人沙合,你說我怎么就攤上這事∽つ牛” “怎么了灌诅?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長含末。 經(jīng)常有香客問我猜拾,道長,這世上最難降的妖魔是什么佣盒? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任挎袜,我火速辦了婚禮,結(jié)果婚禮上肥惭,老公的妹妹穿的比我還像新娘盯仪。我一直安慰自己,他們只是感情好蜜葱,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布全景。 她就那樣靜靜地躺著,像睡著了一般牵囤。 火紅的嫁衣襯著肌膚如雪爸黄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天揭鳞,我揣著相機與錄音炕贵,去河邊找鬼。 笑死野崇,一個胖子當著我的面吹牛称开,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乓梨,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼鳖轰,長吁一口氣:“原來是場噩夢啊……” “哼清酥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起脆霎,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤总处,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后睛蛛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹦马,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年忆肾,在試婚紗的時候發(fā)現(xiàn)自己被綠了荸频。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡客冈,死狀恐怖旭从,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情场仲,我是刑警寧澤和悦,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站渠缕,受9級特大地震影響鸽素,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亦鳞,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一馍忽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧燕差,春花似錦遭笋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至测暗,卻和暖如春吵血,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背偷溺。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留钱贯,地道東北人挫掏。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像秩命,于是被迫代替她去往敵國和親尉共。 傳聞我的和親對象是個殘疾皇子褒傅,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容