安裝環境(可以查看附件的環境安裝過程來安裝和我這個一模一樣的環境):
以下是安裝Oracle數據庫的內存要求11所示g版本2(11.2):
-
最低:1 GB的RAM
推薦:2 GB的RAM或更多
確定內存大小,輸入以下命令:
# grep MemTotal /proc/meminfo
如果內存的大小小於所需的大小,然後在繼續之前必須安裝更多的內存。
-
下表描述了安裝內存和交換空間配置關係的建議:
可用內存 | 交換空間要求 |
---|---|
1 GB和2 GB之間 | RAM的大小的1.5倍 |
2 GB和16 GB之間 | RAM的大小 |
超過16 GB | 16 GB |
確定系統架構可以運行軟件,輸入以下命令:
# uname - m
注意:
這個命令可以顯示處理器的類型。 驗證處理器體系結構匹配安裝Oracle軟件發佈。 如果您沒有看到預期的輸出,那麼你不能在這個系統上安裝軟件。確定可用的內存和交換空間,輸入以下命令:
#free
-
至少1 GB的磁盤空間
/tmp
目錄確定可用的磁盤空間
/tmp
目錄中,輸入以下命令:# df - h / tmp
查看內核版本:
cat /proc/version
下面的表描述軟件文件的磁盤空間需求,爲每個安裝類型和數據文件在Linux x86 - 64:
安裝類型 | 要求軟件文件(GB) |
---|---|
企業版 | 4.7 |
標準版 | 4.6 |
安裝類型 | 要求數據文件(GB) |
---|---|
企業版 | 1.7 |
標準版 | 1.5 |
包需求
採用yum批量安裝
首先配置yum(以root身份執行):
[root@jtxy ~]# vim /etc/yum.repos.d/public-yum-el5.repo
寫入如下內容
[public_el5_latest]
name=OracleLinux $releasever Latest($basearch)
baseurl=file:///mnt/Server
gpgcheck=0
enabled=1
保存退出
[root@
jtxy
~]# mount /dev/cdrom /mnt/mount: block device /dev/cdrom is write-protected, mounting read-only
[root@
jtxy
~]# yum clean allLoaded plugins: rhnplugin, security
Cleaning up Everything
編寫腳本(以root身份執行):
[root@
jtxy
~]# vim pack.sh寫入如下內容:
#!bin/bash
#start install required packages
echo "start installing required packages"
yum -y install binutils-*
yum -y install compat-libstdc++-*
yum -y install compat-libstdc++-*
yum -y install elfutils-libelf-*
yum -y install elfutils-libelf-devel-*
yum -y install gcc-*
yum -y install gcc-c++-*
yum -y install glibc-*
yum -y install glibc-*
yum -y install glibc-common-*
yum -y install glibc-devel-*
yum -y install glibc-devel-*
yum -y install glibc-headers-*
yum -y install ksh-*
yum -y install libaio-*
yum -y install libaio-*
yum -y install libaio-devel-*
yum -y install libaio-devel-*
yum -y install libgcc-*
yum -y install libgcc-*
yum -y install libstdc++-*
yum -y install libstdc++-*
yum -y install libstdc++-devel*
yum -y install make-*
yum -y install sysstat-*
yum -y install unixODBC-*
[root@jtxy ~]# chmod +x pack.sh
執行腳本
[root@jtxy ~]# sh pack.sh
創建所需的操作系統組和用戶
more /etc/oraInst.loc
[root@
jtxy
~]# cat /etc/oraInst.locinventory_loc=/u01/app/oraInventory
inst_group=oinstall--這就是oinstall組,說明本系統已經存在oracle軟件。
grep dba /etc/group
dba
組名稱,那麼這個組已經存在。[root@
jtxy
~]# id oracleuid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)
groupadd oinstall
groupadd dba
groupadd oper
- useradd -g oinstall -G dba,oper oracle
- passwd oracle
- --oinstall oracle產品清單組,代表oracle軟件的擁有者,主要用來管理一臺機器中多個oracle產品
- --dba 與oracle操作系統身份驗證相關,屬於這個組的用戶可以在完成操作系統身份驗證後直接sql plus / as sysdba登陸
- --oper 可選組,與上面組差不多,允許這個組的用戶在進行操作系統驗證後以sysoper身份登陸
配置內核參數和資源限制
vim /etc/sysctl.conf寫入
fs.aio-max-nr =1048576
fs.file-max =6815744
kernel.shmall =2097152
kernel.shmmax =1073741824
kernel.shmmni =4096
kernel.sem =25032000100128
net.ipv4.ip_local_port_range =900065500
net.core.rmem_default =262144
net.core.rmem_max =4194304
net.core.wmem_default =262144
net.core.wmem_max =1048586
注意:kernel.shmmax修改爲內存的一半(單位byte)
shmall在一般情況下是正常使用的,如果內存過大(超過64G)的時候他也要調大,我在裝rac時,服務器是500g內存,當時用官方文檔的大小時,報了內存耗盡錯誤。
修改後使上面參數生效執行:
sysctl -p
vim /etc/security/limits.conf寫入一下內容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
配置oracle用戶的環境變量(以root身份執行)
su - oracle --現在切換到oracle用戶,切記是 su - oracle,兩邊都有空格,下面內容是以oracle身份執行
vim .bash_profile 寫入如下內容:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
執行如下命令,讓環境變量生效:source .bash_profile
創建所需的目錄
su - --現在又切換到root身份
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/
chmod -R 775/u01/
(本操做在安裝系統時候已經執行)
chkconfig sendmail off
chkconfig iptables off
chkconfig sm-client off
setup選firewall configuration 選disabled
關閉SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
cat /etc/selinux/config
vim /etc/hosts
將ip及主機名對應起來,改成下面這樣
[root@jtxy u01]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.99 jtxy
[root@jtxy ~]# cd /u01/
[root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_1of7.zip
。。。。。。。。。。。。。。。。。。。。。。。
[root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_2of7.zip
[root@jtxy u01]# ls
app database lost+found p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[root@jtxy u01]# rm -rf p13390677_112040_Linux-x86-64_*
[root@jtxy u01]# ls
app database lost+found
[root@jtxy u01]# xhost +
access control disabled, clients can connect from any host
[root@jtxy u01]# su - oracle
[oracle@jtxy ~]$ cd /u01/database/
[oracle@jtxy database]$ ./runInstaller
[oracle@jtxy database]$ cd
[oracle@jtxy ~]$ netca
[oracle@jtxy ~]$ lsnrctl status
LSNRCTL forLinux:Version11.2.0.4.0-Production on 17-MAR-201712:44:17
Copyright(c)1991,2013,Oracle.All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jtxy)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR forLinux:Version11.2.0.4.0-Production
StartDate17-MAR-201712:43:04
Uptime0 days 0 hr.1 min.14 sec
TraceLevel off
Security ON:Local OS Authentication
SNMP OFF
ListenerParameterFile/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
ListenerLogFile/u01/app/oracle/diag/tnslsnr/jtxy/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jtxy)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services--還未有任何服務名被監聽
The command completed successfully
[oracle@jtxy ~]$ dbca
[oracle@jtxy ~]$ sqlplus /as sysdba
SQL*Plus:Release11.2.0.4.0Production on FriMar1713:08:182017
Copyright(c)1982,2013,Oracle.All rights reserved.
Connected to:
OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
With the Partitioning, OLAP,DataMiningandRealApplicationTesting options
SQL> alter user scott account unlock identified by tiger; --這是解鎖scott用戶,並且設置密碼爲tiger
User altered.
解決該問題
1.建立新tmp目錄
[root@pxboracle ora11g]# mkdir /u01/tmp
[root@pxboracle ora11g]# chown root:root /u01/tmp
[root@pxboracle ora11g]# chmod 1777/u01/tmp
2.設置數據庫用戶變量
vi /home/oracle/.bash_profile 加入以下變量
export TEMP=/u01/tmp
export TMPDIR=/u01/tmp
- 然後 source .bash_profile生效
[ora11g@pxboracle ~]$ env|grep TMP
TMPDIR=/u01/tmp
[ora11g@pxboracle~]$ env|grep TEMP
TEMP=/u01/tmp
3.重新運行runInstaller
4.安裝完成清理相關/u01/tmp 和相關環境變了,讓數據庫使用系統默認(根據實際情況處理),最好的解決辦法是給系統增加tmp空間,然後重新運行安裝,出現這種錯誤就是本身檢查環境不仔細導致的。