CentOS 7靜默安裝Oracle 11g(記一次最小化CentOS 7安裝Oracle 11g的經歷)
1.最小化安裝CentOS 7後首先設定一下固定IP
可以先查詢一下自己的網絡卡裝置的名稱,是ens33,所以網絡卡配置檔名稱就是ifcfg-ens33(前面的ifcfg-不用管,固定的)
ip addr
開啟網絡卡配置檔案:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
按需修改(新增)如下幾行:
BOOTPROTO="static"IPADDR=192.168.80.254 #填寫你自己需要設定的IP地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=192.168.80.2 #閘道器
DNS1=8.8.8.8 #DNS按需填寫
ONBOOT="yes" #開機啟動該網絡卡
儲存後重啟一下網絡卡
service network restart
配置一下本機-IP的對映
vi /etc/hosts
在最後一行填寫本機IP地址和你喜歡的本機名
這個時候其實你就可以通過相關的遠端工具連線到該CentOS 7 進行遠端配置,會方便很多很多,我使用的是SecureCRT
2.安裝Oracle需要的依賴包(執行以下程式碼)
yum -y install 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
出現Complete!字樣後檢測依賴包安裝情況(執行以下程式碼)
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"
當出現紅色not installed的時候就說明有些依賴包沒有安裝成功
單獨安裝一次發現CentOS 7預設沒有pdksh這個依賴包
然後只能去網上找pdksh的依賴包下載下載後手動安裝,因為是最小化安裝沒有wget,所以先安裝wget,然後再下載pdksh(分別執行下面兩段程式碼)
yum install wget -y
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
安裝下載好的 pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
再次檢測Oracle依賴包情況,沒有出現任何內容就說明都安裝好了。
3.建立Oracle安裝使用者組與oracle使用者
groupadd oinstall -g 2000 && groupadd dba -g 2001 && groupadd asmadmin -g 2002 && groupadd asmdba -g 2003
useradd oracle -g oinstall -G dba,asmdba
檢視oracle使用者建立情況
id oracle
設定oracle密碼
passwd oracle
4.優化核心引數
vi /etc/sysctl.conf
在裡面新增:
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=419430 #單位為4K,我的虛擬機器記憶體4G,所以linux預設的shm是2G,我給了2G的80%給oracle就是419430
kernel.shmmni=4096
kernel.shmmax = 1073741824
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=1048586
oracle官方文件也貼出來http://www.oracle.com/technetwork/articles/servers-storage-admin/ginnydbinstallonlinux-488779.html
設定完成後重新載入
/sbin/sysctl -p
限制oracle使用者許可權,在limits.conf、login、profile加入限制(這三個限制暫未在官網文件裡面找到出處,不過本著空穴來風的精神,還是做了,就算不做應該也不影響安裝)
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
session required /lib64/security/pam_limits.sosession required pam_limits.so
vi /etc/profile
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5.建立安裝目錄並賦予許可權,配置oracle環境變數
su oracle
vi ~/.bashrc
export ORACLE_HOSTNAME=oracleexport ORACLE_BASE=/db/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
cd ~ && source .bashrc
6.去官網下載相關的Oracel安裝包到本地windows上,我的是64位所以就下載了:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
這兩個東東,下載完成後傳入CenOS 7,我使用的是lrzsz.x86_64,因為最小化沒有安裝該軟體,先安裝lrzsz.x86_64
su root
yum install lrzsz unzip -y
然後cd到tmp,使用rz進行上傳下載好的linux壓縮包
cd /tmp && rz
7.解壓oracle壓縮包,按照自己前面設定的內容修改安裝引數unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
vi database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/db/oracle/product/11.2.0
ORACLE_BASE=/db/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
reboot
8.開始安裝
su oracle
cd /tmp/database
./runInstaller -silent -ignorePrereq -responseFile /tmp/database/response/db_install.rsp
以root執行提示的兩個指令碼
中途我把解壓出來的database資料夾拷貝到了/db下,這個不拷貝也是可以的
cp -R /tmp/database /db
配置監聽netca /silent /responsefile /db/database/response/netca.rsp
檢視監聽埠
netstat -tnulp | grep 1521
有紅字說明正常監聽
修改配置引數,建立資料庫
vi /db/database/response/dbca.rsp
GDBNAME = "orcl"SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/oracle/oradata
RECOVERYAREADESTINATION=/db/oracle/recovery
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638" #給了記憶體的40%
vi /db/oracle/product/11.2.0/dbs/init.ora
把裡面所有的<ORACLE_BASE>改成真正的ORACLE_BASE,即:/db/oracle後建庫
dbca -silent -responseFile /db/database/response/dbca.rsp
完成後即可使用sqlplus連線資料庫
完