靜默安裝oracle

數據庫安裝規範
第一步:安裝依賴環境並檢查依賴包,上傳數據庫安裝文件
第二步:關閉selinux,修改主機名,建立安裝數據庫的用戶和組
第三步:建立/etc/oraInst.loc文件並受權
第四步:解壓完數據庫安裝文件
第五步:修改數據庫安裝模板文件
第六步:切換oracle用戶,設置oracle用戶的環境變量,設置當即生效
第七步:進入解壓文件目錄,使用oracle用戶安裝oracle軟件,安裝完提示用root執行.sh腳本
第八步:使用oracle用戶安裝數據庫
第九步:安裝完成後修改oracle啓動配置文件,進入數據庫查看是否正常啓動
第十部:修改用戶密碼的有效期,修改數據庫最大鏈接數
linux

保證網速、服務器外網訪問、
#########################################
配置網絡yum源
Centos源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && yum clean all && yum makecache && yum -y update
epel源(Centos5):wget -O /etc/yum.repos.d/epel-5.repo mirrors.aliyun.com/repo/epel-5.repo && yum clean all && yum makecache
epel源(Centos6):wget -O /etc/yum.repos.d/epel-6.repo mirrors.aliyun.com/repo/epel-6.repo && yum clean all && yum makecache
epel源(Centos7):wget -O /etc/yum.repos.d/epel-7.repo mirrors.aliyun.com/repo/epel-7.repo && yum clean all && yum makecache
先對操做系統進行一次全面的更新c++

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

檢查安裝依賴系統包sql

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel | grep not

若是包有顯示is not installed(沒安裝)
############################################
修改主機名>>查看主機名>>重啓數據庫

[root@linux ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@linux ~]# hostname
linux
[root@linux ~]# reboot

添加主機名與IP對應記錄
[root@linux ~]#vi /etc/hosts
10.10.0.48 oracledb
關閉Selinux
setenforce 0
##################################################
建立所需的操做系統組和用戶
groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracle
設置oracle用戶密碼
passwd oracle oracle
##########################################################
建立安裝目錄(可根據狀況,選擇比較多空間的目錄建立)
mkdir -p /u01/app/
上傳oracle安裝文件(文件上傳到/u01下)
!!!傳文件!!!
cp /home/oracle/* /u01/
##########################################################
修改/u01目錄下設置oracle用戶權限
chown -R oracle:oinstall /u01 && chmod -R 775 /u01/app/
##########################################################
建立/etc/oraInst.loc文件,內容以下bash

inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
更改文件的權限服務器

chown oracle:oinstall /etc/oraInst.loc && chmod 664 /etc/oraInst.loc
##############################################################
解壓oracle安裝文件(文件須上傳到/u01下,oracle用戶執行)
su - oracle
cd /u01
unzip linux-oracle11g-64_1of7.zip && unzip linux-oracle11g-64_2of7.zip
#############################################################
拷貝模板文件,受權
cp /u01/database/response/db_install.rsp /u01/database
chmod +x /u01/database/db_install.rsp
##############################################################
設置oracle環境變量
vi ~/.bash_profile網絡

在最後加上如下內容oracle

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orclapp

使設置生效
source /home/oracle/.bash_profile
檢查環境變量:
env
############################################################
靜默安裝Oracle軟件dom

修改安裝Oracle軟件的響應文件/u01/database/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY // 安裝類型
ORACLE_HOSTNAME=oracledb // 主機名稱
UNIX_GROUP_NAME=oinstall // 安裝組
INVENTORY_LOCATION=/u01/app/oracle/oraInventory // INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN // 選擇語言
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.EEOptionsSelection=true
oracle.install.db.DBA_GROUP=dba // dba用戶組
oracle.install.db.OPER_GROUP=oinstall // oper用戶組
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option = SKIP_UPDATES

cd /u01/database

./runInstaller -silent -responsefile /u01/database/db_install.rsp -ignoresysprereqs -ignoreprereq
#(./runInstaller -silent -force -responseFile /u01/etc/db_install.rsp)

安裝中,若是提示[WARNING]沒必要理會,此時安裝程序仍在進行,若是出現[FATAL],則安裝程序已經中止了。
查看安裝日誌信息瞭解安裝進度

cd $ORACLE_BASE/oraInventory/logs
tail -100f installActions*.log
出現相似以下提示表示安裝完成:

-------------------------------------------------------------------

...
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:

  1. Open a terminal window
  2. Log in as "root"
  3. Run the scripts
  4. Return to this window and hit "Enter" key to continue

Successfully Setup Software.

-------------------------------------------------------------------

#############################################################
使用root用戶執行root.sh

su - root
/u01/app/oracle/product/11.2.0/db_1/root.sh
#############################################################

創建數據庫
#dbca -h  //查看幫助  
#dbca -silent -createDatabase -templateName /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc -gdbName orcl -sid orcl -sysPassword oracle -systemPassword oracle  -emConfiguration LOCAL -dbsnmpPassword oracle -sysmanPassword oracle -characterSet al32utf8

使用參數說明:
-silent指以靜默方式執行dbca命令
-createDatabase指使用dbca
-templateName指定用來建立數據庫的模板名稱,這裏指定爲/u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc,即通常用途的數據庫模板
-gdbName指定建立的全局數據庫名稱,這裏指定名稱爲orcl
-sid 指定數據庫系統標識符,這裏指定爲orcl,與數據庫同名
-sysPassword SYS 用戶口令設置爲oracle
-systemPassword SYSTEM 用戶口令設置爲oracle
-emConfiguration 指定Enterprise Management的管理選項。LOCAL表示數據庫由Enterprise Manager本地管理
-dbsnmpPassword DBSNMP 用戶口令設置爲oracle
-sysmanPassword SYSMAN 用戶口令設置爲oracle
-characterSet 指定數據庫使用的字符集,這裏指定爲al32utf8

執行命令,檢查安裝,顯示以下:(100%進度很是快,安裝失敗)
//開始安裝
Copying database files
1% complete
37% complete
Creating and starting Oracle instance
40% complete
62% complete
Completing Database Creation
66% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.//安裝結束

檢查安裝

[root@linux ~]# lsnrctl status

安裝成功則最終會顯示:The command completed successfully
############################################################
修改oracle啓動配置文件
vi /etc/oratab

racl:/u01/app/oracle/product/11.2.0/db_1:Y //把「N」改爲「Y」
$ORACLE_SID:$ORACLE_HOME:Y:

設置Y能夠經過dbstart 啓動此實例,監聽器。(開數據庫)
dbstart $ORACLE_HOME
全部oracle的進程關閉,監聽器也中止。 (關數據庫)
dbshut $ORACLE_HOME

lsnrctl status查看監聽器狀態
lsnrctl start開啓監聽
lsnrctl stop 中止監聽
#####################################################################
歸檔檢查:

sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database flashback on; (若是要啓用數據庫閃回功能則執行) 
SQL> alter database open;
SQL> execute utl_recomp.recomp_serial(); (從新編譯全部可能失效對象)
SQL> alter system archive log current; (手工歸檔測試)

#####################################################################
sqlplus登錄數據庫

sqlplus 帳戶名/密碼 as sysdba(角色名)
SQL> startup nomount;
SQL> select status from v$instance;
SQL> select open_mode from v$database;
SQL> alter database mount;
SQL> select status from v$instance;
SQL> select open_mode from v$database;查詢實例狀態
SQL> alter database open;
SQL> select status from v$instance; 
SQL> select open_mode from v$database;
OPEN_MODE
READ WRITE

顯示READ WRITE
Oracle數據庫啓動成功!!!
/////////////////////////////////////////////////////////////////////
初次安裝數據庫查看密碼有效期:

sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

將密碼有效期由默認的180天修改爲「無限制」:

sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改以後不須要重啓動數據庫,會當即生效。
/////////////////////////////////////////////////////////////////////
修改最大鏈接數
select count(*) from v$process --當前的鏈接數
select value from v$parameter where name = 'processes'; --數據庫容許的最大鏈接數
修改最大鏈接數:
alter system set processes = 2000 scope = spfile;
重啓數據庫:
shutdown immediate;
startup;
/////////////////////////////////////////////////////////////////////

設置開機自啓動
1.檢查環境變量ORACLE_HOME
echo $ORACLE_HOME
2.進入到$ORACLE_HOME/bin/
查看dbstart啓動腳本
ll | grep dbs
-rwxr-x--- 1 oracle oinstall      6582 Jan  1  2000 dbshut
-rwxr-x--- 1 oracle oinstall     14088 Jan  1  2000 dbstart
編輯 dbstart,將ORACLE_HOME_LISTNER=$1修改爲ORACLE_HOME_LISTNER=$ORACLE_HOME
sed -i 's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/' dbstart
3.編輯/etc/rc.d/rc.local啓動文件,添加數據庫啓動腳本dbstart
 cat >> EOF << /etc/rc.d/rc.local
su - oracle -lc /u01/app/oracle/product/10.2.0/db_1/bin/dbstart
su - oracle -lc "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
EOF
4.重啓測試結果(先拿測試機測試)
開機後查看結果
ps -ef | grep orcl #查看數據庫是否啓動
lsnrctl status #查看監聽是否啓動
進入數據庫sqlplus / as sysdba
SQL> select open_mode from v$database; #查詢實例狀態

OPEN_MODE
--------------------
READ WRITE

/////////////////////////////////////////////////////////////////////

相關文章
相關標籤/搜索