准備工作
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、調出安裝頁面,點擊下一步進行安裝,我選擇僅數據庫服務安裝
像window安裝Oracle安裝一樣,此處不再重復介紹。
安裝完成之后,通過netca打開監聽配置頁面,通過執行dbca命令,啟動oracle實例安裝界面,一個Oracle服務可以對應多個實例,一個Oracle數據庫對應多個表空間和用戶名,每個用戶名又可管理表空間。
安裝完成實例之后,使用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
#使用sqlplus命令登錄Oracle,重啟服務器
sqlplus /nolog
conn / 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的安裝
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