ubuntu14.04、CentOS安装oracle 11g数据库【转载】
出處:https://blog.csdn.net/cainanxing/article/details/78988671
ubuntu14.04、CentOS安裝oracle 11g數據庫
折騰了好久才裝成功,之前打算在虛擬機里邊裝oracle,但是虛擬機的硬盤空間用完了,所以就用之前在阿里買的服務器上安裝oracle,服務器是Ubuntu14.04版本的,安裝過程不易 ,記錄下來以備后用。
一、前提條件
請確保你的Ubuntu有一定的交換空間
請確保你的電腦上安裝了jdk
二、安裝
????1、更新系統(這個是在網上找到的,可選,但是我的14.04更新了之后之前安裝出現的問題就少了)
sudo apt-get update
sudo apt-get dist-upgrade
????2、安裝依賴包
這個很重要,之前因為看的安裝指導教程是用yum方式安裝依賴包的,但是Ubuntu14好像不支持yum方式安裝依賴包,所以安裝的時候 就跳過此步驟了,這個可能會導致后面出現很多問題。有些源可能已經找不到了
,可以添加以下的源。
sudo vim /etc/apt/sources.list
## 添加如下源,vim打開文件后,將下面的源追加到文件末尾保存即可:
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse
更新源文件保存并更新
sudo apt-get update下面的全部要裝上,否則安裝途中可能會因為依賴問題出現錯誤,采用靜默安裝方式后又無從找起,仔細一個一個查一遍,終端鍵入:
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install automake
sudo apt-get install autotools-dev
sudo apt-get install binutils
sudo apt-get install expat
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install ia32-libs
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install lib32z1
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-i386
sudo apt-get install libelf-dev
sudo apt-get install libltdl-dev
sudo apt-get install libmotif4
sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install lsb-cxx
sudo apt-get install make
sudo apt-get install openssh-server
sudo apt-get install pdksh
sudo apt-get install rlwrap
sudo apt-get install rpm
sudo apt-get install sysstat
sudo apt-get install unixodbc
sudo apt-get install unixodbc-dev
sudo apt-get install unzip
sudo apt-get install x11-utils
sudo apt-get install zlibc
centos需要執行下列依賴
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel????3、檢查系統變量
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep aio-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max
上邊每條命令的輸出都要保存下來,然后在/etc/sysctl.conf中增加對應數據
sudo vim /etc/sysctl.conf下面是我的機器查詢出的配置,然后添加到sysctl.conf 文件中,每個機器可能都不一樣,所以這個沒必要來照抄,照抄也可能會引發錯誤。
kernel.sem = 250 32000 100 128
kernel.sem_next_id = -1
kernel.shm_next_id = -1
kernel.shm_rmid_forced = 0
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
運行一下命令更新內核參數
/sbin/sysctl –p????4、添加對當前用戶的內核限制。在 /etc/security/limits.conf 文件中增加以下數據(之后一般會創建oracle用戶)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
????5、檢查/etc/pam.d/login,然后添加一行數據(沒有的話再添加)
執行sudo vim /etc/pam.d/login,添加以下數據
session required pam_limits.so檢查/etc/pam.d/su,同樣是沒有的話再進行添加(一般是有的),執行sudo vim /etc/pam.d/su,添加以下數據
session required pam_limits.so????6、oracle默認不支持ubuntu需要欺騙一下oracle安裝程序
mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
echo 'Red Hat Linux release 5' > /etc/redhat-release
????7、再/etc/profile配置文件追加shell代碼,執行sudo vim /etc/profile打開文件,添加以下代碼(注意代碼的格式,比如if括號兩邊要有空格,不然會報錯)
if [ $USER = "oracle" ];then
if [ "$SHELL" = "/bin/ksh" ];then
ulimit -p 16384
echo "hello"
ulimit -n 65536
echo "world"
else
ulimit -u 16384 -n 65536
fi
fi
????8、創建用戶組和用戶(在shell中執行)
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle
????9、下載oracle 11g壓縮文件(包含兩個壓縮文件)
下載地址,卷1:linux.x64_11gR2_database_1of2.zip。卷2:linux.x64_11gR2_database_2of2.zip(下載oracle第一次可能會要求你注冊賬號,所以也可以選擇去百度搜索,有網盤分享的)
下載之后將文件解壓到同一目錄
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
????10、靜默安裝設置
在解壓之后進入database文件夾,打開response/db_install.rsp文件,sudo vim response/db_install.rsp,下面是保證安裝需要配置的基本數據,找到對應項修改,路徑你需要按照你自己的文件系統進行修改。我是在/usr/local中創建了oracle文件夾,然后解壓文件database為/usr/local/oracle的子文件夾。
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_AND_CONFIG
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/usr/local/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/usr/local/oracle/home/oracle_11g
ORACLE_BASE=/usr/local/oracle/home
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.memoryLimit=256
oracle.install.db.config.starterdb.password.ALL=[密碼,包含大小寫字母,數字,至少8個字符]
oracle.install.db.config.starterdb.password.SYS=[密碼,包含大小寫字母,數字,至少8個字符]
oracle.install.db.config.starterdb.password.SYSTEM=[密碼,包含大小寫字母,數字,至少8個字符]
oracle.install.db.config.starterdb.password.SYSMAN=[密碼,包含大小寫字母,數字,至少8個字符]
oracle.install.db.config.starterdb.password.DBSNMP=[密碼,包含大小寫字母,數字,至少8個字符]
oracle.install.db.config.starterdb.dbcontrol.emailAddress=[你的郵箱地址]
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/usr/local/oracle/home/db_file
DECLINE_SECURITY_UPDATES=true
????11、執行安裝文件(靜默安裝)
安裝過程中不會出現圖形界面,控制太也很少有信息輸出,安裝過程大概會持續10-20分鐘,控制臺提示日志文件保存時不要強制退出,等安裝好之后會有提示)
su oracle(切換到oracle用戶),
然后進入database文件夾執行命令
./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile /usr/local/oracle/database/response/db_install.rsp進行安裝。過程持續10-20分鐘。下面是安裝成功的截圖,最后會提示Successfully Setup Software,然后按Ctrl + C退出即可。
根據提示安裝好之后要執行/usr/local/oracle/home/oracle_11g/root.sh腳本
????12、配置oracle的環境變量
切換到root賬戶su root
打開文件
添加環境變量
export ORACLE_BASE=/usr/local/oracle/home
export ORACLE_HOME=${ORACLE_BASE}/oracle_11g
export ORACLE_SID=ora11g
export ORACLE_UNQNAME=orcl
export PATH=$PATH:${ORACLE_HOME}/bin/
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH
執行source ~/.bashrc更新環境變量,安裝完成。
????13、安裝簡單測試(是否安裝好了)
lsnrctl start ##開啟監聽
sqlplus / as sysdba
startup
lsnrctl status
lsnrctl stop
查看服務名:
show parameter service;
查看實例名:
select * from v$instance;
查看數據庫名:
select name from v$database;
查看數據庫用到幾個表空間:
select distinct TABLESPACE_NAME from tabs;
三、安裝過程中出現的問題
在執行安裝命令中可能會出現交換空間不足的錯誤,那么就需要在錯誤出現的時候執行下面的路徑來設置交換空間(系統根目錄下執行)。
free -m
mkdir /swapfile
cd /swapfile
sudo dd if=/dev/zero of=swap bs=1024 count=400000
sudo mkswap -f swap
sudo swapon swap
另外安裝完成時可以來測試一下環境變量,看下輸出是否和你的目錄匹配。
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $PATH
當執行sqlplus / as sysdba時出現動態鏈接庫的問題
sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
解決方法:
在配置oracle環境變量的時候加上這個配置
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH
還有一種錯誤是啟動監聽的時候報錯,報錯信息如下
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-NOV-2017 13:36:56
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Starting /usr/local/oracle/home/oracle_11g/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /usr/local/oracle/home/oracle_11g/network/admin/listener.ora
Log messages written to /usr/local/oracle/home/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
TNS-12533: TNS:illegal ADDRESS parameters
TNS-12560: TNS:protocol adapter error
TNS-00503: Illegal ADDRESS parameters
出現這個問題的原因是hosts文件設置不正確,解決方法是在/etc/hosts文件中添加如下
127.0.0.1 localhost.localhostdomain localhost
::1 oracle
[主機IP地址] domain domain
另外需要修改/etc/sysconfig/network,修改主機名為oracle
NETWORKING=yes
HOSTNAME=oracle
之后執行命令hostname oracle
四、卸載oracle的兩種方式
Linux Oracle 卸載步驟
第一種方法: 使用 oracle 自帶的 runInstaller 卸載;
第二種方法:通過刪除文件的方式卸載;(即:刪除 Oracle 安裝目錄下的所有文
件和文件夾)
1. 使用 SQL*PLUS 停止數據庫
2. 停止 Listener
3. 用 su 或者重新登錄到 root
4. 將 oracle 安裝目錄刪除
5. 將/usr/bin 下的文件刪除(刪除這三個文件后,Oracle 就不能使用了)
rm /usr/local/bin/dbhome
rm /usr/local/bin/oraenv
rm /usr/local/bin/coraenv
6. 將/etc/oratab 刪除
7. 將/etc/oraInst.loc 刪除
8. 將 oracle 用戶刪除(若要重新安裝,可以不刪除)
9. 將用戶組刪除(若要重新安裝,可以不刪除)
總結
以上是生活随笔為你收集整理的ubuntu14.04、CentOS安装oracle 11g数据库【转载】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 11g安装步骤详谈
- 下一篇: C连接MySQL数据库开发之Window