準(zhǔn)備資料
CentOS6.7
Oracle 11gR2 11.2.0.4.0
VMware? Workstation 12 Pro
MobaXterm
參考:http://docs.oracle.com/cd/E11882_01/install.112/e24326/
root用戶要做的
虛擬機安裝與配置略
硬件需求
free查看內(nèi)存,swap保證1G-2G以上
free
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
df查詢分區(qū),tmp保證1G-2G以上
df -h /dev/shm/
df -h /tmp
df -h
檢查系統(tǒng)是多少位, x86_64代表64位
uname -m
設(shè)置主機名/etc/sysconfig/network,HOSTNAME=主機名
設(shè)置Hosts /etc/hosts,添加IP和主機名
軟件需求
檢查是否安裝rpm -qa | grep 軟件包名 yum list | grep 軟件包名
安裝軟件包yum install 軟件包名
Linux 6依賴的軟件包
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
Linux 7 依賴的軟件包
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
ksh下載
http://rpmfind.net/linux/rpm2html/search.php?query=ksh
安裝
rpm -ivh ksh-20120801-33.el6.x86_64.rpm
最后依然沒有解決的
pdksh-5.2.14
libaio-devel-0.3.105
遺漏的
elfutils-libelf-devel
ODBC驅(qū)動
Linux 6
unixODBC-2.2.14-11.el6 (x86_64) or later
unixODBC-2.2.14-11.el6.i686 or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later
unixODBC-devel-2.2.14-11.el6.i686 or later
Linux 7
xODBC-2.3.1-6.el7.x86_64 or later
unixODBC-2.3.1-6.el7.i686 or later
unixODBC-devel-2.3.1-6.el7.x86_64 or later
unixODBC-devel-2.3.1-6.el7.i686 or later
創(chuàng)建用戶和組
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle
驗證是否創(chuàng)建成功
# id oracle
uid=502(oracle) gid=501(oinstall) 組=501(oinstall),502(dba)
若oracle用戶已經(jīng)存在,可以使用如下命令設(shè)置oracle用戶初始群組為 oinstall,有效群組為 dba、oper
usermod -g oinstall -G dba,oper oracle
創(chuàng)建目錄并分配權(quán)限
mkdir /u01/app/oracle
mkdir /u01/app/oraInventory
chown oracle:oinstall /u01
chown oracle:oinstall /u01/app
chown oracle:oinstall /u01/app/oracle
chown oracle:oinstall /u01/app/oraInventory
chmod 755 /u01/app/oracle
chmod 755 /u01/app/oraInventory
修改內(nèi)核參數(shù)
vim /etc/sysctl.conf
添加
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
執(zhí)行命令時配置生效
/sbin/sysctl -p
修改系統(tǒng)資源限制
vim /etc/security/limits.conf
添加
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240
vim /etc/pam.d/login #R1的要求,R2不要求
添加
session required pam_limits.so
vim /etc/profile #R1的要求,R2不要求
添加
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
vim /etc/security/limits.d/90-nproc.conf
將* soft nproc 1024修改為* - nproc 16384
關(guān)閉SELinux
設(shè)置SELinux不開機啟動
vim /etc/selinux/config
SELINUX=disabled或者SELINUX=permissive
關(guān)閉SELinux
setenforce 0
oracle用戶要做的
設(shè)置oracle賬號登錄時環(huán)境
vim /home/oracle/.bash_profile
ORACLE_BASE=/u01/app/oracle; #安裝目錄
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; #oracle家目錄
ORACLE_SID=orcl; #實例名
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin;
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH;
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
$source .bash_profile
source .bash_profile
準(zhǔn)備安裝包
| Installation Type | Zip File |
|---|---|
| Oracle Database (includes Oracle Database and Oracle RAC)Note: you must download both zip files to install Oracle Database. |
p13390677_112040_platform_1of7.zip p13390677_112040_platform_2of7.zip
|
| Oracle Grid Infrastructure (includes Oracle ASM, Oracle Clusterware, and Oracle Restart) | p13390677_112040_platform_3of7.zip |
| Oracle Database Client | p13390677_112040_platform_4of7.zip |
| Oracle Gateways | p13390677_112040_platform_5of7.zip |
| Oracle Examples | p13390677_112040_platform_6of7.zip |
| Deinstall | p13390677_112040_platform_7of7.zip |
ftp上傳
解壓
安裝Oracle只需要第一個和第二個文件
cd ~
unzip p13390677_112040_platform_1of7.zip
unzip p13390677_112040_platform_2of7.zip
安裝文件所在目錄 /home/oracle/database/
保證權(quán)限
chmod -R 700 /home/oracle/database/
chmod -R oracle:oinstall /home/oracle/database/
圖形安裝
export LANG=en_US
/home/oracle/database/runInstaller
靜默安裝
./runInstaller oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_BASE=/u01/app/oracle/ \
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 \
UNIX_GROUP_NAME=oinstall \
oracle.install.option=INSTALL_DB_AND_CONFIG \
ORACLE_HOSTNAME=${HOSTNAME} \ #換成主機名
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=oinstall \
oracle.install.db.BACKUPDBA_GROUP=dba \
oracle.install.db.DGDBA_GROUP=dba \
oracle.install.db.KMDBA_GROUP=dba \
FROM_LOCATION=../stage/products.xml \
INVENTORY_LOCATION=/u01/app/oracle/oraInventory/ \
SELECTED_LANGUAGES=en,zh_CN \ #界面顯示語言
oracle.install.db.InstallEdition=EE \ #企業(yè)版
oracle.install.db.EEOptionsSelection=false \
oracle.install.db.isRACOneInstall=false \
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \
oracle.install.db.config.starterdb.globalDBName=orcl \ #數(shù)據(jù)庫名
oracle.install.db.config.starterdb.SID=orcl \ #實例名
oracle.install.db.config.starterdb.characterSet=ZHS16GBK \#字符集
oracle.install.db.config.starterdb.memoryOption=true \ #
oracle.install.db.config.starterdb.memoryLimit=1530 \ #內(nèi)存限制
oracle.install.db.config.starterdb.installExampleSchemas=false \
oracle.install.db.config.starterdb.enableSecuritySettings=true \
oracle.install.db.config.starterdb.control=DB_CONTROL \
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE \
oracle.install.db.config.starterdb.automatedBackup.enable=false \
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata \
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/recovery_area \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
DECLINE_SECURITY_UPDATES=true \
DECLINE_SECURITY_UPDATES=true -silent -ignoreSysPrereqs -ignorePrereq -waitForCompletion
正在啟動 Oracle Universal Installer...
檢查臨時空間: 必須大于 120 MB。 實際為 42865 MB 通過
檢查交換空間: 必須大于 150 MB。 實際為 3967 MB 通過
準(zhǔn)備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2017-05-07_03-12-07AM. 請稍候...可以在以下位置找到本次安裝會話的日志:
/u01/app/oracle/oraInventory/logs/installActions2017-05-07_03-12-07AM.logOracle Database 11g 的 安裝 已成功。
請查看 '/u01/app/oracle/oraInventory/logs/silentInstall2017-05-07_03-12-07AM.log' 以獲取詳細資料。以 root 用戶的身份執(zhí)行以下腳本:
1. /u01/app/oracle/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
安裝中要執(zhí)行的腳本
root用戶執(zhí)行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
安裝后的配置
備份root.sh腳本
cd ${ORACLE_HOME}
cp -p root.sh root.sh.bak
配置和更新數(shù)據(jù)庫(可選)
/usr/local/bin/oraenv
sqlplus / AS SYSDBA
SQL>@?/rdbms/admin/utlrp.sql
生成客戶端靜態(tài)庫
$ORACLE_HOME/bin/genclntst
ar: creating /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntst11.a
Created /u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntst11.a
開關(guān)數(shù)據(jù)庫選項
chopt [ enable | disable] db_option
Value Description
dm Oracle Data Mining RDBMS Files
dv Oracle Database Vault
lbac Oracle Label Security
olap Oracle OLAP
partitioning Oracle Partitioning
rat Oracle Real Application Testing
ode_net Oracle Database Extensions for .NET 1.x
ode_net_2 Oracle Database Extensions for .NET 2.0
使配置生效
srvctl stop database -d myDb
chopt enable lbac
srvctl start database -d myDb
dbca建庫
略
netca創(chuàng)建監(jiān)聽
略
netmgr配置網(wǎng)絡(luò)服務(wù)
略
修改tnsnames.ora和listener.ora
cd ${ORACLE_HOME}/network/admin/
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = SID_NAME)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:/u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntst11.a")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.199)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
tnsnames.ora修改SERVICE_NAME為服務(wù)名,默認(rèn)orcl
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
AMLUAT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.199)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SERVICE_NAME)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_AMLUAT =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
啟動監(jiān)聽
lsnrctl start
sqlplus登錄
sqlplus /nolog
SQL>CONNECT SYS AS SYSDBA
啟動數(shù)據(jù)庫
方式一:SQL>startup
方式二:dbstart
關(guān)閉是shutdown
SQL Developer
jdk安裝略
cd $ORACLE_HOME/sqldeveloper/
./sqldeveloper.sh
解鎖賬戶
ALTER USER account IDENTIFIED BY password ACCOUNT UNLOCK;
設(shè)置Oracle開機啟動
vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N
N改為Y
vim /etc/rc.d/rc.local
su oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
如果遇到以下錯誤:
ORACLE_HOME_LISTENER is not SET, unable to auto-start Oracle Net Listener
換中方式執(zhí)行第二條命令,相當(dāng)于加上參數(shù)$ORACLE_HOME
su oracle -lc "/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/11.2.0/dbhome_1"
Oracle卸載
正常卸載
cd ${ORACLE_HOME}/deinstall/
./deinstall
如果是安裝失敗,需要下載卸載器程序
p13390677_112040_platform_7of7.zip