Oracle靜默安裝html
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係型數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。能夠說Oracle數據庫系統是目前世界上流行的關係數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各種大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。linux
環境配置c++
一、安裝centos6.5操做系統git
物理內存很多於1.5Gsql
硬盤能夠空間很多於5G數據庫
swap分區空間很多於2Gvim
支持256色以上顯卡centos
cpu主頻不小於550mHZ安全
2.下載安裝包linuxx64_12201_database.zip的oracle12c第二版本bash
3.配置hosts文件
格式:ip 主機名
4.配置yum源
使用默認yum源便可
yum clean all && yum makecache
5.關閉selinux&iptables
Vim /etc/selinux/config
SELINUX=disabled
/etc/init.d/iptables stop
chkconfig iptables off
安裝部署
一、安裝oracle依賴包關係
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
二、修改內核參數
內核參數調總體如今/etc/sysctl.conf文件中。主要包括對內存調度、端口範圍、打開文件數、I/O請求等相關的一些設置,相關數值不可低於安裝要求。修改完畢後經過執行sysctl–p命令使新配置當即生效。
vim /etc/sysctl.conf 請根據本身實際狀況修改,內核參數以下 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500
各參數詳解:
fs.aio-max-nr:
此參數限制併發未完成的請求,應該設置避免I/O子系統故障。
fs.file-max:
該參數決定了系統中所容許的文件句柄最大數目,文件句柄設置表明linux系統中能夠打開的文件的數量。
kernel.shmall:
該參數控制可使用的共享內存的總頁數。Linux共享內存頁大小爲4KB,共享內存段的大小都是共享內存頁大小的整數倍。一個共享內存段的最大大小是16G,那麼須要共享內存頁數是16GB/4KB=16777216KB /4KB=4194304(頁),也就是64Bit系統下16GB物理內存,設置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,設置的太低可能會致使須要建立多個共享內存段,這樣可能致使系統性能的降低。至於致使系統降低的主要緣由爲在實例啓動以及ServerProcess建立的時候,多個小的共享內存段可能會致使當時輕微的系統性能的下降(在啓動的時候須要去建立多個虛擬地址段,在進程建立的時候要讓進程對多個段進行「識別」,會有一些影響),可是其餘時候都不會有影響。
官方建議值:
32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295。建議值爲多於內存的一半,因此若是是32爲系統,通常可取值爲4294967295。
64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,例如,若是爲12GB物理內存,可取12*1024*1024*1024-1=12884901887。
kernel.shmmni:
該參數是共享內存段的最大數量。shmmni缺省值4096,通常確定是夠用了。
kernel.sem:
以kernel.sem = 250 32000 100 128爲例:
250是參數semmsl的值,表示一個信號量集合中可以包含的信號量最大數目。
32000是參數semmns的值,表示系統內可容許的信號量最大數目。
100是參數semopm的值,表示單個semopm()調用在一個信號量集合上能夠執行的操做數量。
128是參數semmni的值,表示系統信號量集合總數。
net.ipv4.ip_local_port_range:
表示應用程序可以使用的IPv4端口範圍。
net.core.rmem_default:
表示套接字接收緩衝區大小的缺省值。
net.core.rmem_max:
表示套接字接收緩衝區大小的最大值。
net.core.wmem_default:
表示套接字發送緩衝區大小的缺省值。
net.core.wmem_max:
表示套接字發送緩衝區大小的最大值。
終端執行:
/sbin/sysctl -p 刷新內核參數表
三、修改內核限制參數
vim /etc/security/limits.d/20-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 4096 root soft nproc unlimited oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728
第1行是設置進程數軟限制;
第2行是設置進程數硬限制;
第3行是設置文件數軟限制;
第4行是設置文件數硬限制
四、建立oracle賬號和組
[root@Oracle ~]# unzip linuxx64_12201_database.zip ^C [root@Oracle ~]# groupadd -g 54321 oinstall [root@Oracle ~]# groupadd -g 54322 dba [root@Oracle ~]# groupadd -g 54323 oper [root@Oracle ~]# useradd -u 54321 -g oinstall -G dba,oper oracle [root@Oracle ~]# passwd oracle
五、建立相關數據庫目錄
mkdir /u01 mkdir /u01/app mkdir -p /u01/app/oracle/oradata //存放數據庫的數據目錄 mkdir -p /u01/app/oracle/oradata_back //存放數據庫備份文件 chmod -R 775 /u01/app //權限 chown -R oracle:oinstall /u01 //屬主屬組
六、修改oracle環境變量
vim /etc/proile (文件最後加入) # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH # Oracle Settings export TMP=/tmp #日誌存放位置 export TMPDIR=$TMP export ORACLE_HOSTNAME=Oracle #主機名 export ORACLE_UNQNAME=cdb1 #庫名稱 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1 export ORACLE_SID=cdb1 #庫名稱 export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
七、解壓oracle二進制包至/opt目錄下 (解壓的目錄默認名爲database)
unzip linuxx64_12201_database.zip /u01 chown -R oracle:oinstall /u01
8、修改配置文件並
進入response目錄下,編輯應答文件:
配置文件設置--->http://blog.chinaunix.net/uid-23886490-id-3565908.html
vim /u01/database/response/db_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 oracle.install.option=INSTALL_DB_SWONLY //30行安裝類型,只裝數據庫軟件 UNIX_GROUP_NAME=oinstall //35行主機名稱(hostname查詢) INVENTORY_LOCATION=/u01/app/oracle/oraInventory //42行INVENTORY目錄(不填就是默認值) ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1 //46行oracle目錄 ORACLE_BASE=/u01/app/oracle //51行 oracle.install.db.InstallEdition=EE //63行oracle版本 oracle.install.db.OSDBA_GROUP=dba //80行 oracle.install.db.OSOPER_GROUP=oper //86行 自定義安裝,否,使用默認組件 oracle.install.db.OSBACKUPDBA_GROUP=dba //91行 oracle.install.db.OSDGDBA_GROUP=dba //96行 oracle.install.db.OSKMDBA_GROUP=dba //101行 oracle.install.db.OSRACDBA_GROUP=dba //106行 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //180行數據庫類型 oracle.install.db.config.starterdb.globalDBName=cdb1 //185行 oracle.install.db.config.starterdb.SID=cdb1 //190行 oracle.install.db.config.starterdb.characterSet=AL32UTF8 //216行 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //384行 DECLINE_SECURITY_UPDATES=true //398行//設置安全更新(貌似是有bug,這個必定要選true,不然會無限提醒郵件地址有問題,終止安裝。PS:無論地址對不對)
9、開始安裝oracle 提醒:切換至oracle用戶
cd /u01/database ./runInstaller -force -silent -noconfig -responseFile /u01/database/response/db_install.rsp Starting Oracle Universal Installer... Checking Temp space: must be greater than 500 MB. Actual 11715 MB Passed Checking swap space: must be greater than 150 MB. Actual 2047 MB Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-04-15_08-36-48PM. P[oracle@Oracle database]$ [WARNING] [INS-32055] The Central Inventory is located in the Oracle base. ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory. You can find the log of this install session at: /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log #日誌位置 The installation of Oracle Database 12c was successful. Please check '/u01/app/oracle/oraInventory/logs/silentInstall2017-04-15_08-36-48PM.log' for more details.
能夠邊裝邊查看日誌
tail –f /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log
報錯:
找不到主機名
Hostname查看一下本機的主機名稱是否和/etc/host&/home/oracle/.bash_profile環境變量裏的主機名一致
退出oracle用戶的時候會顯示一下信息報告腳本位置
As a root user, execute the following script(s): 1. /u01/app/oracle/oraInventory/orainstRoot.sh 2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh Successfully Setup Software.
報錯:
此腳本必須爲跟,必須是使用跟root用戶來執行
10,執行腳本 提醒:切換至oracle用戶
執行兩個腳本:注意是用root用戶執行的
[root@Oracle ~]# /u01/app/oracle/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oracle/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oracle/oraInventory to oinstall. The execution of the script is complete. [root@Oracle ~]# /u01/app/oracle/product/12.2.0.1/db_1/root.sh Check /u01/app/oracle/product/12.2.0.1/db_1/install/root_Oracle_2017-04-15_20-56-27-813321685.log for the output of root script
11,靜默配置監聽 提醒:切換至oracle用戶
netca -silent -responsefile /u01/database/response/netca.rsp
備註: netca命令是oracle提供的命令,若是顯示找不到命令請檢查環境變量
12,經過netstat -tlnp 命令查看監聽地址 提醒:切換至oracle用戶
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
13,靜默創建新庫提醒:切換至oracle用戶 (若是一下各參數在/u01/database/response/dbca.rsp文件中 重複出現,能夠全改)
修改/u01/database/response/dbca.rsp,設置以下:
vim /u01/database/response/dbca.rsp responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0//21行不可更改 gdbName=cdb1 //32 sid=cdb1 //42 databaseConfigType=SI //52 policyManaged=false //74 createServerPool=false //88 force=false //127 createAsContainerDatabase=true //163 numberOfPDBs=1 //172 pdbName=cdb1pdb //182 useLocalUndoForPDBs=true //192 templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc //223 emExpressPort=5500 //273 runCVUChecks=false //284 omsPort=0 //313 dvConfiguration=false //341 olsConfiguration=false //391 datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/ //401 datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/ //411 recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME} //421 storageType=FS //431 characterSet=AL32UTF8 //468字符集建立庫以後不可更改 nationalCharacterSet=AL16UTF16 //478 registerWithDirService=false //488 listeners=LISTENER //526 variables=DB_UNIQUE_NAME=cdb1,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=cdb1,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=cdb1 //546 initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300 //555 sampleSchema=false //565 memoryPercentage=40 //574 databaseType=MULTIPURPOSE //584 automaticMemoryManagement=true //594 totalMemory=0 //604
14,靜默建庫命令以下 (dbca是oracle命令,若是提示命令找不到,檢查環境變量)
cd /u01/database [oracle@oracle response]$ dbca -silent -createDatabase -responseFile /u01/database/response/dbca.rsp [WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value. CAUSE: Fast Recovery Area size should at least be three times the database size (2,730 MB). ACTION: Specify Fast Recovery Area Size to be at least three times the database size. [WARNING] [DBT-11209] Current available physical memory is less than the required physical memory (796MB) for creating the database. Enter SYS user password: #超級管理員密碼 Enter SYSTEM user password: #管理員密碼 Enter PDBADMIN User Password: #庫密碼 [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value. CAUSE: Fast Recovery Area size should at least be three times the database size (3,571 MB). ACTION: Specify Fast Recovery Area Size to be at least three times the database size. Copying database files 1% complete 13% complete 25% complete Creating and starting Oracle instance 26% complete 30% complete 31% complete 35% complete 38% complete 39% complete 41% complete Completing Database Creation 42% complete 43% complete 44% complete 46% complete 49% complete 50% complete Creating Pluggable Databases 55% complete 75% complete Executing Post Configuration Actions 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.
數據庫信息:
全局數據庫名:
系統標識符 (SID): 若有相關顯示 則代表成功
15,檢查oracle進程狀態
ps -ef | grep ora_ | grep -v grep lsnrctl status (lsnrctl是oracle命令)
16,登陸數據庫 提醒:切換至oracle用戶
[oracle@Oracle response]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 15 23:07:08 2017 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> select open_mode from v$database; OPEN_MODE -------------------- READ WRITE SQL> select status from v$instance; STATUS ------------ OPEN Oracle庫操做 sqlplus / as sysdba // 登陸數據庫 alter user sys identified by oracle; //改sys超級管理員密碼 alter user system identified by oracle; //改system管理員密碼 exit // 退出數據庫 sqlplus sys/oracle as sysdba //使用sys超級管理員登陸數據庫 startup // 啓動數據庫
Select name from v$database; //查看數據庫 Shutdown abort //關閉數據庫
Conn system/oracle //切換用戶conn後面直接跟用戶名和密碼就能夠
17,修改oracle啓動配置文件
完成oracle11g數據庫的安裝後,相關服務器會自動啓用,但並不表示下次開機後oracle服務器仍然可用。下面將介紹oracle的基本服務組件,以及如何編寫服務腳原本控制oracle數據庫系統的自動運行。
根據上面的安裝過程,oracle11g的數據庫軟件將安裝在變量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各類服務器組件程序(也包括sqlplus命令)正是位於其中的bin子目錄下。
Oracle11g數據庫的基本服務組件以下所述:(注:oracle服務組件最好以oracle用戶身份運行如:su - oracle)
lsnrctl:監聽器程序,用來提供數據庫訪問,默認監聽TCP 1521端口。
dbstart、dbshut:數據庫控制程序,用來啓動、中止數據庫實例。
emctl:管理器控制工具,用來控制OEM平臺的開啓與關閉,OEM平臺經過1158端口提供HTTPS訪問,5520端口提供TCP訪問。
爲了方便執行oracle11g的服務組件程序,建議對全部用戶的環境配置做進一步的優化調整、補充PATH路徑、oracle終端類型等變量設置。除此之外,還應該修改/etc/oratab配置文件,以便運行dbstart時自動啓用數據庫實例。
$vim /etc/oratab
racl:/u01/app/oracle/product/11.2.0/db_1:Y //把「N」改爲「Y」
這樣就能夠經過dbstart 啓動此實例,也能夠經過dbshut關閉此實例了。
$ dbshut /u01/app/oracle/product/11.2.0/db_1/
Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/shutdown.log
此時全部oracle的進程關閉,監聽器也中止。
$dbstart /u01/app/oracle/product/11.2.0/db_1/
Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/startup.log
此時監聽器工做,hello實例運行,再次查看監聽器狀態。