1. 程式人生 > >linux安裝Oracle11G

linux安裝Oracle11G

stop 登錄 shm bit create onf aps 建庫 util

linux安裝Oracle11G

0、下載Orcle11G

http://www.cnblogs.com/mmzs/p/9030823.html

1、上傳文件到服務器或虛擬機的/install目錄下

[root@myYUn install]# rz –y

技術分享圖片

如果rz –y命令不能使用,可用如下方法解決:

yum install lrzsz -y

2、解壓文件到當前目錄:

[root@myYUn install]# unzip linux.x64_11gR2_database_1of2.zip

[root@myYUn install]# unzip linux.x64_11gR2_database_2of2.zip

技術分享圖片

如果unzip命令不能使用,依次執行如下命令:

     yum list | grep zip/unzip

     yum install zip

     yum install unzip 

將解壓後的文件夾直接移動到/software目錄下:

[root@myYUn install]# mv database/ /software/

[root@myYUn install]# cd /software

[root@myYUn install]# ll

技術分享圖片

3、關閉selinux

[root@myYUn software]# vim /etc/selinux/config

設置SELINUX=disabled

技術分享圖片

[root@myYUn software]# setenforce 0

技術分享圖片

4、關閉防火墻

查看系統版本:

[root@myYUn software]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

[root@myYUn software]# getconf LONG_BIT

64

如果是6及以下:

[root@myYUn software]# service iptables stop

[root@myYUn software]# service iptables status

[root@myYUn software]# chkconfig iptables off

如果是centenOS7:

[root@myYUn software]# systemctl restart firewalld.service

[root@myYUn software]# systemctl list-unit-files|grep firewalld.service

firewalld.service disabled

[root@myYUn software]# systemctl disable firewalld.service

5、安裝Oracle 11g依賴包

[root@myYUn software]# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y

6、添加安裝用戶和用戶組

[root@myYUn software]# groupadd oinstall

[root@myYUn software]# groupadd dba

[root@myYUn software]# useradd -g oinstall -G dba oracle

[root@myYUn software]# passwd oracle

Changing password for user oracle.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@myYUn software]# id oracle

uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

7、修改內核參數配置文件

[root@myYUn software]# vim /etc/sysctl.conf

在末尾添加以下內容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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 

查看是否成功寫進/etc/sysctl.conf文件中:

[root@myYUn software]# sysctl –p

其中kernel.shmmax = 1073741824為本機物理內存(2G)的一半,單位為byte。

8、修改用戶的限制文件

修改/etc/security/limits.conf文件:

[root@myYUn software]# 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 

修改/etc/pam.d/login文件:

[root@myYUn software]# vim /etc/pam.d/login

在末尾添加以下內容:

session required  /lib64/security/pam_limits.so
session required   pam_limits.so 

修改/etc/profile文件:

[root@ myYUn software]# vim /etc/profile

在末尾添加以下內容:

#oracle配置
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
  else
      ulimit -u 16384 -n 65536
  fi
fi 

9、創建安裝目錄和設置文件權限

[root@myYUn software]# mkdir -p /data/oracle/product/11.2.0

[root@myYUn software]# mkdir /data/oracle/oradata

[root@myYUn software]# mkdir /data/oracle/inventory

[root@myYUn software]# mkdir /data/oracle/fast_recovery_area

[root@myYUn software]# chown -R oracle:oinstall /data/oracle

[root@myYUn software]# chmod -R 775 /data/oracle

10、設置oracle用戶環境變量

首先切換到oracle用戶下:

[root@myYUn software]# su -l oracle

[oracle@myYUn ~]$ vim .bash_profile

在末尾添加如下內容:

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SIDPATH

註意,標紅處必須與創建的數據庫實例名稱一致,否則數據庫啟動後無法訪問。第一次配置完記得source一下。

11、編輯靜默安裝響應文件

復制安裝文件夾response到當前oracle用戶的家目錄下:

[oracle@myYUn ~]$ cp -R /software/database/response/ .

[oracle@myYUn ~]$ cd response/

[oracle@myYUn response]$ vim db_install.rsp

需要設置的選項如下:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=CentOS

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/11.2.0

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

12、根據響應文件靜默安裝Oracle11g

[oracle@myYUn response]$ cd /software/database/

[oracle@myYUn database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

如果執行以上命令出錯,會提示有參數格式,按照提示參數格式修改修改即可,一般是由於word中的字體、符號格式復制到客戶端命令行後不一致引起,修改即可。

樓主遇到了交換空間不足的問題:

技術分享圖片

解決方案如下(在root用戶下執行):

[root@myYUn /]# free

技術分享圖片

[root@myYUn /]# dd if=/dev/zero of=swapfile bs=1024 count=500000

500000+0 records in

500000+0 records out

512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s

[root@myYUn /]# mkswap swapfile

Setting up swapspace version 1, size = 499996 KiB

no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc

[root@myYUn /]# swapon swapfile

swapon: /swapfile: insecure permissions 0644, 0600 suggested.

[root@myYUn /]# free

技術分享圖片

開始Oracle在後臺靜默安裝。安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在後臺進行,如果出現Successfully Setup Software,則安裝程序已經停止了。

可以在以下位置找到本次安裝會話的日誌:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log

可以切換終端執行top命令查看後臺進程一直是在安裝的,/data目錄也在不斷增大,

當出現以下提示時,代表安裝成功:

技術分享圖片

按照要求執行腳本。

打開終端,退出到root身份登錄,執行腳本:

[oracle@iZ2f570bi1k56uZ database]$ exit

logout

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/inventory/orainstRoot.sh

Changing permissions of /data/oracle/inventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /data/oracle/inventory to oinstall.

The execution of the script is complete.

[root@iZ2f570bi1k56uZ software]# sh /data/oracle/product/11.2.0/root.sh

Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script

13、以靜默方式配置監聽

重新使用oracle用戶登錄:

[root@myYUn software]# su -l oracle

Last login: Sun May 13 14:09:10 CST 2018 on pts/3

[oracle@myYUn ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp

技術分享圖片

註意此處,必須使用/silent /responseFile格式,而不是-silent -responseFile,因為是靜默安裝。

成功運行後,在/data/oracle/product/11.2.0/network/admin中生成listener.ora和sqlnet.ora

通過netstat命令可以查看1521端口正在監聽。

Yum安裝netstat軟件,軟件包是在net-tools中。

[root@myYUn /]# yum install net-tools

[root@myYUn /]# yum install net-tools

技術分享圖片

14、以靜默方式建立新庫,同時也建立一個對應的實例

[oracle@myYUn ~]$ vim /home/oracle/response/dbca.rsp

修改文件中以下參數:

[GENERAL]

# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"

# Description   : Type of operation
OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

# Description   : Global database name of the database
# 全局數據庫的名字=SID+主機域名
GDBNAME = "orcl.test"

# Description   : System identifier (SID) of the database
# 對應的實例名字
SID = "orcl"

# Description   : Name of the template
# 建庫用的模板文件
TEMPLATENAME = "General_Purpose.dbc"

# Description   : Password for SYS user
# SYS管理員密碼
SYSPASSWORD = "123456"

# Description   : Password for SYSTEM user
# SYSTEM管理員密碼
SYSTEMPASSWORD = "123456"

# Description   : Password for SYSMAN user
# SYSMAN管理員密碼
SYSMANPASSWORD = "123456"

# Description   : Password for DBSNMP user
# DBSNMP管理員密碼
DBSNMPPASSWORD = "123456"

# Description   : Location of the data file‘s
# 數據文件存放目錄
DATAFILEDESTINATION =/data/oracle/oradata

# Description   : Location of the data file‘s
# 恢復數據存放目錄
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

# Description   : Character set of the database
# 字符集,重要!!! 建庫後一般不能更改,所以建庫前要確定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK"

# Description   : total memory in MB to allocate to Oracle
# oracle內存1638MB,物理內存2G*80%
TOTALMEMORY = "1638" 

進行靜默配置:

[oracle@myYUn ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp

技術分享圖片

建庫後進行實例進程檢查:

[oracle@myYUn ~]$ ps -ef | grep ora_ | grep -v grep

技術分享圖片

查看監聽狀態:

[oracle@myYUn ~]$ lsnrctl status

技術分享圖片

數據庫創建完成。

有關詳細信息, 請查看以下位置的日誌文件: /data/oracle/cfgtoollogs/dbca/orcl/orcl.log。

數據庫信息:

全局數據庫名:orcl.test

系統標識符 (SID):orcl

登錄查看實例狀態:

[oracle@myYUn ~]$ sqlplus / as sysdba

SQL> select status from v$instance;

技術分享圖片

如果報錯:【ORA-12162: TNS:net service name is incorrectly specified】

錯誤原因:【這個錯誤是因為ORACLE_SID變量沒有傳進去造成的。】

解決方法:

1.查看當前ORACLE_SID

[oracle@iZ2f570bi1k56uZ ~]$ echo $ORACLE_SID

orcl

2.修改ORACLE_SID和/home/oracle/response/dbca.rsp中的一樣

[oracle@iZ2f570bi1k56uZ ~]$ export ORACLE_SID=orcl

3.如果依然不能登陸,嘗試修改orcle文件夾的權限

15、命令行模式靜默刪除

1、首先查看dbca的幫助信息

dbca -help

修改/home/oracle/response/dbca.rsp文件裏以下幾個參數,下面三個參數根據建庫實際情況進行修改:

OPERATION_TYPE = "deleteDatabase"

SOURCEDB = "orcl"

SYSDBAUSERNAME = "sys"

SYSDBAPASSWORD = "123456"

然後運行:

dbca -silent -responseFile /home/oracle/response/dbca.rsp

各參數含義如下:

-silent 表示以靜默方式刪除

-responseFile 表示使用哪個響應文件,必需使用絕對路徑

RESPONSEFILE_VERSION 響應文件模板的版本,該參數不要更改

OPERATION_TYPE 安裝類型,該參數不要更改

SOURCEDB 數據庫名,不是全局數據庫名,即不包含db_domain

很簡單數據庫卸載完成了,請註意,只是數據庫卸載完了,數據庫軟件還是在的。

2、使用DBCA卸載數據庫

dbca -silent -delete Database -responseFile dbca.rsp

a.選項-silent表示靜默安裝,免安裝交互,大部分安裝信息也不輸出

b.選項-responseFile指定應答文件,要求用絕對路徑


參考文章:

1、linux下安裝Oracle時交換空間不足的解決方法

2、sqlplus / as sysdba無法登錄的奇怪報錯

3、Oracle 11g 基於CentOS7靜默安裝教程(無圖形界面,遠程安裝)

linux安裝Oracle11G