01,系統 Centos7 數據庫版本 Oracle_11gR2 ,以及硬件要求 內存不能小於 1G,可用硬盤不小於8G Swap分區空間不小於2Glinux
grep MemTotal /proc/meminfo # 查內存
df # 查硬盤
grep SwapTotal /proc/meminfo # 查swap
02,關閉防火牆,生產環境下通常不會你這麼暴力的關閉防火牆,這裏只是安裝時臨時使用c++
# firewall-cmd --state #查看firewalld防火牆狀態
# systemctl stop firewalld.service #關閉firewalld防火牆
# systemctl disable firewalld.service #禁止開機使用firewalld防火牆
03,修改系統標識 vim /etc/redhat-release,將內容替換成sql
redhat-7
04,修改內核參數 vim /etc/sysctl.conf,將下面內容添加到文件,也能夠根據本身的須要適當修改數據庫
fs.aio-max-nr=1048576 fs.file-max=6815744 kernel.shmmni=4096 kernel.sem=250 32000 100 128 kernel.shmall=2097152 kernel.shmmax=2147483648 net.ipv4.ip_local_port_range=9000 65500 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.all.rp_filter=1 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048576
05,修改完成後,讓其生效vim
sysctl -p
06,YUM 安裝必須的依賴包安全
yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz
07,建立數據庫擁 用戶和用戶組bash
# groupadd oinstall #建立安裝oracle程序用戶組 # groupadd dba #建立DBA用戶組 # useradd -g dba -m oracle #建立用戶oracle 並加入到dba組 # usermod -a -G oinstall oracle #將用戶oracle加入到oinstall組 # passwd oracle #修改用戶oracle的密碼 # id oracle #查看用戶oracle的信息
08,建立安裝目錄session
# mkdir -p /data # mkdir -p /data/oracle #建立oracle主目錄 # mkdir -p /data/inventory #建立oralce配置目錄 # mkdir -p /data/src #建立oracle壓縮包解壓目錄 # chown -R oracle:oinstall /data/oracle #修改目錄權限 # chown -R oracle:oinstall /data/inventory #修改目錄權限 # chown -R oracle:oinstall /data/src #修改目錄權限 # ll /data #查看目錄權限
09,修改oracle用戶的安全性能設置,vim /etc/security/limits.conf 在文件末尾追加如下內容oracle
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
10,修改用戶環境變量 vim /home/oracle/.bashrc 追加如下內容ide
export PATH export ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib export LANG=C export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
11,讓環境變量生效
source /home/oracle/.bashrc
12,解壓安裝包,安裝包能夠從 ORACLE 官網下載
# unzip linux.x64_11gR2_database_1of2.zip -d /data/src/ # unzip linux.x64_11gR2_database_2of2.zip -d /data/src/ # chown -R oracle:oinstall /data/src/ # ll /data/src/
13,關閉 selinux,防止系統攔截服務 vim /etc/selinux/config 修改如下行
SELINUX=disabled
14,重啓計算機
reboot
15,進入 Oracle 用戶
su oracle
16,編輯安裝配置文件,vim /data/src/database/response/db_install.rsp,找到如下項進行修改,也能夠根據須要適當修改
oracle.install.option=INSTALL_DB_SWONLY # 安裝類型 ORACLE_HOSTNAME=oracle.server # 主機名稱 UNIX_GROUP_NAME=oinstall # 安裝組 INVENTORY_LOCATION=/data/inventory # INVENTORY目錄 SELECTED_LANGUAGES=en,zh_CN # 選擇語言 ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_home ORACLE_BASE=/data/oracle # oracle_base oracle.install.db.InstallEdition=EE # oracle版本 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.characterSet=AL32UTF8 # 默認數據庫編碼 oracle.install.db.config.starterdb.memoryLimit=800 # 自動管理內存的最小內存(M) oracle.install.db.config.starterdb.password.ALL=oracle # 設定全部數據庫用戶使用同一個密碼 DECLINE_SECURITY_UPDATES=true # 設置安全更新
17,配置文件編輯完成後安裝,這裏可能須要等待漫長的事件
/data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq
18,出現如下畫面時,保留等待狀態,在打開 root 用戶窗口執行如下腳本,執行完畢後在回到安裝窗口回車完成安裝,也能夠記下命令,回車後切換到 root 在執行命令
/data/inventory/orainstRoot.sh /data/oracle/product/11.2.0/db_1/root.sh
19,完成以上步驟,主程序就安裝完成了,接下來配置監聽程序 vim /data/src/database/response/netca.rsp 修改如下你內容
INSTALL_TYPE=""custom"" # 安裝的類型 LISTENER_NUMBER=1 # 監聽器數量 LISTENER_NAMES={"LISTENER"} # 監聽器的名稱列表 LISTENER_PROTOCOLS={"TCP;1521"} # 監聽器使用的通信協議列表 LISTENER_START=""LISTENER"" # 監聽器啓動的名稱
20,安裝監聽程序
/data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp
21,查看監聽是否啓動成功,以及啓動和關閉的命令
netstat -tnulp | grep 1521 # 查看是否成功監聽
/data/oracle/product/11.2.0/db_1/bin/lsnrctl start # 開啓監聽 /data/oracle/product/11.2.0/db_1/bin/lsnrctl stop # 關閉監聽
22,添加數據庫實例,修改實例配置文件 vim /data/src/database/response/dbca.rsp
RESPONSEFILE_VERSION="11.2.0" // 不要變哦 OPERATION_TYPE="createDatabase" // 操做爲建立實例 GDBNAME="orcl" // 數據庫實例名 SID="orcl" // 實例名字 TEMPLATENAME="General_Purpose.dbc" // 建庫用的模板文件 SYSPASSWORD="oracle" // SYS管理員密碼 SYSTEMPASSWORD="oracle" // SYSTEM管理員密碼 SYSMANPASSWORD="oracle" DBSNMPPASSWORD="oracle" DATAFILEDESTINATION=/data/oracle/oradata // 數據文件存放目錄 RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢復數據存放目錄 CHARACTERSET="AL32UTF8" // 字符集 NATIONALCHARACTERSET="AL16UTF16" // 字符集 TOTALMEMORY="800" // 1638MB,物理內存2G*80%。
23,安裝數據庫實例,又是一次漫長的等待
/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
24,查看實例是否安裝並啓動成功
ps -ef | grep ora_ | grep -v grep
25,試着用 sqlplus 鏈接數據庫,並啓用 scott 用戶,這裏也能夠選擇啓動其它用戶或者新建用戶
sqlplus / as sysdba # 鏈接DBA帳號 alter user scott account unlock; # 啓用 SCOTT 用戶 alter user scott identified by oracle; # 修改用戶密碼 alter profile default limit password_life_time unlimited; # 設置密碼永久生效 exit; # 退出鏈接
26,外部用 PLSQL 鏈接 scott 用戶,鏈接爲 ip:1521/orcl
27,重啓計算機後須要在啓動監聽和實例,命令以下
/data/oracle/product/11.2.0/db_1/bin/lsnrctl start sqlplus / as sysdba startup; exit;
28,字符集的修改,在中國,無論什麼數據庫,字符集的問題都是最多見的問題,由於字符集的卻別會致使漢字亂碼,通常推薦在實例安裝的時候就設置好字符集,上面的 22 步驟
可是萬一安裝的字符集不是咱們所須要的呢?那推薦在尚未數據的時候就將字符集調整回來,有了大量的數據在調整字符集,原來的數據字符編碼是不會改變的,這可能致使數據
沒法使用,好比上面安裝的字符集是 AL32UTF8 如今想改爲 ZHS16GBK 具體的修改字符集方法依次執行命令
sqlplus / as sysdba; # 鏈接數據庫
select userenv('language') from dual; # 查看當前的字符集 shutdown immediate; # 關閉實例 startup mount; # 以受限模式啓動 alter system enable restricted session; # 限制用戶登入 alter system set job_queue_processes=0; # 禁止某些程序自動啓動 alter system set aq_tm_processes=0; # 禁止某些程序自動啓動 alter database open; # 從 mount 狀態打開數據庫的命令 alter database character set internal_use zhs16gbk; # 修改編碼 shutdown immediate; # 關閉實例 startup; # 重啓實例
exit; # 退出客戶端
28,開機自啓,(筆者暫未掌握,主要是使用 dbstart 腳本啓動數據庫實例的時候,老是報 環境變量有問題,可是環境變量是沒問題的,鬱悶中。。。)