這是一份在離線的情況下安裝linux的文章。
1.1、檢查系統
查看機器版本及其它信息
cat /etc/redhat-release
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
df -Th
free -g
注意:阿里雲主機可能會有沒swap空間,這個要手動創建。
#以下是用文件作為 Swap 分區的操作步驟
#創建要作為 swap 分區的文件:增加至少8GB 大小的交換分區
dd if=/dev/zero of=/data/swapfile bs=1M count=8192
#格式化為交換分區文件
mkswap /data/swapfile
#啟用交換分區文件
swapon /data/swapfile
#使系統開機時自啟用,在文件/etc/fstab 中添加一行
/data/swapfile swap swap defaults 0 0
1.2、查看主機名將主機名稱改成自定義的名稱之后可做使用。
查看主機名稱:hostname 修改主機名稱: hostname 要修改的名稱
hostname test
hostname
1.3、添加主機名與ip對應:
vi /etc/hosts
在下面添加自己ip和自定義的主機名
1.4、關閉selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
1.5、安裝oracle依賴包:
cd /tools/oracle-yilai/
rpm -ivh ./* --nodeps --force
安裝完后檢測有沒有未安裝成功的依賴包:
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 |grep "not installed"
命令執行完未收到響應證明安裝成功無缺失
1.6、關閉linux的防火牆:
systemctl disable firewalld.service
1.7、創建oracle安裝目錄,給相關權限
規划oracle_base=/data/orcale
oracle_home=/data/oracle/products/11.2.0.4/db
inventory目錄:/data/inventory
oradata目錄:/data/oracle/oradata
fast_recovery_area目錄:/data/oracle/fast_recovery_area
#mkdir -p /data/oracle/products/11.2.0.4/db
#mkdir -p /data/oracle/{oradata,fast_recovery_area}
#mkdir -p /data/inventory
1.8、添加oinstall,dba 組,新建oracle用戶並將oracle用戶加入oinstall,dba 組中。
#groupadd -g 500 oinstall
#groupadd -g 501 dba
#useradd -g oinstall -G dba -s /bin/bash -u 501 oracle
#passwd oracle
#id oracle
#chown -R oracle:oinstall /data
1.9、配置調整內存參數
vim /etc/sysctl.conf
在文件中添加如下設置:(其中kernel.shmmax = 1073741824為本機物理內存(2G)的一半,單位為byte。)
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4127916032
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 = 1048586
執行命令使配置生效 :sysctl -p
2.0、修改用戶的限制文件
vi /etc/security/limits.conf
在文件里添加如下內容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
2.1、修改/etc/pam.d/login文件
vim /etc/pam.d/login
添加內容如下
session required /lib64/security/pam_limits.so
session required pam_limits.so
2.2、解壓oracle11G的安裝包
cd /tools
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
修改目錄的屬性
chmod -R 775 /data
chown -R oracle:oinstall /data
開始靜默安裝oracle
- 1.切換到oracle用戶,設置oracle用戶環境變量
su - oracle
vim /home/oracle/.bash_profile
添加以下內容
#for oracle
export ORACLE_TERM=xterm
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=/data/oracle/products/11.2.0.4/db
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin:$PATH
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib64:/usr/lib64
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
執行以下命令使環境變量生效
source /home/oracle/.bash_profile
一、db_install.rsp文件用於安裝oracle軟件。
二、netca.rsp文件用於創建監聽。
三、dbca.rsp文件用於創建oracle實例。
cp -r /data/soft/database/response/ /data/response目錄下
vim db_install.rsp
#找到以下參數,進行設置
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=改為自己的主機名
UNIX_GROUP_NAME=oinstall
##設置inventory目錄:
INVENTORY_LOCATION=/data/inventory
SELECTED_LANGUAGES=en,zh_CN
##設置oracle安裝目錄:
ORACLE_HOME=/data/oracle/products/11.2.0.4/db
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
以上參數除備注的需要修改外,其它的保持不變。
cd /data/soft/database目錄
執行: ./runInstaller -silent -responseFile /data/response/db_install.rsp -ignorePrereq
執行后只打印出4行日志后回車就回到正常的命令行,其它在后台已經在安裝,可以通過ps -ef|grep db_install.rsp 查看是否存在安裝進程。
如果安裝過程中有警告或失敗信息,也會在本窗口中打印出。
執行命令進行靜默安裝
./runInstaller -silent -responseFile /data/response/db_install.rsp -ignorePrereq
當出現才下語句時,需要使用root用戶執行以下兩個腳本后,軟件才算是正常安裝完。
1. /data/inventory/orainstRoot.sh
2. /data/products/11.2.0.4/db/root.sh /data/oracle/products/11.2.0.4/db/root.sh
在執行第2個腳本時,只會打印一行日志路徑,不會全部打印日志,這是正常現象,可以找到具體日志查看執行情況。
二、創建數據庫監聽
netca.rsp文件用於創建監聽。
修改/data/response/netca.rsp文件,要跟下面內容保持一致。
#egrep -v "(^#|^$)" /data/response/netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
##可以按實際修改以監聽端口。
LISTENER_PROTOCOLS={"TCP;11521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
##可以按實際修改以監聽端口。
NSN_PROTOCOLS={"TCP;HOSTNAME;11521"}
執行netca /silent /responsefile /data/response/netca.rsp
查看監聽狀態
lsnrctl status
lsnrctl stop
lsnrctl start
這里有個bug,使用lsnrctl status命令一直沒有反應,只能一次又一次的卸載重裝。
三、創建數據庫實例(即圖形頁面時的dbca)
egrep -v "(^#|^$)" /data/response/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
##按實際情況修改實例名
GDBNAME = "linelossapp"
SID = "linelossapp"
TEMPLATENAME = "General_Purpose.dbc"
##按實際情況修改sys密碼。
SYSPASSWORD = "oracle#1234"
SYSTEMPASSWORD = "oracle#1234"
SYSMANPASSWORD = "oracle#1234"
DBSNMPPASSWORD = "oracle#1234"
##按實際情況修改數據文件目錄和閃回目錄。
DATAFILEDESTINATION =/data/products/oradata
RECOVERYAREADESTINATION=/data/products/fast_recovery_area
##按實際情況修改字符集。
CHARACTERSET = "ZHS16GBK"
##按實際情況修改內存,按M計算。
TOTALMEMORY = "10240"
[createTemplateFromDB]
##按實際情況修改端口和實例名
SOURCEDB = "myhost:11521:linelossapp"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
##按實際情況修改實例名
SOURCEDB = "linelossapp"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
##按實際情況修改實例名
SOURCEDB = "linelossapp"
[generateScripts]
TEMPLATENAME = "New Database"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
SYSDBAUSERNAME = "sys"
除特殊備注的外,其它保持不變,裝單實例時一定要嚴格比對以上參數。
執行dbca -silent -responseFile /data/response/dbca.rsp 開始安裝。
###以下為執行過程。
[oracle@linelossapp response]$ dbca -silent -responseFile /data/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 "/data/cfgtoollogs/dbca/linelossapp/lineloss.log" for further details.
查看進程oracle進程,
ps -ef|grep ora
進入sql命令行
sqlplus / as sysdba
執行命令:
SELECT USERENV('language') FROM dual;