CentOS静默安装Oracle12c手册

一、安装前准备

1.关闭防火墙,禁止防火墙开机自启

systemctl stop firewalld.service --关闭防火墙

systemctl disable firewalld.service -- 禁止防火墙开机启动

systemctl status firewalld.service -- 查看防火墙状态

2.关闭selinux

vi /etc/selinux/config -- 编辑文件

SELINUX=disabled --修改

3.yum安装必要安装包

#若执行一遍失败则执行第二遍

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

#检查是否安装成功(31个安装包)

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

二、创建用户组

1.创建oinstall和dba组

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

2.创建oracle用户

/usr/sbin/useradd -g oinstall -G dba oracle

3.设置oracle密码

passwd oracle 密码(zlxid)

4.查看创建结果

id oracle

三、修改内核参数

1.编辑配置文件

vi /etc/sysctl.conf

2.文件内容添加

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967296

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

3.使配置生效

/sbin/sysctl -p

四、修改配置

(1)修改用户限制

1.编辑文件

vi /etc/security/limits.conf

2.在文件末尾添加以下内容

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 10240

(2)修改 /etc/pam.d/login

vi /etc/pam.d/login

#添加以下内容

session required /lib64/security/pam_limits.so

session required pam_limits.so

(3)修改/etc/profile

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

(4)创建目录

mkdir -p /u01/app/

chown -R oracle:oinstall /u01/app/

chmod -R 775 /u01/app/

五、配置oracle用户

(1)配置oracle用户环境变量

vi ~/.bash_profile

#添加

export ORACLE_BASE=/u01/app/oracle

export ORACLE_SID=orcl

#使配置生效

source ~/.bash_profile

(2)上传数据库压缩包

#切换到oracle用户下

su - oracle

1.创建一个文件夹

mkdir oradb

2.上传成功后,安装解压插件

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 注意此处下载的是

Oracle Database 12c Release 2 linux版本 注意一定要使用oracle用户下载到oracle用户里面,

切换到root用户

su - root

yum install -y unzip zip

3.解压文件

切换到oracle用户

su - oracle

unzip xxx.zip

(3)复制相应的模板

mkdir etc

cp /home/oracle/oradb/database/response/* /home/oracle/etc/

#设置权限

su - root

chmod 700 /home/oracle/etc/*.rsp

(4)静默安装文件配置

1.返回oracle用户

su - oracle

#编辑/home/oracle/etc/db_install.rsp

vi /home/oracle/etc/db_install.rsp

#文件内容修改

oracle.install.option=INSTALL_DB_SWONLY // 安装类型

UNIX_GROUP_NAME=oinstall // 安装组

INVENTORY_LOCATION=/u01/app/oraInventory //INVENTORY目录(不填就是默认值)

ORACLE_HOME=/u01/app/oracle/product/12/db_1

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE     // 企业版本

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=oinstall

oracle.install.db.OSBACKUPDBA_GROUP=oinstall

oracle.install.db.OSDGDBA_GROUP=oinstall

oracle.install.db.OSKMDBA_GROUP=oinstall

oracle.install.db.OSRACDBA_GROUP=oinstall

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型

oracle.install.db.config.starterdb.globalDBName=orcl

oracle.install.db.config.starterdb.SID=orcl

oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)

oracle.install.db.config.starterdb.password.ALL=zlxid_0917 //设定所有数据库用户使用同一个密码

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

DECLINE_SECURITY_UPDATES=true

六、开始安装

(1)执行文件db_install.rsp

切换到database文件夹下

./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp

查看日志:tail -f xxx.log

成功后结果为:

(2)执行命令

#执行下方命令

su - root

/u01/app/oraInventory/orainstRoot.sh

/u01/app/oracle/product/12/db_1/root.sh

(3)修改oracle用户环境变量

#修改oracle环境变量

su - oracle

vim ~/.bash_profile

#for oracle

export ORACLE_BASE=/u01/app/oracle

export ORACLE_SID=orcl

export ROACLE_PID=oral12

#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export ORACLE_HOME=/u01/app/oracle/product/12/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export LANG="zh_CN.UTF-8"

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

#使配置生效

source ~/.bash_profile

(4)配置监听

修改监听端口

vi $ORACLE_HOME/network/admin/listener.ora

netca /silent /responsefile /home/oracle/etc/netca.rsp

#启动监听

lsnrctl start

(5)静默建库配置文件修改

切换root

su - root

vi /home/oracle/etc/dbca.rsp

#文件内容

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0

gdbName=orcl

sid=orcl

databaseConfigType=SI

createAsContainerDatabase=true

numberOfPDBs=1

pdbName=orclpdb

templateName=/u01/app/oracle/product/12/db_1/assistants/dbca/templates/General_Purpose.dbc

emExpressPort=5500

omsPort=0

characterSet=ZHS16GBK

listeners=LISTENER

memoryPercentage=40

automaticMemoryManagement=false

totalMemory=0

(6)执行静默建库

dbca -silent -createDatabase -responseFile /home/oracle/etc/dbca.rsp

输入 SYS 用户口令:zlxid_0917

输入 SYSTEM 用户口令:zlxid_0917

输入 PDBADMIN 用户口令:zlxid_0917

注:Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]

数据库安装成功。

(7)创建表空间

首先Oracle 12C,容器数据库创建新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同的表空间的时候进行,否则会报错。如果是在PDB与CDB 有相同表空间的情况下给CDB用户分配表空间,则分配CDB的表空间给用户PDB的表空间并不受影响。而且,CDB用户必须以‘C##’为开头,否则创 建不了

create tablespace CFP_TAB datafile '/u01/app/oracle/oradata/orcl/cfp.dbf' size 512M autoextend on next 10m maxsize unlimited;

ORACLE 12C 需要切换会话

show con_name   --查看当前容器

select con_id ,dbid,name,open_mode from v$pdbs; --查看容器

alter session set container=ORCLPDB; --切换PDB会话

alter session set container=CDB$ROOT; --切换CDB会话

切换PDB会话创建表空间,名称一致,路径分开

create tablespace CFP_TAB datafile '/u01/app/oracle/oradata/orcl/pdb_cfp.dbf' size 512M autoextend on next 10m maxsize unlimited;

1) DATAFILE: 表空间数据文件存放路径

2) SIZE: 起初设置为200M

3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k

4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名.

5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间

6) alter database datafile ' D:oracleproduct10.2.0oradataorclhistdb.dbf ' resize 500m; //手动修改数据文

tempfile是指临时文件,用于指定临时表空间的存储文件,

datafile是指数据文件,用于存储数据的文件,

查看表空间

select file_name,bytes/1024/1024||'M' "size" from dba_data_files;

删除表空间

drop tablespace CFP_TAB ;

则需要在相应路径下手动删除dbf文件。

(8)创建oracle 用户

sqlplus / as sysdba ;

格式: create user 用户名 identified by 口令[即密码]; 用户名前必须加c##

create user c##cfp identified by cfp default tablespace CFP_TAB;

删除用户

drop user c##cfp cascade;

为用户授权

grant connect,resource,dba to c##cfp;

grant dba to c##cfp;

给用户指定表空间

alter user 用户名 default tablespace 表空间名 

(9)开机自动启动

1. 编辑/etc/oratab文件

dbca建库时都会自动创建/etc/oratab文件

将orcl:/u01/app/oracle/product/12/db_1:N

修改成 orcl:/u01/app/oracle/product/12/db_1:Y

1.在 /etc/init.d/ 下创建文件oracle,内容如下:

3. 改变文件权限

# chmod 755 /etc/init.d/oracle

4. 添加服务

# chkconfig --level 35 oracle on

5. 需要在关机或重启机器之前停止数据库,做一下操作

# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机

# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启 

6. 使用方法

# service oracle start        //启动oracle

# service oracle stop        //关闭oracle

# service oracle restart     //重启oracle

问题一:无监听

修改监听HOST为内网ip

su - oracle

vi $ORACLE_HOME/network/admin/listener.ora

重启和启动监听的命令为

lsnrctl stop、lsnrctl start

问题二

因为这个监听器的端口号不是1521(默认注册),所以采用必须的得采用下面的动态注册方法

动态注册方法 如下所示:

sqlplus / as sysdba

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.180.22.8)(PORT=11521))))';

alter system register;

问题三

是oci.dll版本不对。因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准版,一种是简洁版,即Oracle Install Client。而我们用Navicat时通常会在自己的安装路径下包含多个版本的OCI,如果使用Navicat连接Oracle服务器出现ORA-28547错误时,多数是因为Navicat本地的OCI版本与Oracle服务器服务器不符造成的。所以我们要做的就是下载OCI使之与我们所安装的Oracle服务器相符合。

OCI下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Luckln~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值