1. 程式人生 > 實用技巧 >Centos7安裝Oracle12c教程

Centos7安裝Oracle12c教程

12c資料庫

建立oracle的系統使用者和使用者組

1 [root@localhost /]# groupadd oinstall
2 [root@localhost /]# groupadd dba
3 [root@localhost /]# groupadd oper
4 [root@localhost /]# useradd -g oinstall -G dba,oper oracle
5 [root@localhost /]# echo "root" | passwd --stdin oracle

建立oracle安裝目錄

1 [root@localhost home]# mkdir -p /home/app/oracle/product/12.1.0/db_1
2 [root@localhost home]# chown -R oracle:oinstall /home/app 3 [root@localhost home]# chmod -R 775 /home/app

修改核心引數

 1 vim /etc/sysctl.conf
 2 
 3 fs.aio-max-nr = 1048576  
 4 fs.file-max = 6815744  
 5 kernel.shmall = 2097152  
 6 kernel.shmmax = 1200000000    
 7 kernel.shmmni = 4096  
 8 kernel.sem = 250 32000 100 128
9 net.ipv4.ip_local_port_range = 9000 65500 10 net.core.rmem_default = 262144 11 net.core.rmem_max = 4194304 12 net.core.wmem_default = 262144 13 net.core.wmem_max = 1048576 14 15 #使其生效 16 [root@localhost home]# sysctl -p

修改檔案限制

[root@localhost home]# vi /etc/security/limits.conf

1 oracle soft nproc 2047
2 oracle hard nproc 16384 3 oracle soft nofile 1024 4 oracle hard nofile 65536 5 oracle soft stack 10240

[root@localhost home]# vim /etc/pam.d/login

新增:

session required pam_limits.so

修改ulimit:vi /etc/profile,新增:

[root@localhost home]# vim /etc/profile

if [ $USER = "oracle" ]; then 
if [ $SHELL = "/bin/ksh" ]; then 
ulimit -p 16384 
ulimit -n 65536a 
else 
ulimit -u 16384 -n 65536 
fi 
fi

修改環境變數

 1 [root@localhost home]# vim ~oracle/.bash_profile
 2 
 3 ORACLE_BASE=/home/app/oracle
 4 ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1  
 5 ORACLE_SID=gdlisnet
 6 export ORACLE_BASE ORACLE_HOME ORACLE_SID  
 7 PATH=$ORACLE_HOME/bin:$PATH  
 8 export PATH
 9 export LANG=C
10 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
11 #生效
12 [root@localhost home]# source /home/oracle/.bash_profile

安裝依賴包

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
View Code

關閉防火牆

systemctl stop firewalld

systemctl disable firewalld.service 重啟也是禁止的

進行安裝

以oracle使用者登入

[oracle@localhost home]#  cd /home/app/oracle
[oracle@localhost oracle]#  unzip linuxx64_12201_database.zip
[oracle@localhost oracle]# export LANG="en_US" 
[oracle@localhost oracle]# cd /home/app/oracle/database 
[oracle@localhost oracle]# ./runInstaller

輸入xhost+時候如果找不到命令需要安裝
yum whatprovides "*/xhost"
按照結果yum 安裝

如果報錯:
/usr/bin/xdpyinfo 檢查是否安裝
yum -y install xdpyinfo 進行安裝

[oracle@localhost database]$ xhost +
xhost:  unable to open display ""
#本機IP:192.168.10.38
[oracle@localhost database]$ export DISPLAY=192.168.10.38:0.0
[oracle@localhost database]$ xhost +
access control disabled, clients can connect from any host

開啟Xmanager - Passive即可調出介面

建立和配置資料庫

伺服器類

單例項資料庫

高階安裝

企業版

一般用途

設定SID和資料庫名,把建立容器資料庫勾去

對所有賬戶使用相同密碼

按提示解決解決

解決交換空間問題

 1 #以root使用者
 2 [root@localhost ~]# free -m
 3               total        used        free      shared  buff/cache   available
 4 Mem:           1824        1239          67           9         517         410
 5 Swap:          2047           0        2047
 6 [root@localhost ~]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000
 7 記錄了1024000+0 的讀入
 8 記錄了1024000+0 的寫出
 9 1048576000位元組(1.0 GB)已複製,3.82043 秒,274 MB/10 [root@localhost ~]# mkswap /home/swap
11 正在設定交換空間版本 1,大小 = 1023996 KiB
12 無標籤,UUID=d50c7ffb-96c8-40b9-8216-c535391a86f8
13 [root@localhost ~]# free -m
14               total        used        free      shared  buff/cache   available
15 Mem:           1824        1074          73           2         676         576
16 Swap:          2047         253        1794
17 [root@localhost ~]# swapon /home/swap
18 [root@localhost ~]# 

新增相容版本,修改密碼

注意:配置完伺服器端的sqlnet.ora檔案後,務必要重新修改密碼,否則仍登入失敗

1 [oracle@localhost database]$ vim /home/app/oracle/product/12.1.0/db_1/network/admin/sqlnet.ora
2 
3 #新增如下內容
4 SQLNET.ALLOWED_LOGON_VERSION=8;
5 
6 #oracle12c以上需要改密碼
7 sqlplus / as sysdba
8 alter user 服務名 identified by 密碼;

開放oracle相關埠

 1 firewall-cmd --zone=public --add-port=1521/tcp --permanent
 2 firewall-cmd --zone=public --add-port=5500/tcp --permanent
 3 firewall-cmd --zone=public --add-port=5501/tcp --permanent
 4 firewall-cmd --zone=public --add-port=5502/tcp --permanent
 5 
 6 檢視監聽的埠
 7 netstat -lnpt
 8 
 9 檢視防火牆狀態
10 firewall-cmd --state
11 
12 檢查埠被哪個程序佔用
13 netstat -lnpt |grep 1521
14 
15 檢視程序的詳細資訊
16 ps 6832
17 
18 中止程序
19 kill -9 6832

設定開機自啟動

1 [oracle@centos7 /]$ vim /etc/oratab
2 gdlisnet:/home/app/oracle/product/12.1.0/db_1:Y
3 [oracle@centos7 bin]$ vim /home/app/oracle/product/12.1.0/bin/dbstart
4 將ORACLE_HOME_LISTNER=$1改成
5 ORACLE_HOME_LISTNER=$ORACLE_HOME
6 [root@centos7 bin]# vim /etc/rc.local
7 su - oracle -c '/home/app/oracle/product/12.1.0/bin/lsnrctl start'
8 su - oracle -c '/home/app/oracle/product/12.1.0/bin/dbstart'
9 [root@centos7 bin]# chmod +x /etc/rc.d/rc.local

同步網路時間

[root@centos7 /]# yum -y install ntp

[root@centos7 /]# ntpdate -u ntp.api.bz

[root@centos7 /]# hwclock –w

lsnrctl status 檢視狀態

lsnrctl start 啟動

lsnrctl stop 停止

常用命令:

sqlplus /nolog //登入sqlplus

connect /as sysdba //連線oracle

startup //起動資料庫

shutdown //關閉資料庫

shutdown immediate

exit //退出sqlplus