Oracle 11g R2 Sample Schemas 安裝
最近準備對之前學習SQL*Loader的筆記進行整理,希望通過官方文件中的示例學習(Case Studies)來進行,但是官方文件中示例學習相關的指令碼檔案在資料庫軟體安裝完成之後預設並沒有提供,而是整合在另外一個安裝介質中,需通過安裝Oracle Examples介質來獲取相應的示例學習指令碼。
資料庫示例(Oracle Database Examples)包含了一系列的示例指令碼和產品功能演示的Schema資訊,在學習Oracle資料庫的過程中可以通過這些示例更好的掌握資料庫相關的選項和功能特性。關於Oracle的示例Schema,更詳細的說明可以參考官方文件:Database Sample Schemas
根據我的資料庫版本,需要下載Oracle 11g R2對應的examples安裝介質。如果資料庫版本是11.2.0.1
,則可以到官網上進行下載示例安裝介質:Oracle Database 11g Release 2 Examples。本文使用的資料庫版本為11.2.0.4
,相應的examples安裝介質可通過Oracle MOS上進行獲取,根據11.2.0.4
的Patch說明,對應的examples安裝介質為:p13390677_112040_platform_6of7.zip。
安裝準備
首先上傳對應壓縮包p13390677_112040_platform_6of7.zip到相應的目錄下。
# rz rz waiting to receive. Upload Zmodem p13390677_112040_Linux-x86-64_6of7.zip (465.75 MB, 0:10 min = 46.57 MB/sec)
對壓縮包進行解壓,將檔案放在/tmp
目錄下。
# unzip p13390677_112040_Linux-x86-64_6of7.zip -d /tmp/
# ls /tmp/examples/
install readme.html response runInstaller stage welcome.html
變更安裝檔案的屬主和屬組。
# chown -R oracle.oinstall /tmp/examples/
# ls -ld /tmp/examples/
drwxr-xr-x 5 oracle oinstall 109 Aug 27 2013 /tmp/examples/
檢視安裝介質解壓後的檔案結構,Oracle Database Examples可以使用Oracle Installer軟體安裝器進行安裝,其中安裝種類可以通過圖形介面或是靜默安裝的方式,為了更快速的完成安裝,這裡通過靜默安裝,同時需要結合response響應檔案指定安裝選項。
準備響應檔案
安裝介質中提供了一個響應檔案模板,位於response目錄下。
$ ls /tmp/examples/response/
demos_install.rsp
檢視響應檔案對應的檔案內容,其中有各個選項的說明。
$ cat /tmp/examples/response/demos_install.rsp
###############################################################################
## Copyright(c) Oracle Corporation 1998,2013. All rights reserved. ##
## ##
## Specify values for the variables listed below to customize ##
## your installation. ##
## ##
## Each variable is associated with a comment. The comment ##
## can help to populate the variables with the appropriate ##
## values. ##
## ##
###############################################################################
#-------------------------------------------------------------------------------
# Do not change the following system generated value.
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_demosinstall_response_schema_v11_2_0
#-------------------------------------------------------------------------------
# This variable holds the hostname of the system as set by the user.
# It can be used to force the installation to use an alternative
# hostname rather than using the first hostname found on the system
# (e.g., for systems with multiple hostnames and network interfaces).
#-------------------------------------------------------------------------------
ORACLE_HOSTNAME=
#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=
#-------------------------------------------------------------------------------
# Inventory location.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=
#-------------------------------------------------------------------------------
# Languages in which the components will be installed.
#
# en : English ja : Japanese
# fr : French ko : Korean
# ar : Arabic es : Latin American Spanish
# bn : Bengali lv : Latvian
# pt_BR: Brazilian Portuguese lt : Lithuanian
# bg : Bulgarian ms : Malay
# fr_CA: Canadian French es_MX: Mexican Spanish
# ca : Catalan no : Norwegian
# hr : Croatian pl : Polish
# cs : Czech pt : Portuguese
# da : Danish ro : Romanian
# nl : Dutch ru : Russian
# ar_EG: Egyptian zh_CN: Simplified Chinese
# en_GB: English (Great Britain) sk : Slovak
# et : Estonian sl : Slovenian
# fi : Finnish es_ES: Spanish
# de : German sv : Swedish
# el : Greek th : Thai
# iw : Hebrew zh_TW: Traditional Chinese
# hu : Hungarian tr : Turkish
# is : Icelandic uk : Ukrainian
# in : Indonesian vi : Vietnamese
# it : Italian
#
# all_langs : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs
#-------------------------------------------------------------------------------
SELECTED_LANGUAGES=en
#-------------------------------------------------------------------------------
# Complete path of the Oracle Home
#-------------------------------------------------------------------------------
ORACLE_HOME=
#-------------------------------------------------------------------------------
# Complete path of the Oracle Base.
#-------------------------------------------------------------------------------
ORACLE_BASE=
#------------------------------------------------------------------------------
# Specify the auto-updates option. It can be one of the following:
# - MYORACLESUPPORT_DOWNLOAD
# - OFFLINE_UPDATES
# - SKIP_UPDATES
#------------------------------------------------------------------------------
oracle.installer.autoupdates.option=
#------------------------------------------------------------------------------
# In case MYORACLESUPPORT_DOWNLOAD option is chosen, specify the location where
# the updates are to be downloaded.
# In case OFFLINE_UPDATES option is chosen, specify the location where the updates
# are present.
#------------------------------------------------------------------------------
oracle.installer.autoupdates.downloadUpdatesLoc=
#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username which has the patches download privileges
# to be used for software updates.
# Example : [email protected]
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username password which has the patches download privileges
# to be used for software updates.
#
# Example : AUTOUPDATES_MYORACLESUPPORT_PASSWORD=password
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
#------------------------------------------------------------------------------
# Specify the Proxy server name. Length should be greater than zero.
#
# Example : PROXY_HOST=proxy.domain.com
#------------------------------------------------------------------------------
PROXY_HOST=
#------------------------------------------------------------------------------
# Specify the proxy port number. Should be Numeric and at least 2 chars.
#
# Example : PROXY_PORT=25
#------------------------------------------------------------------------------
PROXY_PORT=
#------------------------------------------------------------------------------
# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_USER=username
#------------------------------------------------------------------------------
PROXY_USER=
#------------------------------------------------------------------------------
# Specify the proxy password. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_PWD=password
#------------------------------------------------------------------------------
PROXY_PWD=
#------------------------------------------------------------------------------
# Specify the proxy realm.
#
# Example : PROXY_REALM=metalink
#------------------------------------------------------------------------------
PROXY_REALM=
可以對模版響應檔案進行簡化處理,去掉相應的註釋內容和空行,複製生成一份響應檔案dbabd_demos_install.rsp,關於響應檔案中選項的設定可以參考另一篇博文關於響應檔案的部分說明:CentOS 7靜默安裝Oracle 11g R2資料庫軟體
$ cat /tmp/examples/response/demos_install.rsp | grep -v '^$' | grep -v '^#' > /tmp/examples/response/dbabd_demos_install.rsp
$ cat /tmp/examples/response/dbabd_demos_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_demosinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=dbabd
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/app/oracle
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
執行靜默安裝
響應檔案完成之後就可以進行靜默安裝了,需要使用oracle
使用者進行安裝。
# su - oracle
$ cd /tmp/examples/
$ /tmp/examples/runInstaller -silent -force -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/examples/response/dbabd_demos_install.rsp
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 36731 MB Passed
Checking swap space: must be greater than 150 MB. Actual 5103 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-05-18_08-54-52PM. Please wait ...
You can find the log of this install session at:
/data/app/oraInventory/logs/installActions2019-05-18_08-54-52PM.log
The installation of Oracle Database 11g Examples was successful.
Please check '/data/app/oraInventory/logs/silentInstall2019-05-18_08-54-52PM.log' for more details.
Successfully Setup Software.
通過簡要的安裝資訊可以看出安裝成功,如果需要詳細的日誌資訊可以查詢提示資訊中涉及的日誌檔案。
完成安裝
至此,關於資料庫示例(Oracle Database Examples)對應的安裝介質就安裝完成了。通過檢視目錄$ORACLE_HOME/rdbms/demo
下的以ulcase命名的一系列檔案就是Oracle針對SQL*Loader示例學習檔案。在沒有安裝之前,這個目錄下是沒有檔案的。
$ cd $ORACLE_HOME/rdbms/demo
$ ls ulcase*
ulcase10.ctl ulcase11.sql ulcase2.dat ulcase4.dat ulcase5.sql ulcase7.ctl ulcase8.ctl ulcase92.dat ulcase96.dat
ulcase10.sql ulcase1.ctl ulcase3.ctl ulcase4.sql ulcase6.ctl ulcase7.dat ulcase8.dat ulcase93.dat ulcase9.ctl
ulcase11.ctl ulcase1.sql ulcase3.sql ulcase5.ctl ulcase6.dat ulcase7e.sql ulcase8.sql ulcase94.dat ulcase9.sql
ulcase11.dat ulcase2.ctl ulcase4.ctl ulcase5.dat ulcase6.sql ulcase7s.sql ulcase91.dat ulcase95.dat ulcase.sh
其中ulcase.sh的內容如下:
$ cat ulcase.sh
#!/bin/sh
#
# $Header: ulcase.sh 06-sep-2007.13:54:17 jstenois Exp $
#
# ulcase.sh
#
# Copyright (c) 1999, 2007, Oracle. All rights reserved.
#
# NAME
# ulcase.sh - run sqlldr demos
#
# DESCRIPTION
# Shell script to run sqlldr demos.
# Please append to script as more ulcase* demos are added.
#
# MODIFIED (MM/DD/YY)
# jstenois 09/06/07 - remove password from demo script
# krich 01/26/04 - adding case study 11
# cmlim 07/20/99 - create shell script for running all sqlldr demos
# cmlim 07/20/99 - Creation
#
echo " "
echo "- This script runs through all of the SQL Loader demos."
echo "- It uses SQLPlus to create the necessary objects and then"
echo "- calls SQL Loader to load data. This script uses schema"
echo "- SCOTT for all of the tests. Whenever the script executes"
echo "- SQLPlus or SQL Loader utilities, it will prompt you for"
echo "- password of the SCOTT user. You will need to enter this"
echo "- password every time for the script to continue. The"
echo "- default password for user SCOTT is TIGER."
echo " "
# CASE1
echo " "
echo " Starting case 1"
echo " Calling SQL Plus to do setup for case 1"
sqlplus scott @ulcase1
echo " Calling SQL Loader to load data for case 1"
sqlldr scott ulcase1.ctl
# CASE2
echo " "
echo " Starting case 2"
echo " Calling SQL Loader to load data for case 2"
sqlldr scott ulcase2
# CASE3
echo " "
echo " Starting case 3"
echo " Calling SQL Plus to do setup for case 3"
sqlplus scott @ulcase3
echo " Calling SQL Loader to load data for case 3"
sqlldr scott ulcase3
# CASE4
echo " "
echo " Starting case 4"
echo " Calling SQL Plus to do setup for case 4"
sqlplus scott @ulcase4
echo " Calling SQL Loader to load data for case 4"
sqlldr scott ulcase4
# CASE5
echo " "
echo " Starting case 5"
echo " Calling SQL Plus to do setup for case 5"
sqlplus scott @ulcase5
echo " Calling SQL Loader to load data for case 5"
sqlldr scott ulcase5
# CASE6
echo " "
echo " Starting case 6"
echo " Calling SQL Plus to do setup for case 6"
sqlplus scott @ulcase6
echo " Calling SQL Loader to load data for case 6"
sqlldr scott ulcase6 direct=true
# CASE7
echo " "
echo " Starting case 7"
echo " Calling SQL Plus to do setup for case 7"
sqlplus scott @ulcase7s
echo " Calling SQL Loader to load data for case 7"
sqlldr scott ulcase7
echo " Calling SQL Plus to do cleanup for case 7"
sqlplus scott @ulcase7e
# CASE8
echo " "
echo " Starting case 8"
echo " Calling SQL Plus to do setup for case 8"
sqlplus scott @ulcase8
echo " Calling SQL Loader to load data for case 8"
sqlldr scott ulcase8
# CASE9
echo " "
echo " Starting case 9"
echo " Calling SQL Plus to do setup for case 9"
sqlplus scott @ulcase9
echo " Calling SQL Loader to load data for case 9"
sqlldr scott ulcase9
# CASE10
echo " "
echo " Starting case 10"
echo " Calling SQL Plus to do setup for case 10"
sqlplus scott @ulcase10
echo " Calling SQL Loader to load data for case 10"
sqlldr scott ulcase10
# CASE11
echo " "
echo " Starting case 11"
echo " Calling SQL Plus to do setup for case 11"
sqlplus scott @ulcase11
echo " Calling SQL Loader to load data for case 11"
sqlldr scott ulcase11
參考
https://docs.oracle.com/cd/E11882_01/server.112/e10831/toc.htm
https://docs.oracle.com/cd/E11882_01/install.112/e24501/toc.htm#BABGFCIH
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html
☆〖本人水平有限,文中如有錯誤還請留言批評指正!〗