Study--Oracle-01-单实例部署Oracle11G-R2

2024-05-07 15:12

本文主要是介绍Study--Oracle-01-单实例部署Oracle11G-R2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Oracle版本发布介绍

Oracle 19c和12c和11g功能区别_数据库_oracle_支持

一、CentOS 7 环境准备

1、软件准备

操作系统:CentOS  7

数据库版本: Oracle11g R2

2、操作系统环境配置

关闭selinux ,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled

关闭防火墙

查看防火墙状态:systemctl status firewalld

停止防火墙:systemctl stop firewalld

关闭开机自启动防火墙服务:systemctl disable firewalld

安装Oracle 11g依赖包

注意:如果没有联网就设置本地YUM源,不建议使用rpm包安装,太麻烦了。

yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel

添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中;

注意:如果系统中存在,一定要删除重建

[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle

[root@oracle ~]# passwd oracle

修改内核参数:编辑 /etc/sysctl.conf

[root@oracle ~]# cat  /etc/sysctl.conf | grep -v "#"
io-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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
[root@oracle ~]#sysctl -p 

 修改用户的限制文件,编辑 /etc/security/limits.conf

[root@oracle ~]# cat  /etc/security/limits.conf | grep ora
oracle           soft    nproc           20470
oracle           hard    nproc           16384
oracle           soft    nofile          10240
oracle           hard    nofile          65536
oracle           soft    stack           10240
[root@oracle ~]#

#注意生产环境建议更改大一点

/etc/security/limits.conf 详解与配置-CSDN博客

修改/etc/pam.d/login文件,添加:

session  required   /lib64/security/pam_limits.so
session  required   pam_limits.so

Linux系统的PAM模块认证文件含义说明总结-CSDN博客

修改/etc/profile文件:

[root@oracle ~]# 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 /u01/app/oracle/product/11.2.0
[root@oracle ~]# mkdir -p /u01/app/oracle/oradata
[root@oracle ~]# mkdir -p /u01/app/oracle/inventory
[root@oracle ~]# mkdir -p /u01/app/oracle/fast_recovery_area
[root@oracle ~]# chown -R oracle:oinstall /u01/app/oracle
[root@oracle ~]# chmod -R 775 /u01/app/oracle

修改tmpfs文件

避免发生ORA-00845: MEMORY_TARGET not supported on this system

[root@oracle ~]# cat  /etc/fstab | grep tmpfs
tmpfs                                    /dev/shm                 tmpfs   defaults,size=4G 0 0
重新挂载
 umount /dev/shm
 mount   /dev/shm
 查看修改后的大小
 df -h /dev/shm

linux下修改/dev/shm tmpfs文件系统大小_tmpfs 文件系统大小-CSDN博客ORA-00845: MEMORY_TARGET not supported on this system-CSDN博客

二、Oracle 11g 静默安装步骤

1、上传数据库软件,并解压

[root@oracle tmp]# ls -ld linux.x64_11gR2_database_*
-rw-r--r-- 1 root root 1239269270 May  3 07:35 linux.x64_11gR2_database_1of2.zip
-rw-r--r-- 1 root root 1111416131 May  3 07:34 linux.x64_11gR2_database_2of2.zip

[root@oracle tmp]# unzip linux.x64_11gR2_database_1of2.zip 
[root@oracle tmp]# unzip linux.x64_11gR2_database_2of2.zip 

[root@oracle tmp]# ls -dl database
drwxr-xr-x 8 root root 128 Aug 20  2009 database

2、切换到oracle用户,设置oracle用户环境变量

解决bash提示字符bash-4.2#的问题

-bash-4.1$ cp /etc/skel/.bash* ~         //拷贝文件至宿主目录下
bash-4.2#   source ~/.bashrc                   //利用source将配置文件内容读取至当前的shell环境

[oracle@oracle ~]$ cat  .bash_profile
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
[oracle@oracle ~]$ 

3、编辑静默安装响应文件

切换到root 用户进入oracle安装包解压后的目录

[root@oracle ~]# cd /tmp/database/response/ 
[root@oracle response]# cp db_install.rsp db_install.rsp.bak

[root@oracle response]# grep -v "#"  db_install.rsp | grep -v "^$"
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=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_BASE=/u01/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=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1000
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 
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
[root@oracle response]# 

关键参数注解
oracle.install.option=INSTALL_DB_SWONLY  #安装选项
ORACLE_HOSTNAME=centos7    #命令hostname查看
UNIX_GROUP_NAME=oinstall    #主组
INVENTORY_LOCATION=/data/oraInventory
SELECTED_LANGUAGES=en,zh_CN 
ORACLE_HOME=/data/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE    #版本
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba   #admin管理组名
oracle.install.db.OPER_GROUP=dba   #oper操作员组名
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.memoryLimit=800      #根据自己设定的物理内存设置,一般为物理内存的40%-60%
oracle.install.db.config.starterdb.password.ALL=123456   #设置所有用户密码,方便后面更改。
DECLINE_SECURITY_UPDATES=true

4、根据修改的响应文件安装oracle 11g 

注意:执行安装前最好重启一下主机,检查环境变量及存储挂载情况

切换至oracle用户执行

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

检查安装日志文件,如出现 FATAL  字段证明安装有问题,需要解决

[root@oracle ~]# grep  FATAL   /u01/app/oracle/inventory/logs/installActions2024-05-06_04-44-20AM.log

出现如下内容,进行下一步操作,安装提示使用root用户执行脚本

检查日志

三、配置监听器

1、备份监听配置文件

[root@oracle response]# cd /tmp/database/response
[root@oracle response]# cp netca.rsp netca.rsp.bak

vi response/netca.rsp

#默认不用修改

INSTALL_TYPE=""typical""安装的类型
LISTENER_NUMBER=1监听器数量
LISTENER_NAMES={"LISTENER"}监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"}监听器使用的通讯协议列表
LISTENER_START=""LISTENER""监听器启动的名称
 

2、切换Oracle用户下执行

[oracle@oracle database]$ $ORACLE_HOME/bin/netca /silent /responseFile /tmp/database/response/netca.rsp

出现下图情况时,则需要配置DISPLAY变量,配完之后重新netca

[oracle@oracle database]$ export DISPLAY=localhost:0.0

[oracle@oracle database]$ $ORACLE_HOME/bin/netca /silent /responseFile /tmp/database/response/netca.rsp
命令成功运行后,会在/u01/app/oracle/product/11.2.0/network/admin/ 中生成
listener.ora和sqlnet.ora两个文件。

[oracle@oracle admin]$  netstat -tnulp | grep 1521

四、建立新库,同时建立对应的实例

1、备份并修改 dbca.rsp文件2

 [root@oracle response]# cd /tmp/database/response/
 [root@oracle response]# cp dbca.rsp dbca.rsp.bak

[oracle@oracle response]$  grep -v "#" dbca.rsp | grep -v "^$"
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET= "UTF8"
TOTALMEMORY = "1000"
[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]
DBSNMPPASSWORD = "oracle"
[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]$ 

关键参数注解

[CREATEDATABASE]                    //仅修改此部分即可,可按照实际需求调整
GDBNAME="oadb.template"             //全局数据库的名字=SID+主机域名
SID="oadb"                          //SID
CHARACTERSET="AL32UTF8"             //编码
NATIONALCHARACTERSET="UTF8"         //编码 
DATAFILEDESTINATION=$ORACLE_BASE/oradata  //数据文件路径,默认为$ORACLE_BASE/oradata

 2、切换至oracle进行静默安装

 [oracle@oracle ~]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp

五、完成建库后进行实例检查 

1、检查数据库进程

[oracle@oracle response]$ ps -ef | grep ora_ | grep -v grep

2、查看监听状态

[oracle@oracle response]$  lsnrctl status

3、登录数据库查看实例状态

[oracle@oracle ~]$ sqlplus / as sysdba

执行如下SQL查看数据库状态

-- 查看数据库版本

SQL>  select * from v$version;

--查看数据库实例状态

SQL> select status from v$instance;

--查数据库名称

SQL> select name as database from v$database;

-- 查看日志目录

SQL> SELECT value AS log_file_path
  2  FROM V$DIAG_INFO
  3  WHERE name like 'Diag%';

LOG_FILE_PATH
--------------------------------------------------------------------------------
TRUE
/u01/app/oracle/diag/rdbms/orcl/orcl/trace
/u01/app/oracle/diag/rdbms/orcl/orcl/alert
/u01/app/oracle/diag/rdbms/orcl/orcl/incident
/u01/app/oracle/diag/rdbms/orcl/orcl/cdump

SQL> 

-------------------------------------------------安装完成-----------------------------------------------

CentOS7安装Oracle完整教程(超级详细,亲测完美)-CSDN博客

https://jingyan.baidu.com/article/90895e0f29c92164ec6b0bd1.html

linux静默安装oracle11g数据库教程-CSDN博客

六、Oracle客户端

1、Oracle客户端介绍

【oracle】oracle客户端及oracle连接工具-CSDN博客2

2、Oracle SQL Developer 连接到 Oracle 

使用 Oracle SQL Developer 连接到 Oracle Cloud Infrastructure 上的 Microsoft SQL Server 数据库

下载对应的版本

3、安装登录

安装数据库使用sys用户登录,角色选择sysdba

 

这篇关于Study--Oracle-01-单实例部署Oracle11G-R2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967712

相关文章

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-