oracle 11g R2(靜默安裝)


參考博客地址:https://blog.csdn.net/jameshadoop/article/details/48223645

https://www.abcdocker.com/abcdocker/2090

http://blog.51cto.com/dellinger/1973696

官方地址:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

環境准備

Oracle安裝

首先請去官網下載軟件包:

我百度雲可以直接下載

鏈接:https://pan.baidu.com/s/1NYz0Z_5jhNQjqg9gVtrQhQ 密碼:uif0

1.1 安裝前准備

1.1.1 如何有修改yum源請參考:https://blog.csdn.net/jameshadoop/article/details/48054897

1.1.2 內存及swap要求

至於swap如何添加,請參考

https://blog.csdn.net/whatday/article/details/51024571

1.  檢查當前的swap分區情況
# free –m
              total       used       free     shared    buffers     cached
  Mem:          1006         84        922          0         11         38
  -/+ buffers/cache:         35        971
  Swap:            0          0          0
2.  增加交換分區文件及大小
如上,當前swap分區的大小為0,假如需要增加1024M的大小。
判定新交換文件的大小,將大小乘以1024來判定塊的大小。例如,大小為64MB的交換文件的塊大小為65536,在 shell 提示下以根用戶身份鍵入以下命令,其中的 count 等於想要的塊大小。
# dd if=/dev/zero of=/home/swap bs=1M count=1024
1024000+0 records in
  1024000+0 records out
格式化交換文件,將swap文件格式化成s文件系統,系統才能使用
# mkswap  /home/swap
  Setting up swapspace version 1, size = 1023996 KiB
3.  啟動交換分區文件
假如想立即啟用交換分區文件,請執行:
# swapon  /home/swap
要停止使用新創建的swap文件,只要執行 swapoff/home/swap命令即可.
檢驗增加后的swap分區大小
# free  -m
              total       used       free     shared    buffers     cached
  Mem:          1006        994         12          0          4        929
  -/+ buffers/cache:         60        946
  Swap:          999          0        999
4.  如希望在系統再次啟動時,自動啟用剛增加的swap,可編輯/etc/fstab文件:
# vi  /etc/fstab,增加如下行
/home/swap             swap          swap    defaults        0 0  
5.修改linux swap空間的swappiness,降低對硬盤的緩存
linux 會使用硬盤的一部分做為SWAP分區,用來進行進程調度--進程是正在運行的程序--把當前不用的進程調成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再調成‘活動(active)’,睡眠的進程就躺到SWAP分區睡大覺,把內存空出來讓給‘活動’的進程。
如果內存夠大,應當告訴 linux 不必太多的使用 SWAP 分區, 可以通過修改 swappiness 的數值。swappiness=0的時候表示最大限度使用物理內存,然后才是 swap空間,swappiness=100的時候表示積極的使用swap分區,並且把內存上的數據及時的搬運到swap空間里面。在ubuntu 里面,默認設置swappiness這個值等於60。
!!!! 如果內存較小,而進程調度頻繁,硬盤的響動就會大了 !!!!
現在一般1個G的內存可修改為10, 2個G的可改為5, 甚至是0。具體這樣做:
1.查看你的系統里面的swappiness
$ cat /proc/sys/vm/swappiness
不出意外的話,你應該看到是 60
2.修改swappiness值為10
$ sudo sysctl vm.swappiness=10
但是這只是臨時性的修改,在你重啟系統后會恢復默認的60,為長治久安,還要更進一步:
$ sudo vi /etc/sysctl.conf
在這個文檔的最后加上這樣一行:
vm.swappiness=10
然后保存,重啟。ok,你的設置就生效了。
swap內存操作
[root@xiaoyuer home]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.8G        78M       184K        11M       1.6G
-/+ buffers/cache:       139M       1.7G
Swap:         7.9G         0B       7.9G

1.2 硬盤空間

[root@DB_2 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G   11G   37G  22% /

1.3 修改主機名,及ip對應關系

設置主機名,也可以直接修改配置文件/etc/sysconfig/network,不過這個是重啟之后才起作用

#sed - i"s/HOSTNAME=localhost.localdomain/HOSTNAME=oracle/g"/etc/sysconfig/netwok

如果不想重啟,則使用下面命令,使當前生效

#hostname oracle

添加主機名與IP對應記錄

#vi /etc/hosts
10.10.0.48   oracle

1.4 關閉Selinux

我自己沒有關閉過selinux,這個是網上提供說需要關閉的

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config 
setenforce 0

1.5上傳軟件

上傳到/home/oracle/ 解壓Oracle安裝文件
# cd /home/oracle/  
#  unzip linux.x64_11gR2_database_1of2.zip -d  /home/oracle
#  unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle/  

1.6 系統配置

 創建用戶和組

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
id oracle
[root@ DB_2 home]# groupadd oinstall 
[root@ DB_2 home]# groupadd dba
[root@ DB_2 home]# useradd -g oinstall -G dba oracle 
[root@ DB_2 home]# passwd oracle
Changing password for user oracle.
New password: 
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@ DB_2 home]# id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)
View Code

創建相應安裝目錄

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oracle/recovery_data
chown -R oracle:oinstall /u01/app/
chmod -R 755 /u01/app/
參考:
在root用戶下
mkdir -p /opt/app/oracle/product/11.2.0/dbhome_1
//創建安裝目錄
#mkdir -p /opt/app/oracle/product/11.2.0/dbhome_1
//數據文件存放目錄
#mkdir -p /opt/app/oracle/oradata
//數據恢復目錄
#mkdir -p /opt/app/oracle/recovery_area
//數據庫創建及使用過程中的日志目錄
#mkdir -p /opt/app/oracle/oraInventory
//修改安裝目錄權限
#chown -R oracle:oinstall /opt/app/oracle
#chmod 775 /opt/app/oracl
參考與

修改系統內核參數

[root@oradg1 ~]vim /etc/sysctl.conf
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
kernel.shmall = 2097152                     //此行默認已有,確認不低於此數即可 
kernel.shmmax = 536870912                   //此行默認已有,確認不低於此數即可 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100128 
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
# sysctl -p #使配置生效

調整會話限制

[root@oradg1 ~]# vim /etc/pam.d/login 文件最后添加:
session     required    pam_limits.so

調整oracle用戶的進程數與最大文件句柄數

[root@oradg1 ~]# vim /etc/security/limits.conf  文件的最后添加:
oracle         soft    nproc    10000
oracle         hard    nproc    16384
oracle         soft    nofile   52768
oracle         hard    nofile   6553
root soft nproc 2047
root hard nproc 16384
root soft nofile 1024
root hard nofile 65536
soft是最小值,hard是最大值,nofile是文件句柄,也就是這個用戶能打開的文件數,nproc是進程數

1.7 增加環境變量

 oracle用戶變量

[root@oradg1 ~]# vim /home/oracle/.bash_profile
umask 022  
export ORACLE_BASE=/u01/app  
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=dg1  
export LANG=en_US.UTF-8
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

 添加全局變量

[root@oradg1 ~]# vi /etc/profile   
export PATH=$PATH:/u01/app/oracle/product/11.2.0/db_1/bin

不要忘了讓環境變生效

source /etc/profile
source /home/oracle/.bash_profile

1.8 安裝oracle

安裝依賴包

# yum -y install gcc gcc-c++ makebinutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-develglibcglibc-commonglibc-devel libaio libaio-devel libgcclibstdc++libstdc++-develunixODBC unixODBC-devel ksh
或   (我用的上者)
# yum -y installbinutils compat-libstdc++-33compat-libstdc++-33.i686
elfutils-libelfelfutils-libelf-devel gcc gcc-c++glibc glibc.i686 glibc-common
glibc-devel glibc-devel.i686glibc-headers kshlibaio libaio.i686 libaio-devel
libaio-devel.i686 libgcclibgcc.i686 libstdc++libstdc++.i686 libstdc++-devel make
sysstat unixODBC unixODBC-devel

到這里前期的准備工作全部完成啦,建議重啟下系統讓各項配置生效。當然也可以不重啟

1.9 應答文件修改    /home/oracle/database/response

此種應答文件是安裝並配置數據庫,直接產生orcl數據庫實例 
應答文件模版在解壓后的文件夾中。 
/home/oracle/database/response/db_install.rsp 
模版中重要的配置項含義如下 
ORACLE_HOSTNAME 主機名 
ORACLE_BASE oracle的基礎安裝目錄 
ORACLE_HOME oracle的安裝目錄 
INVENTORY_LOCATION oracle日志目錄 
oracle.install.db.config.starterdb.globalDBName 
oracle.install.db.config.starterdb.password.ALL

如果想知道每個選項的含義,請看:

http://blog.csdn.net/jameshadoop/article/details/48086933

1.1.1 db_install.rsp文件中追加

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME= oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory  #數據庫創建及使用過程中的日志目錄
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1  #創建安裝目錄
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/recovery_data
oracle.install.db.config.starterdb.globalDBName=dg1
oracle.install.db.config.starterdb.SID=dg1
oracle.install.db.config.starterdb.memoryLimit=500
oracle.install.db.config.starterdb.password.ALL=sys
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
錯誤:說共享內存為963我設置的500
[FATAL] [INS-35172] Target database memory (4069MB) exceeds the systems available shared memory ({0}MB).
   CAUSE: The total available shared memory on the system (936 MB) was less than the chosen target database memory (4069 MB).
   ACTION: Enter a value for target database memory that is less than936 MB.
oracle.install.db.config.starterdb.memoryLimit=500
我遇到的內存錯誤

成功后顯示:

......
*As a root user, execute the following script(s): 
1. /u01/app/oracle/product/11.2.0/db_1/root.sh 
Successfully Setup Software*

 root權限執行安裝后的配置腳本

su - root
sh /u01/app/oracle/product/11.2.0/db_1/root.sh
[oracle@oracle ~]$ ]# su - root  
[[oracle@oracle ~$]# sh /u01/app/oracle/product/11.2.0/db_1/root.sh
View Code

創建oraInst.loc

新建一個文件,沒有此文件會報錯 
vim /home/oracle/oraInst.loc ,其內容如下:

inventory_loc=/u01/app/oraInventory
inst_group=oinstall
開放權限:
root> chown oracle:oinstall /home/oracle/oraInst.loc

root> chmod 664 /home/oracle/oraInst.loc

然后執行

cd /home/oracle/database/

./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -invPtrLoc /home/oracle/oraInst.loc -ignoreSysPrereqs
#查看日志看進度  /u01/app/oraInventory/logs/installActions2018-05-29_07-17-34PM.log

 

1.11 靜默建庫

vim /home/oracle/database/response/dbca.rsp, 覆蓋以下選項:

注意:一定要按原來的參數所在的位置修改,不然報錯

 RESPONSEFILE_VERSION = "11.2.0"  //不能更改
 OPERATION_TYPE = "createDatabase"
 GDBNAME = "dg1"  //全局數據庫的名字=SID+主機域名
 SID = "dg1"    //對應的實例名字
 TEMPLATENAME = "General_Purpose.dbc" //建庫用的模板文件
 SYSPASSWORD = "sys"   //SYS管理員密碼
 SYSTEMPASSWORD = "sys"  //SYSTEM管理員密碼
 DATAFILEDESTINATION = /u01/app/oracle/oradata //數據文件存放目錄
 RECOVERYAREADESTINATION=/u01/app/oracle/oradata_back //恢復數據存放目錄
 CHARACTERSET = " AL32UTF8"   //字符集,重要!!! 建庫后一般不能更改,所以建庫前要確定清楚。
 TOTALMEMORY = "4069"    //oracle內存4069MB

1.12oracle用戶執行配置完之后,執行命令

dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
[oracle@DB_2 db_1]$ dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/cfgtoollogs/dbca/orcl11g/orcl11g.log" for further details.
顯示如下

1.13配置監聽

netca /silent /responsefile /home/oracle/database/response/netca.rsp

啟動服務

linux下開啟oracle
su - oracle 
sqlplus /nolog 
conn /as sysdba 
startup
exit
.啟動監聽
lsnrctl start

1.1.1 關閉數據庫服務

linux下關閉oracle

su - oracle

sqlplus /nolog

conn /as sysdba

shutdown immediate

exit
[oracle@DB_2 pfile]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed May 30 00:42:51 2018

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> start
SP2-1506: START, @ or @@ command has no arguments
SQL> startup
ORACLE instance started.

Total System Global Area  534462464 bytes
Fixed Size            2215064 bytes
Variable Size          163578728 bytes
Database Buffers      364904448 bytes
Redo Buffers            3764224 bytes
Database mounted.
Database opened.
SQL>
測試

 

LINUX登錄oracle用戶,通過lsnrctl start命令啟動數據庫時,報錯如下:

博客地址如下:https://blog.csdn.net/weiruoao/article/details/45374511

[oracle@DB_2 pfile]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 29-MAY-2018 23:51:35

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
TNS-12533: TNS:illegal ADDRESS parameters
 TNS-12560: TNS:protocol adapter error
  TNS-00503: Illegal ADDRESS parameters


Listener failed to start. See the error message(s) above...
錯誤

原因:

/etc/hosts內有兩個localhost的主機名,監聽沖突。

解決方法: 
1、修改其中一個主機名,比如oracle,執行以下命令。
hostname oracle
2、在/etc/hosts內修改一個主機名為oracle。
[root@oracle etc]# cat /etc/hosts 
127.0.0.1 localhost 
::1 oracle
3、在/etc/sysconfig/network修改主機名為oracle。
[root@oracle etc]# cat /etc/sysconfig/network 
NETWORKING=yes 
HOSTNAME=oracle
4、重新啟動,在oracle用戶下執行lsnrctl start。
解決方法

其他參考:

具體請查看另一篇文章:【開啟歸檔模式,歸檔日志已滿處理http://www.cnblogs.com/yingsong/p/6037531.html

啟動關閉命令詳解http://www.cnblogs.com/NaughtyBoy/archive/2013/07/09/3180947.html 

https://blog.csdn.net/jameshadoop/article/details/48223645

官方指南:

https://docs.oracle.com/cd/E11882_01/server.112/e16604/qstart.htm#i1049125 

啟動報掛載

http://blog.itpub.net/20674423/viewspace-711545根據這個博客操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM