阿里云 centos7静默安装oracle12c,使用navicat 连接oracle数据库
使用yum -y update
更新软件
1. 关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld.service //禁止防火墙开机启动
- setenforce 0 //关闭selinux
2. 设置虚拟内存
2.1 查看现在分区情况 free -m
结果应该swap那一行全是0(如果已经创建交换分区(参照2.4的图,直接执行第三步)
2.2 建立swap分区
创建一个空的 swapfile
install -o root -g root -m 0600 /dev/null /home/swapfile
写出一个2gb 的文件名为’/home/swapfile’
dd if=/dev/zero of=/home/swapfile bs=1k count=2048k
告诉 linux 这是交换文件:
mkswap /home/swapfile
告诉 linux 这是交换文件:
swapon /home/swapfile
2.3 修改 /etc/fstab
vim /etc/fstab
i 进去编辑模式
添加一行/home/swapfile swap swap defaults 0 0
//设置为开机自启动
Esc 键 ‘:wq’ 保存退出
2.4 查看分区情况 free -m
结果swap那一行结果大小和自己设置的大小一样,如图
3. 安装依赖包以及解压文件
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static kernel-headers glibc-headers gcc gcc-c++ glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi make sysstat unixODBC unixODBC-devel libXp libXp.so.6 libgomp compat-libcap1 ksh
需要查看依赖包的使用rpm -q
使用yum install -y unzip zip
安装解压程序,后面解压数据库压缩包的时候使用
4. 查看本机ip,并且修改hosts
使用
ifconfig
查看自己ip地址使用
vim /etc/hosts
修改Esc 键 ‘:wq’ 保存退出
5. 创建所需操作系统用户组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle //密码8位以上,不要包含用户名,密码输入两次,保持一致,回车确认
6. 创建安装目录
*** $ORACLE_BASE //配置环境变量时会用到
mkdir -p /opt/oracle
*** ORACLE_HOME
mkdir -p /opt/oracle/product/12.2.0/dbhome_1
#数据存放目录
mkdir /opt/oracle/oradata
#清单目录
mkdir /opt/oracle/inventory
#数据恢复目录
mkdir /opt/oracle/flash_recovery_area
#修改权限
chown -R oracle:oinstall /opt/oracle ///opt/oracle下的所有文件夹都够归属于oinstall组、oracle用户
chmod -R 775 /opt/oracle //修改该目录下文件的访问权限
7. 修改linux内核,修改/etc/sysctl.conf文件
vim /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p
显示如下:
8. 修改用户的限制文件,编辑 vim /etc/security/limits.conf
vim /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
9. 修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
10. 编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件
vi /etc/profile
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
11. 配置oracle用户环境变量(切换oracle用户)
切换到oracle用户的home目录
: su - oracle 、cd /home
[oracle@oracle ~]$ vim .bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
[oracle@oracle ~]$ source .bash_profile
12. 上传oracle软件包到 /opt/oracle目录下(xftp上传)
unzip /opt/oracle/linuxx64_12201_database.zip
这边应该是会报错的
查询发现压缩包的所属组和用户都是root
切换root用户
使用chown oracle 文件名
chgrp oinstall 文件名
解压完成可以看到目录/opt/oracle/database/response有3个应答文件,
分别数据库安装文件、建立数据库实例和监听配置安装文件
[oracle@oracle oracle]$ ll /opt/oracle/database/response/
13. 修改数据库安装文件db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY #安装类型
ORACLE_HOSTNAME=oracle #主机名称
UNIX_GROUP_NAME=oinstall #安装组
INVENTORY_LOCATION=/opt/oracle/inventory #清单目录
SELECTED_LANGUAGES=en,zh_CN #选择语言
ORACLE_HOME=/opt/oracle/product/12.2.0/dbhome_1
oracle.install.db.InstallEdition=SE2 #oracle版本
oracle.install.db.OSDBA_GROUP==dba
ORACLE_BASE=/opt/oracle #oracle_base#dba用户组
oracle.install.db.OSOPER_GROUP=oper #oper用户组
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl #globalDBName
oracle.install.db.config.starterdb.SID=orcl #SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.installExampleSchemas=true
oracle.install.db.config.starterdb.password.ALL=oracle
#设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true #设置安全更新
14. 根据响应文件安装oracle 12c
cd /opt/oracle/database
./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq
成功安装显示如下:
15. 按照提示切换root用户运行脚本
/opt/oracle/inventory/orainstRoot.sh
/opt/oracle/product/12.2.0/dbhome_1/root.sh
16 使用oracle用户登录配置监听
[oracle@oracle ~]$ netca /silent /responseFile /opt/oracle/database/response/netca.rsp
如果没有报错,无视下面两步
- 使用
vi ~/.bash_profile
修改用户配置,配置环境变量- 如果环境变量已经配置,这边还是报错,使用
source ~/.bash_profile
更新配置
运行成功后,会在/opt/oracle/product/12.2.0/dbhome_1/network/admin/中生成listener.ora和sqlnet.ora两个文件
查看监听端口:(如果没有,不用着急,可在按照后重启实例是监听就行了)
17. 建立新库,同时建立对应的实例
[oracle@oracle ~]$ vim /opt/oracle/database/response/dbca.rsp
gdbName=orcl
sid=orcl
templateName=General_Purpose.dbc
sysPassword=oracle
systemPassword=oracle
datafileDestination=/opt/oracle/oradata
recoveryAreaDestination=/opt/oracle/flash_recovery_area
characterSet=AL32UTF8
nationalCharacterSet=UTF8
[oracle@oracle ~]$ dbca -silent -createDatabase -responseFile /opt/oracle/database/response/dbca.rsp
过程有点慢
建库后进行实例进程检查:
ps -ef | grep ora_ | grep -v grep
[oracle@oracle ~]$ sqlplus / as sysdba
SQL> select status from v$instance;
(如果出现的是Oracle not availible :
startup)
查看监听状态
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ lsnrctl status
登录查看实例状态
果出现的是Oracle not availible
SQL> startup
如果执行lsnrctl status是如下情况
The listener supports no services
查看数据库service_name
sys@ORCL> show parameter service
NAME TYPE VALUE
service_names string orcl
手工注册有时能够解决问题:
sys@ORCL> alter system register;
System altered.
至此,你已经成功安装oracle了
18. 使用navicat 连接oracle数据库(其余图形化界面也是可以的哈)
- 使用账号为sys,密码为oracle登录,设置角色为sysdba
-
成功如下:
- 至此,结束撒花
术后问题:
-
客户端乱码(如图所示):
- vi ~/.bash_profile
- 添加如下内容:export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF-8