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

 

 

 

posted @ 2020-09-01 16:46  px_passion  阅读(263)  评论(1)    收藏  举报