Linux安裝Oracle12C全過程
一、關(guān)閉防火墻
# 查看防火墻狀態(tài) systemctl status firewalld # 關(guān)閉防火墻 systemctl stop firewalld # 開啟防火墻 systemctl disable firewalld
二、安裝補(bǔ)丁
先更新環(huán)境依賴庫(kù),看有沒有報(bào)錯(cuò)
yum update
(三選一即可)
1. 在線安裝(需連接外網(wǎng))
執(zhí)行命令:
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ gcc-c++glibc*.i686 glib c glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcclibstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaiolibaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp libXtst
檢查是否安裝成功(31個(gè)安裝包)
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
2. 離線安裝(內(nèi)網(wǎng)環(huán)境推薦)
網(wǎng)上下載對(duì)應(yīng)操作系統(tǒng)版本的rpm依賴包,執(zhí)行下述命令
rpm -ivh *.rpm --nodeps --force
3. 掛載鏡像后執(zhí)行1命令
- 修改yum鏡像
cd /etc/yum.repos.d/ vim iso.repo
#### [base] name=iso #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=file:///mnt gpgcheck=0 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enable=1 #######
- 每次重啟都要,執(zhí)行掛載命令:
mount -o loop /home/software/rhel-server-7.7-x86_64-dvd.iso /mnt #iso.repo里的baseurl
- 測(cè)試
yum repolist
- 清理
yum makecache yum clean all
二、建立用戶和組:
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle #oracle用戶的密碼設(shè)置,后面會(huì)用到 echo "您的密碼" | passwd --stdin oracle
三、創(chuàng)建安裝目錄
mkdir -p /app/oracle/product/12c/dbhome chown -R oracle:oinstall /app chmod -R 775 /app
四、修改內(nèi)核參數(shù)
(先看下方參數(shù)聲明,根據(jù)服務(wù)器參數(shù)對(duì)配置文件的插入語(yǔ)句做適當(dāng)修改)
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 #設(shè)置最大打開文件數(shù) kernel.shmall = 2097152 # 共享內(nèi)存總量,以頁(yè)為單位。 kernel.shmmax = 4294967295 # 共享內(nèi)存段的最大尺寸(以字節(jié)為單位) kernel.shmmni = 4096 # 整個(gè)系統(tǒng)共享內(nèi)存段的最大數(shù)量 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 # 應(yīng)用程序可使用的IPv4端口范圍 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
改好后,使之生效:
sysctl -p
參數(shù)說明
kernel.shmall = 6580668 # 可以使用的共享內(nèi)存的總頁(yè)數(shù)(Linux共享內(nèi)存頁(yè)大小為4kb) kernel.shmmni=4096 # 設(shè)置系統(tǒng)范圍內(nèi)共享內(nèi)存段的最大數(shù)量(默認(rèn)4096) kernel.shmmax = 33693024256 # 單個(gè)共享內(nèi)存段的最大值(字節(jié));一個(gè)共享內(nèi)存段應(yīng)容納下整個(gè)SGA(>=sga_max_size) 32位linux系統(tǒng):推薦值 4294967295 64位linux系統(tǒng):推薦值 內(nèi)存|kernel.shmmax|kernel.shmall 12G | 12884901887 | 3145728 16G | 17179869183 | 4194304 32G | 34359738367 | 8388608 64G | 68719476735 | 16777216 128G | 137438953471 | 33554432 # 計(jì)算公式如下 kernel.shmmax = 內(nèi)存*1024*1024*1024 kernel.shmall = kernel.shmmax/1024/4
五、改文件限制:
vim /etc/security/limits.conf #(沒有前面這個(gè)文件,則 vi /etc/security/limits.d/20-nproc.conf )
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 #oracle soft memlock unlimited #oracle hard memlock unlimited
六、修改Oracle用戶的環(huán)境變量
su - oracle vim .bash_profile
export ORACLE_BASE=/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12c/dbhome export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# 加載環(huán)境變量 source .bash_profile
七、創(chuàng)建交換空間
dd if=/dev/zero of=/home/swap bs=1024 count=8000000 mkswap /home/swap swapon /home/swap
八、安裝軟件
1.修改/etc/profile
vim /etc/profile
#添加以下內(nèi)容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
#使配置生效
source /etc/profile
2.修改/etc/selinux/config里SELINUX的值
vim /etc/selinux/config SELINUX=disabled
3.安裝數(shù)據(jù)庫(kù)軟件
su - oracle cd /app/database ./runInstaller -silent -responseFile /app/database/db_install.rsp
完成數(shù)據(jù)庫(kù)軟件安裝,切到root用戶,運(yùn)行以下腳本。
sh /app/oraInventory/orainstRoot.sh sh /app/oracle/product/12c/dbhome/root.sh
4.創(chuàng)建監(jiān)聽
su - oracle cd /app/database/ netca -silent -responsefile /app/database/netca.rsp
5.創(chuàng)建數(shù)據(jù)庫(kù)
su - oracle dbca -silent -createDatabase -responseFile /app/database/dbca.rsp
設(shè)置密碼: ***
6.專用模式改為共享模式
--沒有返回值,說明處于專用模式: SQL>select * from v$dispatcher; SQL>show parameter shared_ser --在線修改共享服務(wù)器進(jìn)程的數(shù)量 --(若執(zhí)行下方SQL出現(xiàn)亂碼,可執(zhí)行“十二、修改字符集”,修改數(shù)據(jù)庫(kù)字符集) SQL> alter system set shared_servers=5 scope=both; --配置dispatchersDispatchers參數(shù)用于配置共享模式架構(gòu)中dispatcher進(jìn)程,共享模式只少需要一個(gè)dispatcher進(jìn)程。 SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3)' scope=both; -- 啟動(dòng)數(shù)據(jù)庫(kù) SQL> startup; -- 關(guān)閉數(shù)據(jù)庫(kù) SQL> shutdown immediate;
九、測(cè)試oracle是否安裝成功
#先啟動(dòng)監(jiān)聽 [oracle@ etlsrv ~]$ lsnrctl start #連接sqlplus [oracle@ etlsrv ~]$ sqlplus /nolog
--連接dba SQL> conn / as sysdba --啟動(dòng)服務(wù) SQL> startup -- 啟動(dòng)startup,停止 shutdown / shutdown immediate SQL> alter system register; SQL> select status from v$instance; --查看狀態(tài) SQL> desc dba_tablespaces; --測(cè)試:顯示表空間 SQL> quit
# 查看監(jiān)聽狀態(tài) [oracle@ etlsrv ~]$ lsnrctl status
十、修改字符集
#系統(tǒng)字符集 [root@localhost /root]$ vim ~oracle/.bash_profile export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" #使設(shè)置生效 [root@localhost /root]$source ~oracle/.bash_profile
#linux下查看oracle字符集 # 切換oracle用戶 su - oracle # 進(jìn)入SQL plus控制臺(tái) sqlplus / as sysdba
SQL>select * from v$nls_parameters; --AL32UTF8
SQL>select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; --AL32UTF8
SQL>select userenv('language') from dual; --SIMPLIFIED CHINESE_CHINA.AL32UTF8
十一、調(diào)整process(進(jìn)程數(shù))
# 查看ORACLE最大進(jìn)程數(shù): su - oracle # 先查看現(xiàn)在情況 sqlplus / as sysdba
SQL> select count(*) from v$session; #當(dāng)前連接數(shù) SQL> Select count(*) from v$session where status='ACTIVE'; #當(dāng)前并發(fā)連接數(shù) SQL> show parameter processes; #最大連接 SQL> show parameter sessions; # 在Linux系統(tǒng)中, 1個(gè)用戶session 對(duì)應(yīng)一個(gè)操作系統(tǒng) process ,而 windows體現(xiàn)在線程 # 修改ORACLE最大進(jìn)程數(shù):sessions=(1.1*processes+5) SQL> alter system set processes = 4000 scope = spfile; #修改連接 SQL> alter system set sessions= 4405 scope = spfile; # 系統(tǒng)已更改。 SQL> show parameter processes; SQL>shutdown immediate; # 數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。 # 已經(jīng)卸載數(shù)據(jù)庫(kù)。 # ORACLE 例程已經(jīng)關(guān)閉。 SQL> startup # ORACLE 例程已經(jīng)啟動(dòng)。 # 看提示信息,database open后,則表明該數(shù)據(jù)庫(kù)全部啟動(dòng)完畢,啟動(dòng)完畢后,再查看一下。 SQL> show parameter processes;
十二、修改密碼過期策略
# 設(shè)置密碼永不過期 SQL> alter profile default limit password_life_time unlimited;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
windows安裝openssh并通過生成SSH密鑰登錄Linux服務(wù)器
本文為大家詳細(xì)講解了在windows系統(tǒng)下安裝openssh并通過生成SSH密鑰登錄Linux服務(wù)器2018-10-10
運(yùn)維工程師必備:Linux系統(tǒng)監(jiān)控與故障排查的命令大全
文章整理了Linux系統(tǒng)監(jiān)控命令,按功能分類并附使用示例,涵蓋了系統(tǒng)概覽、CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)、進(jìn)程與服務(wù)、高級(jí)監(jiān)控工具等多個(gè)方面,需要的朋友可以參考下2025-12-12
Linux使用zip壓縮命令壓縮文件實(shí)現(xiàn)方式(排除不需要的文件)
Linux中使用zip命令壓縮文件的方法,包括-r參數(shù)指定壓縮包名,-x參數(shù)排除特定文件,-j只保存文件內(nèi)容不保存目錄結(jié)構(gòu)等選項(xiàng)2026-04-04
Ubuntu20的tzselect設(shè)置時(shí)間失效的問題,樹莓派服務(wù)器(推薦)
這篇文章主要介紹了Ubuntu20的tzselect設(shè)置時(shí)間失效的問題,樹莓派服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Linux服務(wù)器配置SSH服務(wù)登錄失敗的解決方案
文章介紹了配置Linux服務(wù)器SSH遠(yuǎn)程登錄失敗處理機(jī)制的步驟,包括備份原配置文件、安裝pam_tally2統(tǒng)計(jì)登錄失敗次數(shù)、使用Sed命令編輯配置、重啟使配置生效以及封禁登錄失敗五次的賬號(hào)2026-03-03

