您好,登錄后才能下訂單哦!
小Q:最近因為工作的變動,接觸了好多沒接觸的東西,一直在學(xué)習(xí)和熟悉業(yè)務(wù),期間最有收獲的就屬于接觸了除mysql之外的數(shù)據(jù)庫,首先對oracle的安裝記錄一次。
建議:第一次安裝的朋友們,不要順著我的來,將安裝包上傳后,直接解壓執(zhí)行./runInstaller,根據(jù)報錯去處理問題,這樣會更深入一層次的了解oracle。
oracle 和 mysql 區(qū)別
1、oracle屬于大型數(shù)據(jù)庫,而mysql屬于中小型數(shù)據(jù)庫,oracle市場占有40%,mysql占20%;
2、oracle非開源,需付費,提供售后,而mysql開源免費,不過被oracle收購后,不知道未來走勢;
3、oracle支持大并發(fā),大訪問量,支持完全事務(wù)處理,而mysql在innodb引擎的行級鎖后才支持;
4、oracle是由用戶決定內(nèi)容,mysql是由數(shù)據(jù)庫決定內(nèi)容;
5、oracle邏輯備份時不鎖表,mysql需鎖表,而且一致性不如oracle;
6、oracle需要手動提交執(zhí)行,mysql默認自動提交;
7、oracle安裝需3G左右空間,mysql只需150多M;
8、oracle三方管理工具較多,mysql很少
安裝 oracle 服務(wù)
1、檢查并安裝必要的軟件包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat ld-linux.so.2 unixODBC unixODBC-devel
yum install libXp libXp.i686 //否則會報java Exception
wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
wget ftp://rpmfind.net/linux/opensuse/distribution/13.1/repo/oss/suse/i586/pdksh-5.2.14-948.1.2.i586.rpm 32位的
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm --force --nodeps
2、檢查swap是否有16G
grep SwapTotal /proc/meminfo //若小于16G,執(zhí)行下面
dd if=/dev/zero of=/data/swap bs=1G count=9
mkswap /data/swap && swapon /data/swap
vim /etc/fstab (add)
/data/swap swap swap defaults 0 0
mount -a
3、添加用戶和組
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle (oracleadmin)
4、配置內(nèi)核參數(shù)
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 | kernel.shmall = 2097152 //表示系統(tǒng)一次可以使用的共享內(nèi)存總量(以頁為單位)。缺省值就是2097152,通常不需要修改 kernel.shmmax = 2147483648 //共享內(nèi)存段的最大尺寸(字節(jié))。缺省32M,對于oracle來說,該缺省值太低了,通常將其設(shè)置為2G kernel.shmmni = 4096 //用于設(shè)置系統(tǒng)范圍內(nèi)共享內(nèi)存段的最大數(shù)量。該參數(shù)的默認值是 4096 。通常不需要更改 kernel.sem = 250 32000 100 128 //表示設(shè)置的信號量 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 //默認的接收窗口大小 net.core.rmem_max=4194304 //接收窗口的最大大小 net.core.wmem_default=262144 //默認的發(fā)送窗口大小 net.core.wmem_max=262144 |
sysctl -p // 使之立即生效
5、修改用戶限制
vim /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
6、修改用戶驗證選項
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so session required pam_limits.so |
7、修改用戶配置文件
vim /etc/profile
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
8、修改用戶
vim /home/oracle/.bash_profile
export ORACLE_BASE=/usr/local/oracle #oracle數(shù)據(jù)庫安裝目錄 export ORACLE_HOME=$ORACLE_BASE/product #oracle數(shù)據(jù)庫路徑 export ORACLE_SID=orcl #oracle #啟動數(shù)據(jù)庫實例名 export ORACLE_TERM=xterm #xterm窗口模式安裝 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系統(tǒng)環(huán)境變量 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系統(tǒng)環(huán)境變量 export LANG=C #防止安裝過程出現(xiàn)亂碼 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設(shè)置Oracle客戶端字符集,必須與Oracle安裝時設(shè)置的字符集保持一致, |
mkdir -p /usr/local/oracle/product
chown -R oracle:oinstall /usr/local/oracle/
source /home/oracle/.bash_profile
注:云機器默認無法用ctrl+alt+f7切換至圖形界面,而且無gnom桌面,所以為了識別>256color,進行以下操作
yum groupinstall "X Window System"
##yum groupinstall "GNOME Desktop" //我試了下,注釋部分不安裝也可,你也可以試試
yum install xdpyinfo xorg-x11-server-utils-7.7-14.el7 #tigervnc-server //不適用vnc可以不安裝服務(wù)
##(root)vncserver && 密碼=vncserveradmin && export DISPLAY=localhost:1
##xhost + //讓所有IP可以介入
9、oracle用戶登錄,并測試環(huán)境變量是否成功
su - oracle
env | grep ORA //檢查環(huán)境變量是否設(shè)置生效
10、下載oracle,并安裝
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
解壓這倆安裝包,會出來個database目錄,進入該目錄
執(zhí)行: ./runInstaller
11、若以xhell運行時,系統(tǒng)并配有xmanege程序,通過配置如下x11轉(zhuǎn)發(fā)(兩個11步,選一即可)
系統(tǒng)會自動識別并彈出圖形安裝界面,進行一系列安裝(不過最保險的是通過xmanager中的xbrowser啟動用戶終端,這樣只需要安裝好x11),如下 方式二vnc 服務(wù)安裝。
11、vnc的優(yōu)勢流暢比xmanege快好多倍,以vnc方式安裝,我們需要用oracle用戶登錄終端,并開啟vncserver
su - oracle
開啟:vncserver :3 [vncserveradmin] //開啟以3命名的 X
關(guān)閉:vncserver -kill :3
下載vnc viewer https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.0.2-Windows-32bit.exe
新建鏈接-->ip:會話號--->vnc密碼--->登錄密碼 登陸,進入 database目錄,并執(zhí)行 ./runInstaller
12、下面的安裝方式 xmanege和vnc就一樣了,繼續(xù)下走。
13.去掉勾,懶得填,個人使用環(huán)境不需要自動接收Oracle的安全更新。
14.下一步,只安裝數(shù)據(jù)庫軟件,個人用不要那些玩意~~
15.選擇單例安裝,前面的所有配置均為單例安裝。
16、添加語言
17、默認安裝版本企業(yè)版-Enterprise Edition
18、確定數(shù)據(jù)軟件的安裝路徑,自動讀取前面/home/oracle/.bash_profile 中配置的值。
不知道作用是啥,就默認了,有時vnc報錯彈框特小,根本不知道報錯是什么,所以我用的還是xmanege,雖然很慢,但報錯信息全。如下
19、理論上要創(chuàng)建Database Operation(OSOPER)Group:oper ,個人用,懶得建,就使用dba用戶組
20、安裝檢查,按照提示信息一個一個解決。有些系統(tǒng)報錯是因為現(xiàn)有的包的版本比檢測要高,最后忽略即可。(點擊Check_Again 多檢查幾次)
21、準(zhǔn)備完畢,fuck “Finish”開始安裝。
千萬不要以為這樣就完成了,好多網(wǎng)上教程到這就完成了,安裝過程的錯也解決了,但是進入sysdba啟動數(shù)據(jù)庫就會
就這樣耽誤了我好幾天的時間,一直重裝,去解決那不必要的錯誤,類似sem設(shè)置了oracle沒有識別到這種錯。。。
oracle不像mysql服務(wù)安裝好后,直接可以登錄,他需要單獨配置數(shù)據(jù)庫,讓sysdba有庫可登入。
另外為了讓客戶端可以登入,我們還要設(shè)置一下監(jiān)聽服務(wù)端口1521,一般安裝后默認就開啟了。
配置監(jiān)聽服務(wù) 和 數(shù)據(jù)庫
1、執(zhí)行netmgr (配置你創(chuàng)建的監(jiān)聽服務(wù)配置,監(jiān)聽你創(chuàng)建的數(shù)據(jù)庫實例)
命令netca (主要用來配置監(jiān)聽和配置NET服務(wù)名,以便遠程連接數(shù)據(jù)庫。)
執(zhí)行 dbca (創(chuàng)建數(shù)據(jù)庫、配置現(xiàn)有庫選項、刪除數(shù)據(jù)庫、管理模板=configretion assistant)
2、設(shè)置現(xiàn)有的sid,默認是前面寫的,當(dāng)然可以自己定義,只不過自定義之后還得手動改env
3、可以為每一個設(shè)一個密碼,也可以讓他們共用一個密碼,之后sys和system可以改的
4、數(shù)據(jù)庫文件安裝的位置,,最好是 $ORACLE_BASE 下
5、選擇備份快速恢復(fù)的目錄
6、chown oracle.oinstall /etc/oratab //再點擊ok
7、測試
sqlplus / as sysdba
SQL> create table z_test(id number,name varchar(20));
SQL> insert into z_test select 1,'a' from dual;
SQL> select * from z_test;
附加測試:
lsnrctl stop //停止監(jiān)聽器
lsnrctl start //啟動監(jiān)聽器
sqlplus /nolog //無密碼登陸
SQL> connect / as sysdba; //選擇oracle數(shù)據(jù)庫
SQL> shutdown immediate //立即停止數(shù)據(jù)庫實例
SQL> startup //啟動數(shù)據(jù)庫實例
==========================================================================
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。