linux静默安装oracle11g数据库教程

Linux CentOS7.9静默安装Oracle11gR

一、官方最低要求配置

内存:1G(官方最低要求1G)

硬盘:40G(企业版安装所需4.29G和1.7G数据文件)

二、准备工作

1、安装环境介绍

系统:CentOS 7.5 64位

Oracle版本:Oracle 11gR2

2、下载Oracle安装文件
官网下载地址

小编下载地址
Oracle
vm+xsheel+xftp 含注册码
centOs文件

下载出来是这样两个压缩包:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

3、检查系统版本
uname - m   # 检查

在这里插入图片描述

cat /etc/redhat-release

在这里插入图片描述

4、修改主机名

sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network

hostname oracledb

5、添加主机名与IP对应记录

yum -y install vim # 安装vim,如已安装请忽略

vim /etc/hosts # 编辑 hosts

linux静默安装oracle11g数据库教程_第1张图片

6、关闭Selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 

setenforce 0

在这里插入图片描述

7、创建用户和组

创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户

groupadd -g 200 oinstall

groupadd -g 201 dba

useradd -u 440 -g oinstall -G dba oracle #(主组oinstall,其它组:dba)

passwd oracle   #(P)

linux静默安装oracle11g数据库教程_第2张图片

8、修改内核参数

vim /etc/sysctl.conf  # 编辑 sysctl.conf,末尾处添加下面的参数
net.ipv4.ip_local_port_range= 9000 65500

fs.file-max = 6815744

kernel.shmall = 10523004

kernel.shmmax = 6465333657

kernel.shmmni = 4096

kernel.sem = 250 32000 100128

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_max=1048576

fs.aio-max-nr = 1048576

保存并退出

sysctl -p  # 使配置生效

linux静默安装oracle11g数据库教程_第3张图片
9、修改系统资源限制

vim /etc/security/limits.conf # 编辑 limits.conf,末尾处添加下面的参数
oracle  soft  nproc  2047

oracle  hard  nproc  16384

oracle  soft  nofile  1024

oracle  hard  nofile  65536

linux静默安装oracle11g数据库教程_第4张图片
10、修改用户验证选项

vim /etc/pam.d/login

找到这一行:session required pam_namespace.so ,在其下一行添加一条pam_limits.so

session    required     pam_limits.so

linux静默安装oracle11g数据库教程_第5张图片

11、创建安装目录并分配权限

mkdir -p /opt/app/oracle/ 

chmod 755 /opt/app/oracle/ 

chown oracle.oinstall -R /opt/app/oracle/

在这里插入图片描述
12.设置Oracle环境变量
建议用ssh工具,开两个窗口,分别登录root用户和oracle用户,避免来回切换用户

su - oracle # 切换到 oracle 用户

vim ~/.bash_profile # 编辑

注释掉最后两行,在末尾添加如下参数`

export ORACLE_BASE=/opt/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export ORACLE_SID=orcl

export ORACLE_PID=ora11g

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

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

linux静默安装oracle11g数据库教程_第6张图片
使配置生效

source ~/.bash_profile # 使配置立即生效

env | grep ORA # 查看环境变量是否完成

linux静默安装oracle11g数据库教程_第7张图片
三、安装及配置

切换到 root 用户,使用yum -y install 进行安装

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

1、检查是否全部已经安装,没安装的单独进行安装

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

2、安装Oracle

yum -y install unzip # 安装unzip,如已安装请忽略

将下载的Oracle压缩包放入/opt目录下(使用 FTP 工具或者直接在 CentOS 进行下载,下载地址开头有讲),在/opt目录下进行解压

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

解压后进入 database 目录,该目录下有三个 .rsp 文件,用来作为静默安装时的应答文件的模板。三个文件作用分别是:

db_install.rsp:安装应答

dbca.rsp:创建数据库应答

netca.rsp:建立监听、本地服务名等网络设置的应答

cd /opt/database/response # 进入 response 目录
cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错

然后修改静默安装的配置文件

进入 Oracle 用户

vim db_install.rsp # 编辑

按照下方的参数进行修改,需要修改的地方标红了
少了两个配置 会导致安装失败 报错 The File Location location was empty 加上下面两个配置

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/data/oracle/fast_recovery_area

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracledb

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/opt/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1

ORACLE_BASE=/opt/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

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

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

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1500

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES=true    //一定要设为 true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

保存并退出

less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$" # 查看配置

如果出现下图错误,可参照 https://www.cnblogs.com/a9999/p/6957280.html 解决,然后重新执行安装命令

[WARING]可暂时忽略,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。

安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志

tail -f 日志文件(下图中红色框中为日志文件绝对路径)

当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本

sh /opt/app/oracle/oraInventory/orainstRoot.sh

sh /opt/app/oracle/product/11.2.0/db_1/root.sh

四、配置监听程序

监听命令

启动监听:lsnrctl start

停止监听:lsnrctl stop

重启监听:lsnrctl reload

查看监听:lsnrctl status

1、配置监听(使用oracle用户)

su - oracle # 切换到 oracle 用户

$ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp # 配置监听

2、查看监听(使用oracle用户)

snrctl status # 查看舰艇状态

3、静默dbca建库

su - root # 切换到 root 用户

vim /opt/database/response/dbca.rsp
修改如下内容:

复制代码
GDBNAME = “orcl” # 78 行

SID=“orcl” # 149行

CHARACTERSET=“AL32UTF8” # 415行

NATIONALCHARACTERSET=“UTF8” # 425行
复制代码
保存并退出

静默dbca建库

su - oracle # 切换到 oracle 用户

$ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建库
执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码,回车,再输入一次,再回车。

稍等一会,会开始自动创建

4、启动数据库

复制代码
[oracle@oracledb ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015

Copyright © 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> start

SP2-1506: START, @ or @@ command has no arguments

SQL> startup

ORACLE instance started.

Total System Global Area 3290345472 bytes

Fixed Size 2217832 bytes

Variable Size 1795164312 bytes

Database Buffers 1476395008 bytes

Redo Buffers 16568320 bytes

Database mounted.

Database opened.

SQL>
复制代码
使用 show parameter;或者 select table_name from dba_tables 看看是否正常

5、配置开机自动启动监听、启动Oracle

su - root # 切换到 root 用户

vim /etc/oratab # 编辑
其中:

*:/home/oracle/oracle92:N

这一行中 * 改为数据库的SID orcl, 第三段的N改为Y

改后如下:

orcl:/home/oracle/oracle92:Y 务必是大写的Y
保存并退出

vim /etc/rc.local # 编辑
在文件末尾增加如下内容

su - oracle -c ‘dbstart’
su - oracle -c ‘lsnrctl start’
保存并退出

chmod +x /etc/rc.local # 配置文件权限
其实开机自动以 oracle 用户执行上面两个命令啦

6、开放1521端口(远程连接Oracle所需)

查看端口是否开放:firewall-cmd --query-port=1521/tcp

永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp

重启防火墙: systemctl restart firewalld.service

查看防火墙状态

systemctl status firewalld.service

备注:启动 | 关闭 | 重启 防火墙

systemctl [start | stop | restart] firewalld.service

如果数据库报如下:
sqlplus / as sysdba报错ORA-01017: invalid username/password; logon denie
则需修改密码 并且登录就可以正常使用了

[oracle@vm-100-11-17-55 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Sun Feb 11 14:04:03 2018

Copyright (c) 1982, 2011, Oracle. All rights reserved.

SQL> conn /as sysdba;

Connected.

2.连接成功后,输入“select username from dba_users”查看用户列表

SQL> select username from dba_users;USERNAME ------------------------------

LIUXIANZHAO

SNPRE

SNUAT

MAMMONUAT

BAITIAOUAT

ACCOUNTUAT

INSURANCEUAT

LOANUAT

GFSMBUAT

COMPANYUAT

FUNDUAT

11 rows selected.

3.若修改某一个用户密码, 修改用户口令 格式为:

alter user 用户名 identified by 新密码;(以companyuat为例,密码修改为 companyuat)

SQL> alter user companyuat identified by companyuat;

User altered.

4.若用户被锁定,解锁用户的锁定状态

SQL> ALTER USER companyuat ACCOUNT UNLOCK;

User altered.

常用命令:查看Oracle数据库中的所有用户名

查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system

select * from dba_users;

查看你能管理的所有用户!

select * from all_users;

查看当前用户信息 !

select * from user_users;

查询你 当前用户下,有哪些表

SELECT * FROM user_tables

查询你 当前用户下, 可以访问哪些表 [也就是访问自己 和 其他用户的]

SELECT * FROM all_tables

查询当前数据库所有的表, 需要你有 DBA 的权限 SELECT * FROM dba_tables


你可能感兴趣的:(数据库,linux,oracle)