靜默安裝oracle11g

oracle軟件安裝對操作系統的要求

硬件要求

物理內存不小於1G(grep MemTotal /proc/meminfo)

swap空間不小於2G(grep SwapTotal /proc/meminfo)

硬盤空間一般不小於5G

軟件要求

     操作系統的限制:詳情請見oracle官方文檔

     軟件依賴:(摘自oracle 11g Release 1)

https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG

binutils-2.15.92.0.2 compat-libstdc++-33-3.2.3

compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.97

elfutils-libelf-devel-0.97 expat-1.95.7

gcc-3.4.6 gcc-c++-3.4.6

glibc-2.3.4-2.41 glibc-2.3.4-2.41 (32 bit)

glibc-common-2.3.4 glibc-devel-2.3.4

glibc-headers-2.3.4 libaio-0.3.105

libaio-0.3.105 (32 bit) libaio-devel-0.3.105

libaio-devel-0.3.105 (32 bit) libgcc-3.4.6

libgcc-3.4.6 (32-bit) libstdc++-3.4.6

libstdc++-3.4.6 (32 bit) libstdc++-devel 3.4.6

make-3.80 numactl-0.6.4.x86_64

pdksh-5.2.14 sysstat-5.0.5

 

靜默方式安裝oracle server

軟件依賴的安裝

創建操作系統所需的用戶和組

修改操作系統的內核參數

修改用戶限制

使用oracle-rdbms-server-11gR2-preinstall來簡化oracle的安裝

這個包是oracle官方提供給安裝oracle用戶的,用來簡化oracle軟件的安裝。執行這個步驟,可以省略上述帶有刪除線的步驟。

下面是步驟:

1)根據操作系統的版本,選擇合適的yum源。

    cd /etc/yum.repos.d

    wget http://yum.oracle.com/public-yum-ol7.repo

 

2)選擇合適的GPG KEY,進行驗證安裝

 wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

3)安裝oracle-rdbms-server-11gR2-preinstall

  yum install oracle-rdbms-server-11gR2-preinstall
  rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers pdksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 
yum install elfutils-libelf-devel 
yum install glibc-2.5 
yum install  pdksh 
yum install unixODBC 
yum install unixODBC-devel

4)設置oracle的用戶的密碼

passwd oracle

創建oracle安裝目錄和設置環境變量

創建相關安裝目錄:

mkdir -p /u01/app/oracle

mkdir /u01/app/oracle/oraInventory

chown -R oracle:oinstall /u01/app/oracle

chmod -R 755 /u01/app/oracle/ source  /home/oracle/.bash_profile

 

 

設置環境變量:

 

ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_HOME
ORACLE_SID=orcl 
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin 
source  /home/oracle/.bash_profile

 

 

 

設置操作系統的hostname

vi /etc/hosts

#realip hostname.domain.com hostname

192.168.233.133 oracledb.localdomain.com oracledb

hostname oracledb

重啓服務器

reboot

 

解壓縮文件

 


 
unzip linux.x64_11gR2_database_1of2.zip -d /upload/

unzip linux.x64_11gR2_database_2of2.zip -d /upload/

chown -R  oracle:oinstall /upload/database/
 

準備應答文件

oracle解壓縮之後,在database/response中存放着一些應答文件的模板,可以使用這些應答模板進行修改,來執行非交互式的數據庫軟件和數據庫的安裝。

  • dbca.rsp:創建數據庫的應答文件模板

  • db_install.rsp:安裝數據庫軟件的應答文件模板:

  • netca.rsp:配置oracle中的網絡使用的應答文件的模板

cd /u01/app/oracle

mkdir responseFiles

cp /upload/database/response/* responseFiles/

cp responseFiles/db_install.rsp responseFiles/enterprise.rsp

chown -R oracle:oinstall responseFiles

chmod -R 755 responseFiles/

enterprise.rsp中改動的內容如下:
oracle.install.option=INSTALL_DB_SWONLY // 安裝類型


ORACLE_HOSTNAME=oracledb // 主機名稱(hostname查詢)


UNIX_GROUP_NAME=oinstall // 安裝組


INVENTORY_LOCATION=/u01/app/oracle/oraInventory


SELECTED_LANGUAGES=en,zh_CN,zh_TW // 選擇語言


ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1


ORACLE_BASE=/u01/app/oracle


oracle.install.db.InstallEdition=EE // oracle版本


oracle.install.db.isCustomInstall=false //自定義安裝,否,使用默認組件


oracle.install.db.DBA_GROUP=dba // dba用戶組


oracle.install.db.OPER_GROUP=oinstall // oper用戶組


oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //數據庫類型


oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName


oracle.install.db.config.starterdb.SID=orcl //SID


oracle.install.db.config.starterdb.memoryLimit=512//自動管理內存的內存(M)


oracle.install.db.config.starterdb.password.ALL=oracle //設定所有數據庫用戶使用同一個密碼


SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手動寫了false)


DECLINE_SECURITY_UPDATES=true(如果不設置成true,安裝失敗,會提示輸入郵件地址)

執行命令完成安裝

 cd database/
 su - oracle
 cd /upload/database/
 ./runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -responseFile /u01/app/oracle/responseFiles/enterprise.rsp

 

  • -silent:z指定安裝的類型

  • -ignoreSysPrereqs:忽略系統先決條件的檢查

  • -ignorePrereq:忽略系統運行條件的檢查

  • -ignorePrereq:執行應答文件的位置

 

 

當日志出現如下時,以root用戶登錄,執行以下腳本:

To execute the configuration scripts:

1. Open a terminal window 

2. Log in as "root" 

3. Run the scripts 

4. Return to this window and hit "Enter" key to continue

 

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/11.2.0/dbhome_1/root.sh 

要執行配置腳本, 請執行以下操作:

     1. 打開一個終端窗口

     2. 以 "root" 身份登錄

     3. 運行腳本

     4. 返回此窗口並按 "Enter" 鍵繼續

sh /u01/app/oracle/oraInventory/orainstRoot.sh

sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

 

驗證實例安裝結果(oracle用戶下執行):

 

    sqlplus / as sysdba

    出現:

SQL*Plus: Release 11.2.0.1.0 Production on Sat Mar 17 12:16:29 2018

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

則說明oracle實例安裝完成。

 

create database創建oracle數據庫

oracle數據庫啓動狀態可以分爲三個階段。
         nomount:主要讀取參數文件
         mount:主要讀取控制文件
         open::主要讀取參數文件

    create database語句,需要數據庫在nomount狀態下執行,我們需要手動的創建參數文件。參數文件可以從別的數據庫拷貝過來。下面我們演示的是手動的創建文本的參數文件(pfile)

創建數據庫文件的相關目錄

 

mkdir -p /u01/app/oracle/admin/ORCL/adump #oracle相關日誌的存放位置
mkdir -p /u01/app/oracle/oradata/orcl	#oracle數據文件的存放位置
mkdir -p /u01/app/oracle/flash_recovery_area/db_1 #oracle閃存恢復的工作空間

準備參數文件

vi /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
ORCL.__db_cache_size=486539264
ORCL.__java_pool_size=16777216
ORCL.__large_pool_size=16777216
ORCL.__oracle_base='/u01/app/oracle'
ORCL.__pga_aggregate_target=620756992
ORCL.__sga_target=973078528
ORCL.__shared_io_pool_size=0
ORCL.__shared_pool_size=402653184
ORCL.__streams_pool_size=33554432
*.aq_tm_processes=0
*.audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
*.audit_trail='db'
*.compatible='11.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='db1'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
*.job_queue_processes=0
*.memory_target=400M
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'

準備和運行create database語句

啓動數據庫到nomount狀態:

SQL> startup nomount pfile=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora;

出現如下信息,則說明數據庫切換到nomount狀態成功

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  417546240 bytes
Fixed Size		    2213936 bytes
Variable Size		  268437456 bytes
Database Buffers	  142606336 bytes
Redo Buffers		    4288512 bytes
SQL> 

執行create database語句,根據要求進行相關設置,注意字符集的相關設置。

CREATE DATABASE db1
   USER SYS IDENTIFIED BY oracle
   USER SYSTEM IDENTIFIED BY oracle
   MAXLOGMEMBERS 5
   MAXLOGFILES 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   LOGFILE 
	   GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 100M,
           GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 100M,
           GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 100M
   DATAFILE 
	  '/u01/app/oracle/oradata/orcl/system01.dbf' SIZE 325M REUSE
   SYSAUX DATAFILE
	  '/u01/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE UNDOTBS1
      DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

第一次運行create database語句出錯,刪除相關目錄

rm -rf /u01/app/oracle/admin/orcl/adump/*
rm -rf /u01/app/oracle/oradata/orcl/*

運行sql腳本生成數據字典


 
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
SQL> @?/sqlplus/admin/pupbld.sql#[以system用戶運行]
#==================create statpack=================
SQL> @?/rdbms/admin/spcreate;   
#==========下面三個腳本是重建重建WMSYS用戶的WMSYS.WM_CONCAT===========
SQL> @?/rdbms/admin/owmctab.plb;
SQL> @?/rdbms/admin/owmaggrs.plb;
SQL> @?/rdbms/admin/owmaggrb.plb;

    注:如果不執行 spcreate腳本,生成ASH時,可能會報如下錯誤:

 Ora-20200: No Ash Samples Exist For Database/Instance

 

 

測試數據庫是否創建成功

執行完上面創建數據字典的腳本之後,關閉數據庫--啓動數據庫

 

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  417546240 bytes
Fixed Size		    2213936 bytes
Variable Size		  268437456 bytes
Database Buffers	  142606336 bytes
Redo Buffers		    4288512 bytes
Database mounted.
Database opened.
SQL> create spfile from pfile;

File created.

SQL> 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章