linux 靜默安裝Oracle(Centos)
提示都是有問題時看。真正開始從 第一步 那裡開始,所以剛開始可以跳過直接去第一步 51行
操作過程有疑惑的時候就看這提示
提示1/home/oracle/------這個指你的oracle路徑,所以這個根據你安裝在哪裡而進行改動。
提示2 yum -y install------這個會報錯不用管,繼續執行下面的語句
提示3 echo "192.168.99.30 testoracle" >> /etc/hosts ----testoracle這個就是你伺服器名 就是你建立linux系統時設定的名稱與/etc/sysconfig/network中的hostname一致
提示4 安裝過程中是不會出現日誌的。安裝日誌在他給出的那個日誌檔案 再開啟一個操作視窗 輸入 tail -300f 那個他給出的日誌檔案路徑 就可以看到拉 安裝完成的時候 介面會出現中文一段提示 說明安裝成功
提示5 怎麼看一個檔案的時候顯示行號以及怎麼根據行號搜尋 vi xxxx檔案 然後執行esc : 輸入set nu 回車 然後在esc :在輸入行號 回車就可以定位在對應行。
提示6 一定要按行號搜尋去改 放心都是對應的
提示7 安裝監聽時 只能開一個視窗,否則報錯。
提示8 安裝完成後 sqlplus /nolog 會沒有效果 這時輸入export PATH=$ORACLE_HOME/bin:$PATH(這是個命令) 如果有效。就去/home/oracle/下 vi .bash_profile 在最後追加export PATH=$ORACLE_HOME/bin:$PATH
然後 source .bash_profile 就搞定
提示9 這種安裝下我們設定的字符集是沒有效的 (
SELECT USERENV('LANGUAGE') FROM DUAL;這句sql可以檢視現在使用的字符集) 這時如果你需要改的話。還是改吧否則以後做資料遷移會亂碼。操作如下
shutdown immediate;
startup mount
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set INTERNAL_USE ZHS16GBK
如果你資料庫已有資料,記得一定要先把資料清空(包括索引什麼的一切)
提示10 這樣安裝完了 你會發現你只有自己本機上能登 其他人都登不了 這是你應該這樣
設定一個靜態監聽 當然也有動態 動態自己百度(應該也很少資料),但是一般靜態的足夠
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(SID_NAME=orcl)
)
)
orcl時指你的伺服器名以及例項名 下面步驟中如果你沒出錯肯定時這個不要改動
提示11 如果做錯了也不要慌 你不是梅西 再說梅西也不慌了
解除安裝:
停資料庫
停監聽
root使用者刪除安裝目錄
rm -rf /etc/oraInst.loc
rm -rf /etc/oratab
rm -rf /usr/local/bin/coraenv
rm -rf /usr/local/bin/oraenv
userdel -r oracle
groupdel oinstall
groupdel dba
chkconfig --del dbora
提示12 如果安裝資料包那裡出錯,百度吧
因為每次每個碰到的問題都有可能不一樣 時間太長的化建議重新安裝linux重來。
推薦安裝選擇介面的那種
第一步、設定selinux引數
vi /etc/sysconfig/selinux
SELINUX=disabled
第二步、關閉iptables、Postfix不必要的系統服務
chkconfig iptables off
chkconfig postfix off
第三步、重啟系統
reboot 或者 shutdown -r -t 0 0
23.安裝Mysql資料庫
第一步、配置yum源,安裝缺少的服務包
mount /dev/cdrom /mnt
mkdir /etc/yum.repos.d/oldrepo
mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/oldrepo/
vi /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum -y install perl
#1 先解壓rpm包 rpm -ivh 包名 --nodeps
加個提示(如果你yum執行這句沒問題下面那句不用執行。有問題的話,不用管,執行下一句 帶#號的都不用執行)
使用yum安裝資料包
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel libXext.i686
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel ksh readline readline-devel rlwrap | grep 'not installed' | awk '{print "yum install -y " $2 }' | bash
修改hostname和hosts
特別注意 /etc/sysconfig/network中的hostname要與/etc/hosts中的一致 去看下就好,改為對應的就好
#sed -i '/^HOSTNAME=/s/localhost.localdomain/db1/g' /etc/sysconfig/network
#192.168.99.30 為你ip testoracle為你linux伺服器名,記得改為你對應的。這是我的
echo "192.168.99.30 testoracle" >> /etc/hosts
#關閉selinux和iptables
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
#setenforce 0
#/etc/init.d/iptables stop && chkconfig iptables off
建立使用者和組
#這是個命令直接複製貼上
groupadd oinstall
groupadd dba -g oinstall -G dba
echo 'oracle' | passwd --stdin oracle
修改核心引數
#這是個命令直接複製貼上
echo "
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
net.ipv4.ip_local_port_range = 9000 65500
fs.aio-max-nr = 1048576
">> /etc/sysctl.conf
#這是個命令直接複製貼上
sysctl -p
修改系統資源限制
#這是個命令直接複製貼上
echo "
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
">> /etc/security/limits.conf
#這是個命令直接複製貼上
if [[ `grep "session required /lib64/security/pam_limits.so" /etc/pam.d/login|wc -l` -lt 1 ]]
then
echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
fi
#這是個命令直接複製貼上
echo "
#oracle
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
ulimit -u 16384 -n 65536
fi
fi
">> /etc/profile
#這是個命令直接複製貼上
source /etc/profile
建立安裝目錄及設定許可權
mkdir -pv /home/oracle/data/app/
mkdir -pv /home/oracle/data/oradata/
chmod 755 /home/oracle/data
chmod 775 /home/oracle/data/app/
chown oracle.oinstall -R /home/oracle/data
建立一個配置檔案,包含oraInventory目錄位置,最好放在ORACLE_BASE下面
#這是個命令直接複製貼上
echo "# chown digoal:users /etc/oraInst.loc
inventory_loc=/home/oracle/data/oracle/product/oraInventory
inst_group=users" >> /etc/oraInst.loc
設定oracle環境變數
su - oracle
#這是個命令直接複製貼上
echo "
unset USERNAME
export ORACLE_BASE=/home/oracle/data
export ORACLE_HOME=/home/oracle/data/app/product/11.2.0/dbhome_1
export PATH=/home/oracle/data/app/product/11.2.0/dbhome_1/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LD_LIBRARY_PATH=/home/oracle/data/app/product/11.2.0/dbhome_1/lib:/usr/lib
#export ORACLE_HOME_LISTNER=$ORACLE_HOME
# Oracle安裝完成後再開啟Listener
umask 022
#下面這兩行是解決Linux中Oracle的sqlplus下退格鍵和Del鍵無效的解決方法
#alias sqlplus='rlwrap sqlplus'
#alias rman='rlwrap rman'" >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile
下載並解壓:我個人認為還是用oracle賬號操作,更方便一點
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
mkdir -pv /home/oracle/data/etc
cp /home/oracle/database/response/* /home/oracle/data/etc
設定響應檔案許可權
chmod /home/oracle/data/etc/*.rsp
#內容中出現的路徑記得改為自己的
vi /home/oracle/data/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29 行 安裝型別
ORACLE_HOSTNAME=testoracle //37 行 主機名稱
UNIX_GROUP_NAME=oinstall //42 行 安裝組
#INVENTORY_LOCATION=/home/oracle/data/oracle/oraInventory //47 行 INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN //78 行 選擇語言
ORACLE_HOME=/home/oracle/data/app/product/11.2.0/dbhome_1 //83 行
ORACLE_BASE=/home/oracle/data //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.isCustomInstall=true //108行 自定義安裝
oracle.install.db.DBA_GROUP=dba //142行 dba使用者組
oracle.install.db.OPER_GROUP=oinstall //147行 oper使用者組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 資料庫型別
oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行 SID
oracle.install.db.config.starterdb.characterSet=ZHS16GBK //184行
oracle.install.db.config.starterdb.memoryLimit=512 //200行 自動管理記憶體的最小記憶體(M)
oracle.install.db.config.starterdb.password.ALL=password //233行 設定所有資料庫使用者使用同一個密碼
DECLINE_SECURITY_UPDATES=true //385行 設定安全更新
進行靜默安裝Oracle軟體
cd /home/oracle/database
#這是個命令直接複製貼上
./runInstaller -silent -force -ignorePrereq -responseFile /home/oracle/data/etc/db_install.rsp
-silent指的是靜默安裝,-ignorePrereq忽略prerequisite的檢查結果,showProgress顯示進度,responseFile是種子檔案
檢視安裝日誌資訊瞭解安裝進度 在/tmp下的安裝日誌,不出現[FALTE]就行
tail -100f installActions*.log
出現類似如下提示表示安裝完成:
#-------------------------------------------------------------------
...
As a root user, execute the following script(s):
#1. /home/oracle/oraInventory/orainstRoot.sh
2. /home/oracle/data/product/11.2.0/dbhome_1/root.sh
#-------------------------------------------------------------------
使用root使用者執行上面兩個指令碼
配置靜默網路
#這是個命令直接複製貼上
$ORACLE_HOME/bin/netca /silent /responsefile /home/oracle/data/etc/netca.rsp #$ORACLE_HOME/data/etc/netca.rsp
這個完成後,應該會開啟網路監聽,1521埠應該會開啟了
靜默設定資料庫
vi /home/oracle/data/etc/dbca.rsp
加上密碼後,安裝過程不用輸入密碼
GDBNAME="orcl" //78 行 全域性資料庫的名字
#orcl.oracle.hans.com
SID="orcl" //149行 SID
CHARACTERSET=""AMERICAN_AMERICA.ZHS16GBK //415行 編碼字符集
NATIONALCHARACTERSET=" ZHS16GBK " //425行 編碼
#memoryPercentage = "60" //510行
#emConfiguration = "LOCAL" //836行
sysPassword = "password" //190行
systemPassword = "password" //200行
dbsnmpPassword = "password" //241行
sysmanPassword = "password" //846行
執行下面這條命令,靜默安裝
$ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/data/etc/dbca.rsp
這個要是設定正常的話,會有進度出現並提示完成。有問題會清屏
#這個可裝可不裝和資料庫沒什麼關係,這是一個工具,因為oracle登入後輸入mysql命令時後退鍵和回車鍵沒有,這個工具能解決這個問題。不用這個工具的話 需要按ctrl+後退鍵或回車鍵
安裝rlwrap
yum install libtermcap-devel readline readline-devel
tar -xf rlwrap-0.37.tar.gz
cd rlwrap-0.37
./configure
make && make install
echo "
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'">> /home/oracle/.bash_profile
source /home/oracle/.bash_profile
注:
oracle不能跨系統,如果一定要在高版本系統上安低版本oracle就要改配置,不過核心肯定會報錯,過高,直接跳過也能用,就是審計日誌會有error
10g 是rhel5
11g是6
12c是7
:
Oracle只支援rhel和oraclelinux,
:
centos得改主機屬性那個配置
需要oracel安裝檔案自己去官網下吧太大我也不好發你。