基于Centos7系统Oracle静默安装教程 在VM中安装CentOS7

基于Centos7系统Oracle静默安装教程

在VM中安装CentOS7

 

 

注意:配置静态IP和主机名,并记录下ip地址

 

 

安装前准备

 

 

创建目录,并上传oracle安装文件

 

 

mkdir -p /yundata/software

 

 

关闭防火墙

 

 

systemctl stop firewalld

 

关闭自启动:

 

systemctl disable firewalld

 

 

关闭selinux

 

修改etcselinux/config文件

 

 

$ vi /etc/selinux/config

 

 

SELINUX修改为disable,如图:

 

 

 

  • 重启服务器

 

 

$ reboot -h

 

 

安装相关依赖包

 

 

yum -y install binutils compat-libstdc++-33 compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make elfutils-libelf-devel sysstat zip unzip libXext

 

 

设置/dev/shm空间

 

 

[root@oracle ~]# vi /etc/fstab

在fstab文件中追加如下内容:

shmfs                     /dev/shm            tmpfs   size=7g         0 0

[root@oracle ~]# mount -a

[root@oracle ~]# df -Th

 

显示如下:

 

Filesystem     Type      Size  Used Avail Use% Mounted on

/dev/vda1      ext4       59G  3.8G   53G   7% /

devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev

shmfs          tmpfs     7.0G     0  7.0G   0% /dev/shm

 

 

安装Oracle

创建相关用户

 

 

[root@oracle ~]# /usr/sbin/groupadd oinstall

[root@oracle ~]# /usr/sbin/groupadd dba

[root@oracle ~]# /usr/sbin/groupadd asmadmin

[root@oracle ~]# /usr/sbin/groupadd asmdba

[root@oracle ~]# /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

[root@oracle ~]# id oracle

 

显示如下:

 

uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba),1003(asmdba)

 

设置oracle用户密码,(此密码必须记住,以后有用)

 

[root@oracle ~]# passwd oracle

 

调整内核参数(编辑/etc/sysctl.conf,追加如下内容):

 

 

[root@oracle ~]# vi /etc/sysctl.conf

 

追加内容:

 

kernel.shmall = 2097152

kernel.shmmax = 4294967295

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6553600

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

 

配置生效:

 

[root@oracle ~]# sysctl -p

 

增加shell限制(编辑/etc/security/limits.conf,追加如下内容):

 

 

[root@oracle ~]# vi /etc/security/limits.conf

 

追加内容:

 

oracle   soft    nproc    2047

oracle   hard    nproc    16384

oracle   soft    nofile     1024

oracle   hard    nofile    65536

oracle   soft    stack    10240

oracle   hard   stack    10240

 

修改/etc/pam.d/login文件

 

 

vi /etc/pam.d/login

 

追加如下内容:

 

session   required    /lib64/security/pam_limits.so

session   required    pam_limits.so

 

修改/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

 

 

 

创建必要的目录,并修改权限:

 

 

[root@oracle ~]# mkdir -p /home/app/oracle/

[root@oracle ~]# chown -R oracle:oinstall /home/app/

[root@oracle ~]# chmod -R 755 /home/app/

[root@oracle ~]# chown -R oracle:oinstall /home/oracle

[root@oracle ~]# chmod -R 775 /home/oracle

 

配置/etc/hosts文件:

 

 

vi /etc/hosts

 

如下内容

 

192.168.26.128     oracle

 

 

配置oracle用户的环境变量:

 

 

[root@oracle ~]# su - oracle

[oracle@oracle ~]$ vi .bash_profile

#添加如下内容

export ORACLE_HOSTNAME=oracle

export ORACLE_UNQNAME=ora11g

export ORACLE_BASE=/home/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/

export ORACLE_SID=ORCL

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

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

export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export TMP=/tmp

export TMPDIR=$TMP

umask 022

 

执行生效命令:

 

source .bash_profile

 

 

修改目录权限:

 

切换回root用户:

 

su

 

执行命令

 

chown -R oracle /yundata/software/

 

退出root用户,回到oracle用户:

 

exit

 

 

 解压安装文件:

 

 

cd /yundata/software

 

解压

 

[oracle@oracle ~]$ unzip linux.x64_11gR2_database_1of2.zip

[oracle@oracle ~]$ unzip linux.x64_11gR2_database_2of2.zip

 

 

进入到database目录,并生成响应文件:

 

回到oraclehome目录

 

cd

 

创建目录

 

[oracle@oracle ~]$ mkdir scripts

[oracle@oracle ~]$ cp -R /yundata/software/database/response/ scripts/

[oracle@oracle response]$ cd scripts/response/

[oracle@oracle response]$ vi db_install.rsp

 

 

修改response目录中的db_install.rsp文件的参数:

 

 

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracle

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/home/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/home/app/oracle/product/11.2.0

ORACLE_BASE=/home/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=true

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_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.characterSet=ZHS16GBK

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

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

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

oracle.install.db.config.starterdb.password.ALL=qaz123QAZ123 ##记住

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

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

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

DECLINE_SECURITY_UPDATES=true

 

 

 

开始静默安装数据库软件:

 

切换目录

 

cd /yundata/software/database

 

执行如下命令

 

[oracle@oracle database]$ ./runInstaller -silent -responseFile /home/oracle/scripts/response/db_install.rsp -ignorePrereq

 

 

按操作说明执行脚本:

 

 

sh /home/app/oracle/oraInventory/orainstRoot.sh

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

 

 

配置静默监听:

 

 

[root@oracle response]# exit

[oracle@oracle response]$ cd

[oracle@oracle ~]$ export DISPLAY=10.66.90.222:0.0       #ip设为本机即可

[oracle@oracle ~]$ netca -silent -responsefile /home/oracle/scripts/response/netca.rsp

[oracle@oracle ~]$ netstat -tnlp  #查看1521端口开启

 

 

最后一步,静默建库。

 

修改response目录下的dbca.rsp文件:

 

cd /home/oracle/scripts/response

[oracle@oracle response]$ vi dbca.rsp

 

 

GDBNAME = "ORCL"

SID = "ORCL"

 

开始建库:

 

[oracle@oracle response]$ cd

[oracle@oracle ~]$ dbca -silent -responseFile  /home/oracle/scripts/response/dbca.rsp

 

 

启动oracle:

 

 

[oracle@oracle ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 2 21:53:11 2018

 

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

 

Connected to an idle instance.

 

SQL> startup;

ORACLE instance started.

 

Total System Global Area 3273641984 bytes

Fixed Size          2217792 bytes

Variable Size        1795164352 bytes

Database Buffers     1459617792 bytes

Redo Buffers           16642048 bytes

Database mounted.

Database opened.

 

 

问题:

 

1.如出现这样问题,重启服务器即可

 

SQL> startup;

ORACLE instance started.

 

Total System Global Area 3223535616 bytes

Fixed Size                  2217672 bytes

Variable Size            1761610040 bytes

Database Buffers         1442840576 bytes

Redo Buffers               16867328 bytes

ORA-01102: cannot mount database in EXCLUSIVE mode

 

 

测试sql

 

 

 

SQL> select status from v$instance;

 

STATUS

------------

OPEN

 

SQL> select userenv('language') from dual;

 

USERENV('LANGUAGE')

--------------------------------------------------------------------------------

AMERICAN_AMERICA.US7ASCII

 

SQL> select * from v$version;

 

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

PL/SQL Release 11.2.0.1.0 - Production

CORE    11.2.0.1.0      Production

TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

 

 

解锁scott用户

 

 

SQL> alter user scott account unlock;

 

User altered.

 

SQL> alter user scott identified by tiger;

 

User altered.

 

SQL> commit;

 

Commit complete.

 

SQL>

 

 

查看oracle监听:

 

 

netstat -tnlp #查看端口是否启动

 

 

 

配置Navicat客户端

 

scott用户

 

sys用户

 

 

忘记密码了

 

 

sqlplus / as sysdba

alter user system identified by manager;

alter user sys identified by change_on_install;

commit;

 

 

日常启动oracle命令

 

 

[root@oracle ~]# su - oracle

[oracle@oracle ~]$ lsnrctl start

[oracle@oracle ~]$ sqlplus / as sysdba

SQL> startup;

 

 

 

sqlplus scott/tiger@ORCL

 

 

配置windows下的sqlplus

SQL*Plus命令行工具无需执行exe安装,只需将下载回来的三个文件解压到同一个目录即可,解压后文件名应该为instantclient_11_2

 

 

instantclient-basic-windows.x64-11.2.0.4.0.zip

instantclient-sdk-windows.x64-11.2.0.4.0.zip

instantclient-sqlplus-windows.x64-11.2.0.4.0.zip

 

在运行工具之前我们需要在windows中配置以下环境变量,先右键计算机->属性->高级系统设置->环境变量,在系统变量中找到Path并在后面加上刚才解压后instantclient_11_2的目录与sdk子目录

 

 

C:\oracle\instantclient_11_2\;C:\oracle\instantclient_11_2\sdk;

 

 

再新增三个变量到系统环境中

 

 

TNS_ADMIN=C:\oracle\instantclient_11_2

NLS_LANG=AMERICAN_AMERICA.UTF8

oracle_sid=ORCL

 

 

新增用户变量

 

 

SQLPATH=C:\oracle\instantclient_11_2

 

 

测试连接

 

 

sqlplus scott/tiger@//192.168.10.128:1521/oraclewangjialei

sqlplus scott/tiger@//192.168.10.128:1521/ORCL

 

 

 

 

配置Mac下的sqlplus

下载3个文件。3个文件分别为“basic”,”SDK” 和 “sqlplus” ,[下载地址](https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html)   注意:必须是对应版本:11.2.0.40

 

 

创建/Users/zzxb/opt/oracle11g文件夹,并将下载的压缩包全部copy该目录:

 

 

sudo mkdir -p /Users/zzxb/opt/oracle11g

 

解压下载的文件到文件夹下:

 

 

sudo unzip ./instantclient-\*.zip

 

 

给解压文件创建别名:

 

 

sudo ln -s instantclient_11_2/ instantclient

 

 

给dylib文件创建别名,因为一些dylib 文件,在其名字中包含版本号。但是一些程序,例如SQL*Plus 不会去查找带有版本号的文件,所以我们需要为它们创建别名:

 

 

sudo ln -s libclntsh.dylib.11.1 libclntsh.dylib

sudo ln -s libocci.dylib.11.1 libocci.dylib

 

 

oracle client的配置

 

Mac当前的user下进行配置。修改 user .bash_profile. .bash_profile 文件中加入如下几行:

 

vi ~/.bash_profile

 

 

# oracle

export ORACLE_HOME=/Users/zzxb/opt/oracle11g/instantclient

export DYLD_LIBRARY_PATH=$ORACLE_HOME

export LD_LIBRARY_PATH=$ORACLE_HOME

export NLS_LANG=AMERICAN_AMERICA.UTF8

export TNS_ADMIN=$HOME/etc

export PATH=$PATH:$ORACLE_HOME

export ORACLE_SID=ORCL

export TWO_TASK=${ORACLE_SID}

 

 

source ~/.bash_profile

 

 

之后输入:sqlplus。如果有提示让输入username,表明安装成功。

 

想要连接到远程数据库,还需要额外的一步,即配置 tns_names.ora 文件

 

 

mkdir ~/etc

touch tnsnames.ora

 

配置tnsnames.ora

 

ORCL =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.77.170)(PORT = 1521))

   )

 (CONNECT_DATA =

   (SERVER = DEDICATED)

   (SERVICE_NAME = ORCL.fuful.com)

 )

)

 

注意:

service_name必须是由:

 

select value from v$parameter where name='service_names'

 

获得

 

  连接oracle 数据库,在terminal依次输入:

 

    1source~/.bash_profile

    2sqlplus

       (3) 输入username <用户名>@<connect_string>

     4)输入密码

例如:

 

sqlplus scott/tiger

 

 

在Navicat中配置tns模式下的连接

 

1.配置

 

2.填写连接信息

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值