centos7安装oracle 11g EE版本数据库

因为临时要用到oracle,之前又没装过,网上找了些文章,都有这样那样的问题,根据自己实际情况

整理了一片博客,留着以后装的时候看,不过应该用不上,已经固化成docker镜像了。

 

版本Oracle 11.2.0.4.0

 

Oracle的启动步骤:1、配置数据实例 2、创建数据库实例 3、启动监听程序(1521端口) 4、启动数据库实例

 

1、下载 Oracle 11g

Oracle官方网站

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

 

下载完成后,有两个压缩文件

linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip

 

压缩文件上传到 /db/目录

 

2、安装依赖包

安装依赖包之前,个人建议将yum源修改为aliyun源,下载速度快些,执行如下命令即可:

cd /etc

mv yum.repos.d yum.repos.d.bak

mkdir yum.repos.d

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

yum makecache

 

修改成功后,安装如下依赖包:

 

yum -y install binutils \

 

compat-libstdc++-33 \

 

elfutils-libelf \

 

elfutils-libelf-devel \

 

expat \

 

gcc \

 

gcc-c++ \

 

glibc \

 

glibc-common \

 

glibc-devel \

 

glibc-headers \

 

libaio \

 

libaio-devel \

 

libgcc \

 

libstdc++ \

 

libstdc++-devel \

 

make \

 

pdksh \

 

sysstat \

 

unixODBC \

 

unixODBC-devel

 

使用如下命令检查依赖是否安装完整

 

rpm -q \

 

binutils \

 

compat-libstdc++-33 \

 

elfutils-libelf \

 

elfutils-libelf-devel \

 

expat \

 

gcc \

 

gcc-c++ \

 

glibc \

 

glibc-common \

 

glibc-devel \

 

glibc-headers \

 

libaio \

 

libaio-devel \

 

libgcc \

 

libstdc++ \

 

libstdc++-devel \

 

make \

 

pdksh \

 

sysstat \

 

unixODBC \

 

unixODBC-devel | grep "not installed"

 

发现 pdksh 没有安装

 

执行 yum -y install pdksh,发现CentOS 7 没有相关安装包可用

 

通过wget命令直接下载pdksh的rpm包,我下载到了/tmp/

 

wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

 

下载完成后,进入 /tmp/ 

 

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

 

再次检查依赖包是否安装完整

 

rpm -q \

 

binutils \

 

compat-libstdc++-33 \

 

elfutils-libelf \

 

elfutils-libelf-devel \

 

expat \

 

gcc \

 

gcc-c++ \

 

glibc \

 

glibc-common \

 

glibc-devel \

 

glibc-headers \

 

libaio \

 

libaio-devel \

 

libgcc \

 

libstdc++ \

 

libstdc++-devel \

 

make \

 

pdksh \

 

sysstat \

 

unixODBC \

 

unixODBC-devel | grep "not installed"

 

 

 

到此依赖包安装完整

 

3、添加oracle用户组和用户

groupadd oinstall

groupadd dba

groupadd asmadmin

groupadd asmdba

useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

添加完成后,查看oracle用户

id oracle

初始化oracle用户的密码

passwd oracle

 

配置hostname(本机IP映射)

vim /etc/hosts

192.168.154.154 centos-oracle

测试hostname

ping -c 3 centos-oracle

 

 

 

4、优化OS内核参数

kernel.shmmax 参数设置为物理内存的一半

 

vim /etc/sysctl.conf

 

fs.aio-max-nr=1048576

 

fs.file-max=6815744

 

kernel.shmall=2097152

 

kernel.shmmni=4096

 

kernel.shmmax = 1073741824

 

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=1048586

使参数生效

sysctl -p

 

限制oracle用户的shell权限(可以不管)

vim /etc/security/limits.conf

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

vim /etc/pam.d/login

session  required   /lib64/security/pam_limits.so

session  required   pam_limits.so

vim /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

 

5、创建oracle安装目录

mkdir -p /db/app/oracle/product/11.2.0

 

mkdir /db/app/oracle/oradata

 

mkdir /db/app/oracle/inventory

 

mkdir /db/app/oracle/fast_recovery_area

 

chown -R oracle:oinstall /db/app/oracle

 

chmod -R 775 /db/app/oracle

 

6、配置oracle用户环境变量

su - oracle

 

vim .bash_profile

 

umask 022

 

export ORACLE_HOSTNAME=centos-orcl

 

export ORACLE_BASE=/db/app/oracle

 

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/

 

export ORACLE_SID=ORCL

 

export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH

 

export LC_ALL="en_US"

 

export LANG="en_US"

 

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

 

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

 

以上配置完成后,执行命令使配置生效

source .bash_profile

 

7、安装oracle

解压oracle压缩文件到 /db

cd /db/

 

unzip linux.x64_11gR2_database_1of2.zip -d /db

 

unzip linux.x64_11gR2_database_2of2.zip -d /db

 

 

 

解压完成后

 

mkdir /db/etc/

 

cp /db/database/response/* /db/etc/

 

vim /db/etc/db_install.rsp

 

 

 

oracle.install.option=INSTALL_DB_SWONLY

 

DECLINE_SECURITY_UPDATES=true

 

UNIX_GROUP_NAME=oinstall

 

INVENTORY_LOCATION=/u01/app/oracle/inventory

 

SELECTED_LANGUAGES=en,zh_CN

 

ORACLE_HOSTNAME=centos-oracle

 

ORACLE_HOME=/db/app/oracle/product/11.2.0

 

ORACLE_BASE=/db/app/oracle

 

oracle.install.db.InstallEdition=EE

 

oracle.install.db.isCustomInstall=true

 

oracle.install.db.DBA_GROUP=dba

 

oracle.install.db.OPER_GROUP=dba

 

 

 

开始安装

 

su - oracle (一定要加-,加-在切换用户时才会加载新用户的环境变量配置)

 

./runInstaller -silent -ignorePrereq -responseFile /db/etc/response/db_install.rsp

 

安装期间可以使用tail命令监看oracle的安装日志

 

tail -f /db/app/oracle/inventory/logs/installActions2017-07-12_03-48-29PM.log

 

 

 

安装完成,提示Successfully Setup Software.

 

根据提示完成配置

 

 

8、配置oracle

su root

 

sh /db/app/oracle/inventory/orainstRoot.sh(如果安装后找不到这个文件,就到网上去下一个,是现成的脚本)

 

sh /db/app/oracle/product/11.2.0/root.sh

 

 

 

配置静默监听

su - oracle

 

netca /db/app/oracle/product/11.2.0/assistants/netca/netca.rsp(根据自己的路径来填,找不到就搜netca.rsp)

 

9、启动监听服务

(这一步才启动了对端口1521的监听)

修改 /db/app/oracle/product/11.2.0/network/admin/listener.ora 中的hostname为你的hostname

lsnrctl start

 

 

查看监听端口

 

netstat -tnulp | grep 1521

 

 

10、创建数据库

vi  /db/app/oracle/product/11.2.0/assistants/dbca/dbca.rsp(这个是数据库的配置文件,实例名称、还有参数都在这里进行配置)

 

GDBNAME = "orcl"

SID = "orcl"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

SYSMANPASSWORD = "oracle"

DBSNMPPASSWORD = "oracle"

 

DATAFILEDESTINATION =/db/app/oracle/oradata

RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area

CHARACTERSET = "AL32UTF8"

TOTALMEMORY = "1638"

 

创建数据库(这一步创建数据库实例)

 

dbca -silent -responseFile  /db/app/oracle/product/11.2.0/assistants/dbca/dbca.rsp

 

 

查看oracle实例进程

 

ps -ef | grep ora_ | grep -v grep

 

 

 

查看监听状态

 

lsnrctl status

 

 

11、启动数据库实例

在cmd中设置set ORACLE_SID=orcl(跟刚才数据库配置文件中SID相同)

 

登录sqlplus,查看实例状态

 

sqlplus / as sysdba

 

 

 startup(如果没有启动过,需要先启动服务,启动时会去加载orcl实例对应的文件/db/app/oracle/product/11.2.0/dbs/initORCL.ora,这个文件是创建数据库的时候生成的

 

(如果报错:

ORA-00205: error in identifying control file, check alert log for more info,

则是因为找不到控制文件,可以查看日志/db/app/oracle/diag/rdbms/orcl/ORCL/trace中的alert*log查看具体原因,一般是控制文件找不到,就需要修改当前控制文件路径,在/db/app/oracle/product/11.2.0/dbs/initORCL.ora中修改,控制文件是在创建数据库时生成的,以ctl结尾,比如这里控制文件位置为/db/app/oracle/oradata/orcl/control01.ctl

 

12、查看数据库信息

select status from v$instance;

 

 

查看数据库编码

 

select userenv('language') from dual;

 

 

 

查看数据库版本信息

 

select * from v$version;

 

 

 

激活scott用户

 

alter user scott account unlock;

 

alter user scott identified by tiger;

 

select username,account_status from all_users;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值