Linux 無圖形化安裝Oracle 11gr2
說明:看網上Linux下安裝Oracle都有圖形化的步驟,但是Linux系統通常是直接SSH連線的。系統在初始安裝的時候就沒有安裝桌面,要為了迎合安裝oracle需要去安裝個Linux桌面,使用VNC。。。總感覺好麻煩。在此研究了一下Oracle 11g 安裝。可以在命令列安裝。並且可以不需要再初次安裝時匯出應答檔案。
注意:如果是Oracle 12安裝的時候需要在一模一樣的環境的下使用圖形化安裝一遍,目的是將安裝Oracle 12時的應答檔案匯出來。這樣在以後相同環境,相同目錄結構下安裝,就可以直接無圖形化安裝了。
系統:CentOS 6.4 x64
一、準備Oracle 11gR2的安裝條件
去官方網站下載
包名稱:
linux.x64_11gR2_database_1of1.zip
linux.x64_11gR2_database_2of2.zip
1. 系統配置要求
1)實體記憶體1GB以上,交換空間大約為實體記憶體的2倍。
2)安裝目錄(/data/oracle)建議有8GB以上、/tmp目錄建議有1GB以上可用空間。
3)提前配置好主機名、IP地址,完成安裝以後不要再改主機名。
檢查記憶體大小,大概有2G,滿足要求
[[email protected]]# free -m
total used free shared buffers cached
Mem: 1876 1808 68 0 12 1486
-/+buffers/cache: 308 1567
Swap: 1023 10 1013
檢測swap和/data目錄,也是滿足要求的
[[email protected]]# df -hT
檔案系統型別容量已用可用已用%% 掛載點
/dev/sda3 ext4 19G 9.7G 8.0G 55% /
tmpfs tmpfs 939M 444M 495M 48% /dev/shm
/dev/sda1 ext4 194M 27M 158M 15% /boot
/dev/sdb1 ext4 20G 6.0G 13G 33% /data
修改交換分割槽配置,將原來的一行註釋掉,新加一行。不然的話
會提示ORA-00845: MEMORY_TARGET not supported on this system錯誤
vi /etc/fstab
#tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
重啟系統
reboot
2. 需要的軟體環境
yum -y install binutils compat-libstdc++ compat-libstdc++-33elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers ksh libaio-devellibstdc++-devel make sysstat unixODBC-devel binutils-* compat-libstdc++*elfutils-libelf* glibc* gcc-* libaio* libgcc* libstdc++* make* sysstat*unixODBC* wget unzip
yum clean all
解除安裝ksh,滿足相容要求,改裝RHEL5中的pdksh
rpm -e ksh
wgetftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/55/i386/SL/pdksh-5.2.14-36.el5.i386.rpm
安裝pdksh必須要有編譯環境,否則報錯
rpm -ivh pdksh-5.2.14-36.el5.i386.rpm
報錯就新增 --nodeps --force
將oracle軟體包上傳到/opt目錄
解壓軟體包
unzip linuxamd64_11gR2_database_1of2.zip
unzip linuxamd64_11gR2_database_2of2.zip
3. 核心引數調整(不低於以下值)
vi /etc/sysctl.conf
最後一行新增
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 = 1048576
載入引數
sysctl -p
4. 使用者環境要求
1)建立相關使用者、組賬號
安裝組
groupadd oinstall
管理組
groupadd dba
執行使用者
useradd -g oinstall -G dba oracle
設定密碼
passwd oracle
2)調整使用者變數
vi ~oracle/.bash_profile
最後一行新增
umask 022
export.UTF-8
export PATH=$PATH:/data/oracle/product/11gr2/dbhome_1/bin
export ORACLE_HOME=/data/oracle/product/11gr2/dbhome_1
export ORACLE_SID=orcl
source ~oracle/.bash_profile
vi /etc/profile
最後一行新增
export PATH=$PATH:/data/oracle/product/11gr2/dbhome_1/bin
export ORACLE_HOME=/data/oracle/product/11gr2/dbhome_1
export ORACLE_SID=orcl
更新系統環境
source /etc/profile
3)調整會話限制
vi /etc/pam.d/login
最後一行新增
session required pam_limits.so
vi /etc/security/limits.conf
最後一行新增
oracle soft nproc 8192
oracle hard nproc 16384
oracle soft nofile 32768
oracle hard nofile 65536
5. 安裝目錄準備
建立基本目錄
mkdir -p /data/oracle
chown -R oracle:oinstall /data/oracle/
chmod -R 775 /data/oracle/
若應答檔案內已配置,此檔案貌似可無
vi /etc/oraInst.loc
inventory_loc=/data/oracle/oraInventory
inst_group=oinstall
6.正式安裝
切換到oracle使用者,注意,必須是oracle使用者,root使用者是無法安裝的
su oracle
cd /opt/database
./runInstaller-silent -debug -force \
DECLINE_SECURITY_UPDATES=true\
oracle.install.option=INSTALL_DB_SWONLY\
UNIX_GROUP_NAME=oinstall\
INVENTORY_LOCATION=/data/oracle/oraInventory\
ORACLE_HOME=/data/oracle/product/11gr2/dbhome_1\
ORACLE_BASE=/data/oracle\
oracle.install.db.InstallEdition=EE\
oracle.install.db.EEOptionsSelection=true\
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.3.0,oracle.oraolap:11.2.0.3.0,oracle.rdbms.dm:11.2.0.3.0,oracle.rdbms.lbac:11.2.0.3.0,oracle.rdbms.rat:11.2.0.3.0\
oracle.install.db.DBA_GROUP=dba\
oracle.install.db.OPER_GROUP=dba\
oracle.install.db.isRACOneInstall=false\
DECLINE_SECURITY_UPDATES=true\
正在啟動 OracleUniversal Installer...
可以在以下位置找到本次安裝會話的日誌:
/data/oracle/oraInventory/logs/
/data/oracle/product/11gr2/dbhome_1/root.sh
Check/data/oracle/product/11gr2/dbhome_1/install/root_ns1.centos.com_2014-12-04_04-24-51.logfor the output of root script
啟動監聽,第一次執行會報錯,會生成listener.ora檔案
su oracle
netca /silent /responsefile /opt/database/response/netca.rsp
正在對命令列引數進行語法分析:
引數"silent"= true
引數"responsefile"= /opt/database/response/netca.rsp
完成對命令列引數進行語法分析。
Oracle Net Services 配置:
完成概要檔案配置。
Oracle Net 監聽程式啟動:
為該監聽程式提供的資訊正由此計算機上的其他軟體使用。
未能啟動監聽程式。
有關詳細資訊, 請檢視跟蹤檔案:/data/oracle/cfgtoollogs/netca/trace_OraDB12Home1-1412044上午3026.log
Oracle Net Services 配置失敗。退出程式碼是1
編輯監聽檔案
su root
vi /data/oracle/product/11gr2/dbhome_1/network/admin/listener.ora
將180.168.41.175改成自己的主機名
例如:
(ADDRESS = (PROTOCOL = TCP)(HOST = ns5.centos.com)(PORT =1521))
再次執行
su oracle
netca /silent /responsefile /opt/database/response/netca.rsp
正在對命令列引數進行語法分析:
引數"silent"= true
引數"responsefile"= /opt/database/response/netca.rsp
完成對命令列引數進行語法分析。
Oracle Net Services 配置:
完成概要檔案配置。
監聽程式"LISTENER" 已存在。
成功完成 Oracle NetServices 配置。退出程式碼是0
啟動服務
lsnrctl start
檢視狀態
lsnrctl status
檢視監聽埠
[[email protected] database]$ netstat -naptlu | grep 1521
(Not all processes could be identified, non-owned processinfo
will not be shown,you would have to be root to see it all.)
tcp 0 0 :::1521 :::* LISTEN 4898/tnslsnr
執行完後, 監聽就已經啟動了, 預設埠是1521, 預設是動態監聽, 只要例項啟動了就會監聽到.
su root
cp /opt/database/response/dbca.rsp ~oracle
chmod 755 ~oracle/dbca.rsp
chown oracle:oinstall ~oracle/dbca.rsp
su oracle
vi ~/dbca.rsp
GDBNAME = "orcl.ns5.centos.com" //全域性資料庫的名字=SID+主機域名
SID="orcl" // SID
CHARACTERSET="AL32UTF8" //編碼
NATIONALCHARACTERSET="UTF8" //編碼
SYSPASSWORD = "Oracle" //密碼
SYSTEMPASSWORD = "Oracle" //密碼
進行靜默安裝資料庫,請耐心等待幾分鐘
[[email protected]]$ dbca -silent -responseFile ~/dbca.rsp
複製資料庫檔案
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
33% 已完成
37% 已完成
正在建立並啟動 Oracle 例項
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在進行資料庫建立
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成
有關詳細資訊, 請參閱日誌檔案"/data/oracle/cfgtoollogs/dbca/orcl/orcl.log"。
[[email protected]~]$ sqlplus /nolog
SQL> conn / as sysdba
Connected.
SQL> startup
ORA-01081:cannot start already-running ORACLE - shut it down first
Oracle使用者密碼有效期問題
檢視當前有效期,預設是180天
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME';
PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME RESOURCE
----------------------------------------
LIMIT
--------------------------------------------------------------------------------
COM
---
DEFAULT
PASSWORD_LIFE_TIME PASSWORD
180
NO
修改為無限期
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
再次檢視
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME';
發現已經是無限期了
DEFAULT
PASSWORD_LIFE_TIME PASSWORD
UNLIMITED
NO
Oracle的安裝過程就結束了。