靜默安裝oracle11g_R1
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)武隆免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
補充rhel6.0命令行安裝oracle數(shù)據(jù)庫
1.安裝linux6.0版本服務(wù)器
(用于安裝數(shù)據(jù)庫環(huán)境最低要求:磁盤10G的lv,內(nèi)存1G,swap分區(qū)是內(nèi)存的2倍)
2.調(diào)試網(wǎng)絡(luò)、防火墻開放端口、SELINUX允許
3.配置本地主機名、域或遠(yuǎn)程主機名、域
4.配置yum,本地yum和網(wǎng)絡(luò)源yum均可
5.開始安裝數(shù)據(jù)庫
一.安裝數(shù)據(jù)庫所需環(huán)境
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel?make?numactl sysstat libXp unixODBC unixODBC-devel compat-libstdc++
環(huán)境變量設(shè)置:
[root@159 ~]# env|grep -i oracle
ORACLE_SID=orcl
ORACLE_BASE=/oracle/oracle
PATH=/BOSSSOFT_BLOCKCHAIN_GENESIS/soft/node/bin:/usr/local/home/java/jdk1.8.0_11/bin:/usr/local/home/java/jdk1.8.0_11/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/home/apache-maven-3.5.2/bin:/root/bin:/root/bin:/oracle/oracle/11g/bin:/root/bin
LIB_PATH=/oracle/oracle/11g/lib
ORACLE_HOME=/oracle/oracle/11g
二.下載oracle的linux版本安裝包(oracle.com官網(wǎng)下載)
三.創(chuàng)建組和用戶
(下面這些組是習(xí)慣,官方文檔中就是創(chuàng)建這些組,可以更改也可以不更改)
創(chuàng)建所需的用戶組(在root帳號下操作):
groupadd oinstall;
groupadd dba;
groupadd oper;
useradd -g oinstall -G dba,oper oracle; #
passwd oracle; #為oracle帳號設(shè)置密碼(安裝的時候需要登錄)
把oracle安裝在 /oracle 目錄下,所以需創(chuàng)建安裝目錄:
注:建議oracle安裝在lvm分區(qū)中不要使用根分區(qū),避免后續(xù)存儲數(shù)據(jù)增幅過大,無法擴(kuò)展。這就是常見的數(shù)據(jù)應(yīng)用分離,及時應(yīng)用服務(wù)出現(xiàn)問題也不影響數(shù)據(jù),類似于MySQL的主從。Oracle即使出現(xiàn)故障也可以通過日志文件歸檔文件進(jìn)行恢復(fù)。
mkdir /oracle;
chown oracle:oinstall /oracle;
chmod 755 /oracle;
安裝時還需要設(shè)置 Inventory 目錄,用于存放日志等:
注:所創(chuàng)建的目錄都是根據(jù)官方習(xí)慣所創(chuàng)
mkdir /oracle/oraInventory;
chown oracle:oinstall /oracle/oraInventory;
chmod 755 /oracle/orainventory;
四.修改環(huán)境變量,用于安裝數(shù)據(jù)庫時自動讀
編輯文件 vi /home/oracle/.bash_profile,添加如下行:
ORACLE_BASE=/oracle; #安裝目錄
ORACLE_HOME=$ORACLE_BASE/11g; #oracle家目錄
ORACLE_SID=orcl; #實例名
LIB_PATH=$ORACLE_HOME/lib;
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin;
export ORACLE_BASE ORACLE_HOME ORACLE_SID LIB_PATH PATH;
編輯文件 vi /etc/pam.d/login,添加如下行(11gR1有要求,R2沒有要求):
session required pam_limits.so
注:目前大部分公司政府、銀行、證券用的都是11gR1和10g,這個無需配置。
五.提高 Oracle 用戶的 shell 限制
Oracle的資源限制針對后期使用sql語句文件時避免出現(xiàn)資源長時間占用、無響應(yīng)等問題,安裝時使用的資源很小可忽略。
編輯系統(tǒng)資源限制配置文件 vi /etc/security/limits.conf,在該文件下添加如下行:
注:如果粘貼進(jìn)去有多余的空行不美觀,可使用如下命令去除空行
#【sed -i '/^\s*$/d' limits.conf】
#for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
注:
noproc 是代表最大進(jìn)程數(shù)
nofile 是代表最大文件打開數(shù)
soft 軟控制,當(dāng)前使用值超出值警告
hard 硬控制,超出值報錯
soft 指的是當(dāng)前系統(tǒng)生效的設(shè)置值。hard 表明系統(tǒng)中所能設(shè)定的最大值
core - 限制內(nèi)核文件的大小
date - 最大數(shù)據(jù)大小
fsize - 最大文件大小
memlock - 最大鎖定內(nèi)存地址空間
nofile - 打開文件的最大數(shù)目
rss - 最大持久設(shè)置大小
stack - 最大棧大小
cpu - 以分鐘為單位的最多 CPU 時間
noproc - 進(jìn)程的最大數(shù)目
as - 地址空間限制
maxlogins - 此用戶允許登錄的最大數(shù)目
[root@loveoracle ~]# vim /etc/sysctl.conf 在文本最下面修改參數(shù)
#for oracle softe
#表示文件句柄的最大數(shù)量
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#設(shè)置最大內(nèi)存共享段大小bytes
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#允許系統(tǒng)打開的端口范圍
net.ipv4.ip_local_port_range = 9000 65500
#用于接收緩沖的內(nèi)存默認(rèn)值bytes
net.core.rmem_default = 262144
#用于接收緩沖的內(nèi)存最大值bytes
net.core.rmem_max = 4194304
#用于發(fā)送緩沖的內(nèi)存默認(rèn)值bytes
net.core.wmem_default = 262144
#用于發(fā)送緩沖的內(nèi)存最大值bytes
net.core.wmem_max = 1048576
注:可以直接復(fù)制粘貼到文件最下面
注: /sbin/sysctl -p 改完后生效
六.安裝oracle
安裝包相關(guān):
Oracle 11g R2的安裝包被壓縮成兩個文件:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip,將它們上傳到安裝機器上,并使用 unzip linux.x64_11gR2_database_1of2.zip; unzip linux.x64_11gR2_database_2of2.zip; 進(jìn)行解壓縮,將得到一個名稱為 database 的目錄。我把它放在 /oracle/database 中。
chmod -R 700 /oracle/database;
chown -R oracle:oinstall /oracle/database;
1.解壓縮后進(jìn)入到database
注:
#安裝應(yīng)答配置文件,修改配置后用于自動安裝
db_install.rsp
#創(chuàng)建數(shù)據(jù)庫應(yīng)答,用于創(chuàng)建數(shù)據(jù)庫存儲
dbca.rsp
#建立監(jiān)聽、本地服務(wù)名等網(wǎng)絡(luò)設(shè)置應(yīng)答,就是監(jiān)聽、網(wǎng)絡(luò)服務(wù)名
netca.rsp
2.修改配置文件db_install.rsp,靜默安裝數(shù)據(jù)庫
[root@159response]# cat db_install.rsp|grep -v ^#|grep -v ^$|grep -v "=$"
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/oracle/11g
ORACLE_BASE=/oracle/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=ORCL
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=70240
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=oracle
oracle.install.db.config.starterdb.password.SYSTEM=oracle
oracle.install.db.config.starterdb.password.SYSMAN=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
按照如上配置即可
3.登錄oracle用戶,安裝數(shù)據(jù)庫
命令
./runInstaller -silent -force -responseFile /home/package/oracle/database/response/db_install.rsp
注:db_install.rsp這里寫的是安裝文件的絕對路徑
安裝日志目錄oraInventory/logs
安裝過程中會報出需要執(zhí)行兩個腳本文件
4.登錄root用戶執(zhí)行腳本
/oracle/oraInventory/orainstRoot.sh
/oracle/oracle/11g/root.sh
5.登錄oracle用戶,配置數(shù)據(jù)庫配置文件response/dbca.rsp
[root@159response]# cat dbca.rsp |grep -v ^#|grep -v ^$|grep -v "=$"
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl.us.oracle.com"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl.us.oracle.com"
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl.us.oracle.com"
INSTANCENAME = "orcl"
SYSDBAUSERNAME = "sys"
部分主要信息講解:
6.登錄oracle用戶,安裝監(jiān)聽
dbca -silent -responseFile /home/package/oracle/database/response/dbca.rsp
7.安裝完成后檢查oracle進(jìn)程狀態(tài)、啟動監(jiān)聽、啟動數(shù)據(jù)庫
ps -ef|grep ora_ #大概20多個進(jìn)程
查看監(jiān)聽狀態(tài) lsnrctl status
啟動監(jiān)聽 lsnrctl start
停止監(jiān)聽 lsnrctl stop
啟動數(shù)據(jù)庫
[oracle@159~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 4 15:37:57 2019
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> startup
可看出數(shù)據(jù)庫的版本是11.2.0.1.0
關(guān)閉數(shù)據(jù)庫正式環(huán)境下用shutdown normal/immediate
非正式環(huán)境下,可直接shutdown可以kill也可以直接停監(jiān)聽進(jìn)程
當(dāng)不能關(guān)閉數(shù)據(jù)庫時,可以用startup force來完成數(shù)據(jù)庫的強制關(guān)閉,再執(zhí)行正常啟動數(shù)據(jù)庫命令啟動數(shù)據(jù)庫.
8.oracle的簡單查看和使用
連接數(shù)據(jù)庫
sqlplus test/oracle@192.168.1.159:1521/ORCL
SQL>conn system/oracle@orcl
檢查確認(rèn)數(shù)據(jù)庫實例是否啟動。
select status from v$instance;
創(chuàng)建數(shù)據(jù)庫用戶,默認(rèn)放入dba_users表
CREATE USER test IDENTIFIED BY test ; //創(chuàng)建用戶test
alter user test account unlock; //解鎖用戶test
grant select on DEMO_INVOICE_CLOUD.FMB_INVOICE to test; //賦予test select對表的權(quán)限
GRANT connect, resource TO test; //連接訪問的權(quán)限
將一個用戶下面的所有表的權(quán)限授予另一個用戶
1.查看出該用戶下面使用的表
select * from dba_tables where owner='SCOTT' and status='VALID'
2.將該用戶下面的表拼接成授權(quán)語句
select 'grant select,delete,update,insert '|| table_name||' to test ;' from dba_tables where owner='SCOTT' and status='VALID'
3.將步驟2中的輸出結(jié)果用dba或者有授權(quán)權(quán)限的用戶執(zhí)行,當(dāng)前用戶如有授權(quán)權(quán)限則可以執(zhí)行。
注意:如果需要將當(dāng)前登錄用戶數(shù)據(jù)庫中所有表授權(quán)給test用戶可以使用下面語句進(jìn)行拼接
select 'grant select,delete,update,insert '|| table_name||' to test ;' from user_tables where owner='SCOTT' and status='VALID'
傻瓜式安裝,環(huán)境和本地變量配置一樣,上面配置可以直接粘貼復(fù)制,如出現(xiàn)各種報錯,請留言