一、準備安裝包:html
安裝包官網下載地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.htmllinux
二、先臨時關閉 selinux:c++
[root@Centos ~]# setenforce 0
三、添加 IP與主機名對應記錄:sql
[root@Centos ~]# vim /etc/hosts # 紅色部分爲添加內容 192.168.229.140 Centos
四、安裝依賴的軟件包:docker
[root@Centos ~]# 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
五、檢查依賴的軟件包是否已安裝:數據庫
[root@Centos ~]# 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 binutils-2.27-41.base.el7_7.1.x86_64 compat-libcap1-1.10-7.el7.x86_64 compat-libstdc++-33-3.2.3-72.el7.x86_64 compat-libstdc++-33-3.2.3-72.el7.i686 gcc-4.8.5-39.el7.x86_64 gcc-c++-4.8.5-39.el7.x86_64 glibc-2.17-292.el7.x86_64 glibc-2.17-292.el7.i686 glibc-devel-2.17-292.el7.x86_64 glibc-devel-2.17-292.el7.i686 ksh-20120801-139.el7.x86_64 libaio-0.3.109-13.el7.x86_64 libaio-0.3.109-13.el7.i686 libaio-devel-0.3.109-13.el7.x86_64 libaio-devel-0.3.109-13.el7.i686 libgcc-4.8.5-39.el7.x86_64 libgcc-4.8.5-39.el7.i686 libstdc++-4.8.5-39.el7.x86_64 libstdc++-4.8.5-39.el7.i686 libstdc++-devel-4.8.5-39.el7.x86_64 libstdc++-devel-4.8.5-39.el7.i686 libXi-1.7.9-1.el7.x86_64 libXi-1.7.9-1.el7.i686 libXtst-1.2.3-1.el7.x86_64 libXtst-1.2.3-1.el7.i686 make-3.82-24.el7.x86_64 sysstat-10.1.5-18.el7.x86_64 unixODBC-2.3.1-14.el7.x86_64 unixODBC-2.3.1-14.el7.i686 unixODBC-devel-2.3.1-14.el7.x86_64 unixODBC-devel-2.3.1-14.el7.i686 [root@Centos ~]#
六、建立 oinstall 和 dba 組:vim
[root@Centos ~]# groupadd oinstall [root@Centos ~]# groupadd dba
七、建立 oracle 用戶:centos
[root@Centos ~]# useradd -g oinstall -G dba oracle
八、設置 oracle 用戶密碼:安全
[root@Centos ~]# passwd oracle
九、驗證建立是否正確:bash
[root@Centos ~]# id oracle uid=1002(oracle) gid=1002(oinstall) 組=1002(oinstall),1003(dba) [root@Centos ~]#
十、修改內核參數:
[root@docker ~]# vim /etc/sysctl.conf # 紅色部分是要添加的內容
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 #最低:536870912,最大值:比物理內存小1個字節的值,建議超過物理內存的一半 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
參數的值不能小於上面的配置,這是oracle官方建議的最小值,生產環境建議調整這些參數,以優化系統性能。
十一、修改後使之生效:
[root@Centos ~]# sysctl -p
十二、對oracle用戶設置限制,提升軟件運行性能:
[root@Centos ~]# vim /etc/security/limits.conf # 紅色部分是要添加的內容 # 在末尾添加 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 10240
1三、建立 oracle 相關安裝目錄:
[root@Centos ~]# mkdir -p /u01/app/oracle [root@Centos ~]# mkdir -p /u01/app/oraInventory
1四、設置目錄權限:
[root@Centos ~]# chown -R oracle:oinstall /u01/app/ [root@Centos ~]# chmod -R 775 /u01/app/
1五、配置環境變量:
[oracle@Centos ~]$ vim ~/.bash_profile # 紅色部分是要添加的內容 export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=centos export ROACLE_PID=ora11g export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export LANG="zh_CN.UTF-8" export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' export PATH=$PATH:$ORACLE_HOME/bin
1六、使之生效:
[oracle@Centos ~]$ source ~/.bash_profile
1七、解壓安裝包:
[root@Centos opt]# unzip linux.x64_11gR2_database_1of2.zip [root@Centos opt]# unzip linux.x64_11gR2_database_2of2.zip
1八、複製響應文件模板:
[oracle@Centos ~]$ mkdir etc [oracle@Centos ~]$ cp /opt/database/response/* /home/oracle/etc/ [oracle@Centos ~]$ ls etc/ dbca.rsp db_install.rsp netca.rsp [oracle@Centos ~]$
1九、設置響應文件權限:
[oracle@Centos ~]$ su - [root@Centos ~]# chmod 700 /home/oracle/etc/*.rsp
20、靜默安裝 oracle:
su - oracle
修改響應文件 /home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY # 安裝類型 ORACLE_HOSTNAME=Centos # 主機名稱(hostname查詢) UNIX_GROUP_NAME=oinstall # 安裝組 INVENTORY_LOCATION=/u01/app/oraInventory # INVENTORY目錄(不填就是默認值) SELECTED_LANGUAGES=en,zh_CN,zh_TW # 選擇語言 ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 # oracle_home ORACLE_BASE=/u01/app/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=centos # SID oracle.install.db.config.starterdb.memoryLimit=81920 # 自動管理內存的內存(M) oracle.install.db.config.starterdb.password.ALL=oracle # 設定全部數據庫用戶使用同一個密碼 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true
2一、開始靜默安裝:
[oracle@Centos ~]$ ./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
查看安裝日誌:
tail -f /u01/app/oraInventory/logs/installActions2019-12-01_06-56-29PM.log
出現相似以下提示表示安裝完成:
如下配置腳本須要以 "root" 用戶的身份執行。 #!/bin/sh #要運行的 Root 腳本 /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db_1/root.sh 要執行配置腳本, 請執行如下操做: 1. 打開一個終端窗口 2. 以 "root" 身份登陸 3. 運行腳本 4. 返回此窗口並按 "Enter" 鍵繼續 Successfully Setup Software.
使用 root 用戶執行腳本:
[oracle@Centos ~]$ su - [root@Centos ~]# /u01/app/oraInventory/orainstRoot.sh [root@Centos ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
2二、配置監聽程序:
[oracle@Centos ~]$ netca /silent /responsefile /home/oracle/etc/netca.rsp
2三、啓動監聽程序,驗證是否配置成功:
[oracle@Centos etc]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 01-12月-2019 02:39:48 Copyright (c) 1991, 2009, Oracle. All rights reserved. 啓動/u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: 請稍候... TNSLSNR for Linux: Version 11.2.0.1.0 - Production 系統參數文件爲/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora 寫入/u01/app/oracle/diag/tnslsnr/Centos/listener/alert/log.xml的日誌信息 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) 監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Centos)(PORT=1521))) 正在鏈接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) LISTENER 的 STATUS ------------------------ 別名 LISTENER 版本 TNSLSNR for Linux: Version 11.2.0.1.0 - Production 啓動日期 01-12月-2019 02:40:09 正常運行時間 0 天 0 小時 0 分 21 秒 跟蹤級別 off 安全性 ON: Local OS Authentication SNMP OFF 監聽程序參數文件 /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora 監聽程序日誌文件 /u01/app/oracle/diag/tnslsnr/Centos/listener/alert/log.xml 監聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Centos)(PORT=1521))) 監聽程序不支持服務 命令執行成功 [oracle@Centos etc]$
2四、靜默 dbca 建庫:
編輯應答文件
[GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" [CREATEDATABASE] GDBNAME = "centos" SID = "centos" TEMPLATENAME = "General_Purpose.dbc" CHARACTERSET = "AL32UTF8"
2五、建立實例:
[oracle@Centos etc]$ dbca -silent -responseFile dbca.rsp 輸入 SYS 用戶口令: # 這裏的口令對應第 19 步中的配置 輸入 SYSTEM 用戶口令: # 這裏一樣也是對應第 19 步中的配置 複製數據庫文件 1% 已完成 3% 已完成 11% 已完成 18% 已完成 26% 已完成 37% 已完成 正在建立並啓動 Oracle 實例 40% 已完成 45% 已完成 50% 已完成 55% 已完成 56% 已完成 60% 已完成 62% 已完成 正在進行數據庫建立 66% 已完成 70% 已完成 73% 已完成 85% 已完成 96% 已完成 100% 已完成 有關詳細信息, 請參閱日誌文件 "/u01/app/oracle/cfgtoollogs/dbca/centos/centos.log"。 [oracle@Centos etc]$
查看輸出日誌:
[oracle@Centos etc]$ cat /u01/app/oracle/cfgtoollogs/dbca/centos/centos.log 複製數據庫文件 DBCA_PROGRESS : 1% DBCA_PROGRESS : 3% DBCA_PROGRESS : 11% DBCA_PROGRESS : 18% DBCA_PROGRESS : 26% DBCA_PROGRESS : 37% 正在建立並啓動 Oracle 實例 DBCA_PROGRESS : 40% DBCA_PROGRESS : 45% DBCA_PROGRESS : 50% DBCA_PROGRESS : 55% DBCA_PROGRESS : 56% DBCA_PROGRESS : 60% DBCA_PROGRESS : 62% 正在進行數據庫建立 DBCA_PROGRESS : 66% DBCA_PROGRESS : 70% DBCA_PROGRESS : 73% DBCA_PROGRESS : 85% DBCA_PROGRESS : 96% DBCA_PROGRESS : 100% 數據庫建立完成。有關詳細信息, 請查看如下位置的日誌文件: /u01/app/oracle/cfgtoollogs/dbca/centos。 數據庫信息: 全局數據庫名:centos 系統標識符 (SID):centos [oracle@Centos etc]$
至此完成數據庫實例的建立。
附:
(1)刪除實例:
[oracle@Centos ~]$ dbca -silent -deleteDatabase -sourcedb centos
(2)監聽程序相關命令:
lsnrctl status # 查看監聽程序狀態 lsnrctl start # 啓動監聽程序 lsnrctl stop # 中止監聽程序
(3)實例相關命令:
sqlplus / as sysdba # 無口令登陸,Oracle採用的是操做系統認證方式,當屬於操做系統DBA組用戶登錄到數據庫服務器,那麼Oracle認爲這樣的用戶就能夠受權以SYSDBA身份登陸數據庫 startup # 啓動實例 shutdown immediate # 卸載實例
(4)用戶和表空間相關:
# 建立 test 表空間,大小爲 1G(1024m) CREATE TABLESPACE test DATAFILE '/home/oracle/data/test.ora' SIZE 1024m; # 建立 test 用戶,密碼爲 test,關聯 test 表空間 CREATE USER test IDENTIFIED BY "test" DEFAULT TABLESPACE test QUOTA 1024m ON USERS; # 給 test 用戶授予權限 GRANT CONNECT,DBA,RESOURCE TO test;