1. 程式人生 > >Linux 無圖形化安裝Oracle 11gr2

Linux 無圖形化安裝Oracle 11gr2

說明:看網上Linux下安裝Oracle都有圖形化的步驟,但是Linux系統通常是直接SSH連線的。系統在初始安裝的時候就沒有安裝桌面,要為了迎合安裝oracle需要去安裝個Linux桌面,使用VNC。。。總感覺好麻煩。在此研究了一下Oracle 11g 安裝。可以在命令列安裝。並且可以不需要再初次安裝時匯出應答檔案。

注意:如果是Oracle 12安裝的時候需要在一模一樣的環境的下使用圖形化安裝一遍,目的是將安裝Oracle 12時的應答檔案匯出來。這樣在以後相同環境,相同目錄結構下安裝,就可以直接無圖形化安裝了。

系統:CentOS 6.4 x64

一、準備Oracle 11gR2的安裝條件

去官方網站下載 

http://www.oracle.com/cn/downloads/index.html 安裝包,有2個包,大約2GB左右

包名稱:

 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的安裝過程就結束了。