[CentOS7安裝Oracle 11g]
一.准備工作
1、下載Oracle安裝包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip ,可以下載到本地,通過ftp服務上傳到Linux系統(參考CentOS7 FTP服務器搭建),也可以使用Linux系統的wget命令,下載文件包;
2、創建運行oracle數據庫的系統用戶和用戶組:
用Root賬號登錄,運行下面指令,創建所需要用戶和用戶組,分組原因參考網址
groupadd oinstall #創建用戶組oinstall
groupadd dba #創建用戶組dba
useradd -g oinstall -g dba -m oracle #創建oracle用戶,並加入到oinstall和dba用戶組
groups oracle #查詢用戶組是否授權成功
passwd oracle #設置用戶oracle的登陸密碼,不設置密碼,在CentOS的圖形登陸界面沒法登陸
id oracle #查看新建的oracle用戶
3、創建oracle數據庫安裝目錄(運行下面指令,創建賬號和分配權限)
mkdir -p /data/oracle #oracle數據庫安裝目錄
mkdir -p /data/oraInventory #oracle數據庫配置文件目錄
mkdir -p /data/database #oracle數據庫軟件包解壓目錄
cd /data
ls #創建完畢檢查一下
chown -R oracle:oinstall /data/oracle #設置目錄所有者為oinstall用戶組的oracle用戶
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
4、修改OS系統標識
oracle默認不支持CentOS系統安裝, 修改文件 /etc/RedHat-release 內容為RedHat-7
vi /etc/redhat-release#修改成紅色部分文字
redhat-7
5.安裝oracle數據庫所需要的軟件包
以下是按照需要依賴的安裝包,通過 yum install {包名} 來驗證是否安裝,例如yum install binutils
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
使用下面指令,檢查依賴軟件包
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
6、關閉防火牆和selinux
7、修改內核參數
vi /etc/sysctl.conf #紅色部分是要添加sysctl.conf內容
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #設置最大打開文件數
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享內存的總量,8G內存設置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享內存的段大小
kernel.shmmni = 4096 #整個系統共享內存端的最大數
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范圍
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
8、對oracle用戶設置限制,提高軟件運行性能(紅色為添加部分)
vi /etc/security/limits.conf #紅色部分要添加到Limits.conf內容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
9、配置用戶的環境變量(紅色部分為添加代碼)
vi /home/oracle/.bash_profile #紅色部分是要追加bash_profile內容部分
export ORACLE_BASE=/data/oracle #oracle數據庫安裝目錄
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle數據庫路徑
export ORACLE_SID=orcl #oracle啟動數據庫實例名
export ORACLE_TERM=xterm #xterm窗口模式安裝
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系統環境變量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系統環境變量
export LANG=C #防止安裝過程出現亂碼
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設置Oracle客戶端字符集,必須與Oracle安裝時設置的字符集保持一致
配置完成,:wq!保存退出,運行source /home/oracle/.bash_profile時上述配置生效
10、獲取安裝包文件后解壓安裝包
獲取安裝包文件的方式,可通過ftp服務器,也可通過wget下載到指定目錄,解壓方式如下
unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解壓文件1
unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解壓文件2
chown -R oracle:oinstall /data/database/database/ #分配安裝文件授權Oracle
二.Oracle安裝
1、oracle用戶登錄系統,使用命令行跳轉到data/database/database目錄下,輸入./runInstaller 調出安裝頁面;
2、調出安裝頁面,點擊下一步進行安裝,我選擇僅數據庫服務安裝
3、配置安全更新,這步可將自己的電子郵件地址填寫進去(也可以不填寫,只是收到一些沒什么用的郵件而已)。取消下面的“我希望通過My Oracle Support接受安全更新(W)”。 如圖:
4、安全選項,直接選擇默認創建和配置一個數據庫(安裝完數據庫管理軟件后,系統會自動創建一個數據庫實例)。 如圖:
5、系統類,直接選擇默認的桌面類就可以了,圖略
6、典型安裝,重要步驟。建議只需要將Oracle基目錄更新下,目錄路徑不要含有中文或其它的特殊字符。全局數據庫名可以默認,且口令密碼,必須要牢記。密碼輸入時,有提示警告,不符合Oracel建議時不用管。 (因Oracel建議的密碼規則比較麻煩, 必須是大寫字母加小寫字母加數字,而且必須是8位以上。麻煩,可以輸入平常自己習慣的短小密碼即可) 如圖:
7、先決條件檢查。 安裝程序會檢查軟硬件系統是否滿足,安裝此Oracle版本的最低要求。 直接下一步就OK 了。如圖:
8、概要,安裝前的一些相關選擇配置信息。 可以保存成文件或不保存文件直接點完成即可,然后開始進行安裝,如圖:
9、數據庫管理軟件文件及dbms文件安裝完后,會自動創建安裝一個實例數據庫,數據庫的名稱默認是前面設置的orcl。如圖:
10、 實例數據庫創建完成了,系統默認把所有賬戶都鎖定不可用(除sys和system賬戶可用外),建議點右邊的口令管理,將常用的scott賬戶解鎖並輸入密碼。 如圖:
11、解鎖scott賬戶, 去掉前面的綠色小勾,輸入密碼
12、 安裝成功,完成即可
三.Oracle添加實例
安裝完成之后,通過netca打開監聽配置頁面,通過執行dbca命令,啟動oracle實例安裝界面,一個Oracle服務可以對應多個實例,一個Oracle數據庫對應多個表空間和用戶名,每個用戶名又可管理表空間。
四.Oracle登入使用
1.登陸oracle
使用sqlplus命令登錄Oracle,重啟服務器
sqlplus /nolog (登錄客戶端,不登入用戶)
注: 直接登入用戶: sqlplus 用戶名/密碼 as 權限(如sysdba:管理員權限)
conn user/password as sysdba; (切換登入用戶)
\#再輸入startup,回車.這步是啟動oracle服務。
startup
重啟服務器之后,打開Oracle,提示 ORA-01034: ORACLE not available ORA-27101
原因在於未啟動服務,操作的方式是:
1、啟動oracle監聽:cmd命令行窗口下,輸入lsnrctl start,回車即啟動監聽;
2、采用sqlplus /nolog 登錄Oracle服務,連接服務conn /as sysdba,然后startup啟動服務
五.Redhat下安裝Oracle
擴展RedHat下Oracle的安裝
1、RedHat系統版本盡量使用Desk版本,便於Oracle的界面安裝,Oracle安裝文件傳輸到RedHat服務器,可以通過SecureCrt遠程客戶端完成數據的傳輸。
2、記得配置用戶換機下的安裝編碼,否則oracle安裝會出現亂碼:
vi /home/oracle/.bash_profile #追加配置文件
export LANG=C #防止安裝過程出現亂碼
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設置Oracle客戶端字符集,必須與Oracle安裝時設置的字符集保持一致
注:安裝過程可能出現的問題
1、我已經在/etc/sysctl.conf中加入了kernel.sem = 250 32000 100 128,但是安裝oracle的時候檢測還是告訴我理論值128,實際值為0.
網絡上解決方案關閉selinux,但是依然如此。決定忽略該告警,繼續下一步安裝。
解決方案:修改完/etc/sysctl.conf 必須 sysctl -p /etc/sysctl.conf生效配置文件
2、Error in invoking target 'install' of makefile '/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/data/oraInventory/logs/installActions2019-06-12_10-53-05AM.log' for details.
解決方案:需下載安裝32位版本 yum install glibc-devel.i686
3、Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/data/oraInventory/logs/installActions2019-06-12_10-53-05AM.log' for details.
解決方案: 保留安裝過程,另外開啟一個終端窗口,將ins_emagent.mk文件中的 (MK_EMAGENT_NMECTL)更改為$(MK_EMAGENT_NMECTL) -lnnz11,然后在安裝過程中點擊Retry即可。
4、Oracle開放1521端口 telnet不通解決辦法
解決方案:查看Linu主機名和修改主機名
hostname 查看主機名
hostname -i:查看本機對應的IP
修改主機名
vim /etc/sysconfig/network
vim /etc/hosts
修改完成后重啟:reboot
5.安裝完成實例之后,使用sqlPlus命令鏈接數據庫的時候,提示 could not open parameter file "/data/Oracle/product/11.2/db_1/dbs/initorcl.ora",這個時候需要將剛剛安裝的Oracle實例配置文件($ORACLE_BASE/admin /數據庫名稱/pfile目錄下的init.ora.012009233838形式的文件)拷貝到/data/Oracle/product/11.2/db_1/dbs目錄下
[oracle@localhost pfile]$ pwd
/data/oracle/admin/MLUCDB/pfile
[oracle@localhost pfile]$ cp init.ora.962016224738 /data/Oracle/product/11.2/db_1/dbs/initorcl.ora