百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

CentOS Linux 7.4下静默安装Oracle 11gR2

mhr18 2024-09-17 23:24 15 浏览 0 评论

一、实验环境

操作系统:CentOS Linux 7.4

Oracle数据库版本:11.2.0.1.0

虚拟机配置:2vCPU、8GB MEM、100GB系统盘,100GB数据盘

二、准备工作

1、软件包需求

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC

2、创建用户和组

 groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
echo oracle | passwd --stdin oracle

3、配置oracle安装所有者的shell 限制

 cp /etc/security/limits.conf /etc/security/limits.conf.bak`date +%Y%m%d`
cat >> /etc/security/limits.conf << EOF
#oracle shell limit
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
EOF

要使limits.conf文件配置生效,必须确保pam_limits.so文件被加入到启动文件中

cp /etc/pam.d/login /etc/pam.d/login.bak`date +%Y%m%d`
cat >> /etc/pam.d/login << EOF
#ORACLE SETTING
session required pam_limits.so
EOF

4、修改内核参数

 cp /etc/sysctl.conf /etc/sysctl.conf.bak`date +%Y%m%d`
cat >> /etc/sysctl.conf << EOF
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
EOF
#即时生效
/sbin/sysctl -p
#列出所有配置
/sbin/sysctl -a

5、配置基本环境变量

 cat >> /etc/profile.d/oracle.sh <<EOF
#ORACLE SETTING
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
EOF

6、创建目录

mkdir -p /data/oracle/oracle
mkdir -p /data/oracle/oraInventory
chown -R oracle:oinstall /data/oracle/
chmod -R 775 /data/oracle/

7、配置Oracle用户环境变量

cp /home/oracle/.bash_profile /home/oracle/.bash_profile.bak`date +%Y%m%d`
cat >> /home/oracle/.bash_profile << EOF
#Oracle Settings
export ORACLE_BASE=/data/oracle/oracle;
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1;
export ORACLE_SID=ocrl;
export PATH=\$ORACLE_HOME/bin:\$PATH;
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib;
export ORACLE_OWNER=oracle
export ORACLE_UNQNAME=\$ORACLE_SID
EOF
source /home/oracle/.bash_profile

8、Oracle安装包准备

上传并解压

cd /opt/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

修改安装目录权限

chown -R oracle:oinstall /opt/database/
ll -d /opt/database/

三、开始安装

1、oracle用户登录

打开另外一个终端,用oracle用户登录

2、初步处理应答文件

2.1 先备份原应答文件

cd /opt/database/response
mkdir rspbak
cp *.rsp ./rspbak

2.2 删除应答文件中的注释行(以#开头)

sed -i 's/^#.*$//g' *.rsp

2.3 刪除沒有內容的空行(^$)

 sed -i '/^$/d' *.rsp

3、静默安装软件

3.1 编辑db_install.rsp文件

[root@oracle response]# cat db_install.rsp 
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY #修改
ORACLE_HOSTNAME=oracle #修改
UNIX_GROUP_NAME=oinstall #修改
INVENTORY_LOCATION=/data/oracle/oraInventory #修改
SELECTED_LANGUAGES=en,zh_CN #修改
ORACLE_HOME=/data/oracle/oracle/product/11.2.0/db_1 #修改
ORACLE_BASE=/data/oracle/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=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.starterdb.characterSet=ZHS16GBK #修改
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
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=
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 #修改
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
[root@oracle response]# 

3.2 执行静默数据库软件安装命令

 cd /opt/database/
./runInstaller -force -silent -noconfig -responseFile /opt/database/response/db_install.rsp 

执行结果:

 [oracle@oracle database]$ ./runInstaller -silent -noconfig -responseFile /opt/database/response/db_install.rsp -ignorePrereq
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 29560 MB Passed
Checking swap space: must be greater than 150 MB. Actual 2047 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-10-21_01-52-11AM. Please wait ...[oracle@oracle database]$ You can find the log of this install session at:
 /data/oracle/oraInventory/logs/installActions2018-10-21_01-52-11AM.log
The following configuration scripts need to be executed as the "root" user. 
 #!/bin/sh 
 #Root scripts to run
/data/oracle/oraInventory/orainstRoot.sh
/data/oracle/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
 1. Open a terminal window 
 2. Log in as "root" 
 3. Run the scripts 
 4. Return to this window and hit "Enter" key to continue 
Successfully Setup Software.
[oracle@oracle database]$ 

3.3 登录root,执行上面两个脚本

 [root@oracle opt]# cd /data/oracle/oraInventory
[root@oracle oraInventory]# ./orainstRoot.sh
Changing permissions of /data/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /data/oracle/oraInventory to oinstall.
The execution of the script is complete.
[root@oracle oraInventory]# cd /data/oracle/oracle/product/11.2.0/db_1/
[root@oracle db_1]# ./root.sh 
Check /data/oracle/oracle/product/11.2.0/db_1/install/root_oracle_2018-10-21_02-40-12.log for the output of root script

4、静默安装监听

4.1 编辑netca.rsp文件(保持默认)

 [oracle@oracle response]$ cat netca.rsp 
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

4.2 静默创建监听

 [oracle@oracle response]$ /data/oracle/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /opt/database/response/netca.rsp 
Parsing command line arguments:
 Parameter "silent" = true
 Parameter "responsefile" = /opt/database/response/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
 Running Listener Control: 
 /data/oracle/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
 Listener Control complete.
 Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

5、静默创建oracle数据库

5.1 编辑dbca.rsp文件

 [oracle@oracle response]$ cat dbca.rsp 
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl" #修改
SID = "orcl" #修改
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle" #修改
SYSTEMPASSWORD = "oracle" #修改
EMCONFIGURATION = "LOCAL" #修改
SYSMANPASSWORD = "oracle" #修改
DBSNMPPASSWORD = "oracle" #修改
CHARACTERSET = "ZHS16GBK" #修改
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
SYSDBAUSERNAME = "sys"
[oracle@oracle response]$ 

5.2 执行静默安装数据库命令

 [oracle@oracle response]$ dbca -silent -responseFile /opt/database/response/dbca.rsp 
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/data/oracle/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.

四、简单测试

1、检查监听状态

 [oracle@oracle ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-OCT-2018 03:09:07
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 21-OCT-2018 02:42:45
Uptime 0 days 0 hr. 26 min. 21 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /data/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /data/oracle/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

2、检查Oracle进程

 [oracle@oracle ~]$ ps -ef |grep ora_ |grep -v grep
oracle 15028 1 0 02:58 ? 00:00:00 ora_pmon_orcl
oracle 15030 1 0 02:58 ? 00:00:01 ora_vktm_orcl
oracle 15034 1 0 02:58 ? 00:00:00 ora_gen0_orcl
oracle 15036 1 0 02:58 ? 00:00:00 ora_diag_orcl
oracle 15038 1 0 02:58 ? 00:00:00 ora_dbrm_orcl
oracle 15040 1 0 02:58 ? 00:00:00 ora_psp0_orcl
oracle 15042 1 0 02:58 ? 00:00:00 ora_dia0_orcl
oracle 15044 1 0 02:58 ? 00:00:01 ora_mman_orcl
oracle 15046 1 0 02:58 ? 00:00:00 ora_dbw0_orcl
oracle 15048 1 0 02:58 ? 00:00:00 ora_lgwr_orcl
oracle 15050 1 0 02:58 ? 00:00:00 ora_ckpt_orcl
oracle 15052 1 0 02:58 ? 00:00:00 ora_smon_orcl
oracle 15054 1 0 02:58 ? 00:00:00 ora_reco_orcl
oracle 15056 1 0 02:58 ? 00:00:00 ora_mmon_orcl
oracle 15058 1 0 02:58 ? 00:00:00 ora_mmnl_orcl
oracle 15060 1 0 02:58 ? 00:00:00 ora_d000_orcl
oracle 15062 1 0 02:58 ? 00:00:00 ora_s000_orcl
oracle 15160 1 0 02:58 ? 00:00:00 ora_qmnc_orcl
oracle 15174 1 0 02:58 ? 00:00:00 ora_cjq0_orcl
oracle 15289 1 0 02:58 ? 00:00:00 ora_q000_orcl
oracle 15291 1 0 02:58 ? 00:00:00 ora_q001_orcl
oracle 15297 1 0 02:59 ? 00:00:00 ora_smco_orcl
oracle 15299 1 0 02:59 ? 00:00:00 ora_w000_orcl
oracle 23718 1 3 03:11 ? 00:00:00 ora_j000_orcl
oracle 23720 1 0 03:11 ? 00:00:00 ora_j001_orcl

3、sqlplus连接测试

 [oracle@oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 21 04:22:38 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> 

五、配置Oracle开机启动

1、编辑oratab文件

编辑 /etc/oratab ,将N改为Y

 [oracle@oracle ~]$ cat /etc/oratab 
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#orcl:/data/oracle/oracle/product/11.2.0/db_1:N
orcl:/data/oracle/oracle/product/11.2.0/db_1:Y

2、创建oracle启动脚本

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

 #!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/data/oracle/oracle/product/11.2.0/db_1 #修改
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
 echo "Oracle startup: cannot start"
 exit
fi
case "$1" in
'start')
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"
# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;
'restart')
$0 stop
$0 start
;;
esac

3、配置脚本可执行权限

 [root@oracle ~]# chmod a+x /etc/init.d/oracle 
[root@oracle ~]# ll /etc/init.d/oracle 
-rwxr-xr-x. 1 root root 2504 Oct 21 04:42 /etc/init.d/oracle

4、添加启动服务

 [root@oracle ~]# chkconfig oracle on
[root@oracle ~]# chkconfig --list | grep oracle
oracle 0:off 1:off 2:on 3:on 4:on 5:on 6:off# chkconfig --level 35 oracle on

5、使用方法

 # service oracle start //启动oracle
# service oracle stop //关闭oracle
# service oracle restart //重启oracle

6、测试启动效果

6.1 关闭数据库

 SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

6.2 以root登录,执行 service oracle start

 [root@oracle ~]# service oracle start
Starting Oracle Databases ... 
Done
Starting Oracle Listeners ... 
Done.

6.3 检查数据库是否运行、监听是否正常

 [oracle@oracle ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-OCT-2018 04:55:55
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 21-OCT-2018 02:42:45
Uptime 0 days 2 hr. 13 min. 9 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /data/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /data/oracle/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@oracle ~]$ sqlplus / as sysdba
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first # oracle已在运行

6.4 以root登录,执行 service oracle stop

 [root@oracle ~]# service oracle stop
Stoping Oracle Listeners ... 
Done.
Stoping Oracle Databases ... 
Done.

6.5 检查监听和数据库都已关闭

 [oracle@oracle ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-OCT-2018 05:00:04
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 Linux Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 Linux Error: 111: Connection refused
 [oracle@oracle ~]$ sqlplus / as sysdba
SQL> shutdown immediate
ORA-01034: ORACLE not available # oracle处于关闭状态
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

相关推荐

B站收藏视频失效?mybili 收藏夹备份神器完整部署指南

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:羊刀仙很多B站用户都有过类似经历:自己精心收藏的视频突然“消失”,点开一看不是“已被删除”,就是“因UP主设置不可见”。而B站并不会主动通知...

中间件推荐初始化配置

Redis推荐初始化配置bind0.0.0.0protected-modeyesport6379tcp-backlog511timeout300tcp-keepalive300...

Redis中缓存穿透问题与解决方法

缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...

后端开发必看!Redis 哨兵机制如何保障系统高可用?

你是否曾在项目中遇到过Redis主服务器突然宕机,导致整个业务系统出现数据读取异常、响应延迟甚至服务中断的情况?面对这样的突发状况,作为互联网大厂的后端开发人员,如何快速恢复服务、保障系统的高可用...

Redis合集-大Key处理建议

以下是Redis大Key问题的全流程解决方案,涵盖检测、处理、优化及预防策略,结合代码示例和最佳实践:一、大Key的定义与风险1.大Key判定标准数据类型大Key阈值风险场景S...

深入解析跳跃表:Redis里的&quot;老六&quot;数据结构,专治各种不服

大家好,我是你们的码农段子手,今天要给大家讲一个Redis世界里最会"跳科目三"的数据结构——跳跃表(SkipList)。这货表面上是个青铜,实际上是个王者,连红黑树见了都要喊声大哥。...

Redis 中 AOF 持久化技术原理全解析,看完你就懂了!

你在使用Redis的过程中,有没有担心过数据丢失的问题?尤其是在服务器突然宕机、意外断电等情况发生时,那些还没来得及持久化的数据,是不是让你夜不能寐?别担心,Redis的AOF持久化技术就是...

Redis合集-必备的几款运维工具

Redis在应用Redis时,经常会面临的运维工作,包括Redis的运行状态监控,数据迁移,主从集群、切片集群的部署和运维。接下来,从这三个方面,介绍一些工具。先来学习下监控Redis实时...

别再纠结线程池大小 + 线程数量了,没有固定公式的!

我们在百度上能很轻易地搜索到以下线程池设置大小的理论:在一台服务器上我们按照以下设置CPU密集型的程序-核心数+1I/O密集型的程序-核心数*2你不会真的按照这个理论来设置线程池的...

网络编程—IO多路复用详解

假如你想了解IO多路复用,那本文或许可以帮助你本文的最大目的就是想要把select、epoll在执行过程中干了什么叙述出来,所以具体的代码不会涉及,毕竟不同语言的接口有所区别。基础知识IO多路复用涉及...

5分钟学会C/C++多线程编程进程和线程

前言对线程有基本的理解简单的C++面向过程编程能力创造单个简单的线程。创造单个带参数的线程。如何等待线程结束。创造多个线程,并使用互斥量来防止资源抢占。会使用之后,直接跳到“汇总”,复制模板来用就行...

尽情阅读,技术进阶,详解mmap的原理

1.一句话概括mmapmmap的作用,在应用这一层,是让你把文件的某一段,当作内存一样来访问。将文件映射到物理内存,将进程虚拟空间映射到那块内存。这样,进程不仅能像访问内存一样读写文件,多个进程...

C++11多线程知识点总结

一、多线程的基本概念1、进程与线程的区别和联系进程:进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程;线程:是运行中的实际的任务执行者。可以说,进程中包含了多...

微服务高可用的2个关键技巧,你一定用得上

概述上一篇文章讲了一个朋友公司使用SpringCloud架构遇到问题的一个真实案例,虽然不是什么大的技术问题,但如果对一些东西理解的不深刻,还真会犯一些错误。这篇文章我们来聊聊在微服务架构中,到底如...

Java线程间如何共享与传递数据

1、背景在日常SpringBoot应用或者Java应用开发中,使用多线程编程有很多好处,比如可以同时处理多个任务,提高程序的并发性;可以充分利用计算机的多核处理器,使得程序能够更好地利用计算机的资源,...

取消回复欢迎 发表评论: