CentrOS7静默安装oracle11g

2022-12-01 08:53:31 浏览数 (1)

最近要做一个用ogg实现oracle到kafka的增量数据实时同步,但是Oracle就让我装了好久,这里来记录一下安装oracle过程。

1.建立swap分区

  • 创建充当swap分区的文件,文件大小就是要增加的swap大小,of是文件位置,bs为单位,count为设置的大小2048*1024 dd if=/dev/zero of=/home/swap bs=1024 count=2097152
  • 格式化交换分区文件 mkswap /home/swap
  • 给分区文件设置下权限:0600 chmod 0600 /home/swap
  • 启动交换分区文件 swapon /home/swap
  • !!!如果提示设备或资源忙,先执行 swapoff /home/swap
  • 然后设置开机自启,编辑/etc/fstab追加: /home/swap swap swap defaults 0 0

2、创建用户和用户组

  • 创建用户组oinstall groupadd oinstall
  • 创建用户组dba groupadd dba
  • 创建oracle用户,并加入到oinstall和dba用户组 useradd -g oinstall -G dba -m oracle
  • 查询用户组是否授权成功groups oracle
  • 设置用户oracle的登陆密码passwd oracle
  • 查看新建的oracle用户id oracle

3、创建安装目录和权限

  • oracle数据库安装目录mkdir -p /data/oracle
  • oracle数据库配置文件目录mkdir -p /data/oraInventory
  • oracle数据库软件包解压目录mkdir -p /data/database
  • 创建完毕检查一下cd /datall
  • 设置目录所有者为oinstall用户组的oracle用户
代码语言:javascript复制
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database

4、关闭selinux

  • sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
  • 使修改立即生效 setenforce 0

5、修改OS系统标识

  • vi /etc/redhat-release
  • 注释或删除掉第一行添加redhat-7

6.修改内核参数

  • vi /etc/sysctl.conf 增加如下内容:
代码语言:javascript复制
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
#设置最大打开文件数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
#共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 2097152
#最大共享内存的段大小
kernel.shmmax = 2147483648
#整个系统共享内存端的最大数
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#可使用的IPv4端口范围
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
  • sysctl -p 文件生效

7、限制oracle用户的shell权限

  • vi /etc/security/limits.conf 增加如下内容:
代码语言:javascript复制
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

8、安装rpm包

  • 使用yum -y install命令安装
代码语言:javascript复制
yum -y install gcc gcc-c   make binutils compat-libstdc  -33 glibc glibc-devel libaio libaio-devel libgcc libstdc   libstdc  -devel libXtst sysstat ksh make libXi compat-libcap1
  • rpm -qa | grep * 可以检测是否安装成功

9、配置oracle用户的环境变量

  • vi /home/oracle/.bash_profile
代码语言:javascript复制
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#oracle启动数据库实例名
export ORACLE_SID=orcl11g
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
  • source /home/oracle/.bash_profile

10、上传和解压两个安装文件到对应的文件夹下

  • unzip /opt/soft/linux.x64_11gR2_database_1of2.zip -d /data/database/
  • unzip /opt/soft/linux.x64_11gR2_database_2of2.zip -d /data/database/

11、修改主机名字

  • vi /etc/cloud/cloud.cfg
  • 将preserve_hostname: false修改为preserve_hostname: true
  • hostnamectl set-hostname 主机名
  • reboot重启系统生效

12、修改安装配置信息

  • 编辑数据库安装文件db_install.rspvim /data/database/database/db_install.rsp
代码语言:javascript复制
20 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
29 oracle.install.option=INSTALL_DB_SWONLY #安装类型
37 ORACLE_HOSTNAME=Carlota #主机名称,填自己的
42 UNIX_GROUP_NAME=oinstall #安装组
47 INVENTORY_LOCATION=/opt/oracle/inventory #INVENTORY目录
78 SELECTED_LANGUAGES=en,zh_CN #选择语言
83 ORACLE_HOME=/opt/oracle/product/112010/db_1 #oracle_home
88 ORACLE_BASE=/opt/oracle #oracle_base
99 oracle.install.db.InstallEdition=EE ##oracle版本
108 oracle.install.db.isCustomInstall=true
142 oracle.install.db.DBA_GROUP=dba #dba用户组
147 oracle.install.db.OPER_GROUP=dba #oper用户组
160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #数据库类型
165 oracle.install.db.config.starterdb.globalDBName=orcl #globalDBName
170 oracle.install.db.config.starterdb.SID=orcl #SID
200 oracle.install.db.config.starterdb.memoryLimit=800 #自动管理内存的最小内存(M)
233 oracle.install.db.config.starterdb.password.ALL=oracle #设定所有数据库用户使用同一个密码
385 DECLINE_SECURITY_UPDATES=true #设置安全更新
  • 嫌麻烦也可以直接用我这里现成的,db_install.rsp,替换掉原文件即可

13、进行安装

  • 切换为oracle执行以下安装操作 su - oracle
  • cd /data/database/database
  • ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /data/database/database/response/db_install.rsp

14、使用root用户运行

  • su - root
  • /data/oraInventory/orainstRoot.sh
  • /data/oracle/product/11.2.0/db_1/root.sh

15.配置tnsnames.ora

  • vim /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora新增内容如下(注意修改主机名称):
代码语言:javascript复制
alioracle =
	 (DESCRIPTION = 
	 	(ADDRESS_LIST = 
	 		(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名称hostname)(PORT = 1521)) 
	 	) 
	 	(CONNECT_DATA = 
	 		(SERVICE_NAME = orcl) 
	 	) 
)

16、建库

  • cd /data/oracle/product/11.2.0/db_1/bin
  • ./dbca -silent -responseFile /data/database/database/response/dbca.rsp
  • 输入oracle用的 用户名和密码

17、配置listener.ora

  • vim /data/oracle/product/11.2.0/db_1/network/admin/listener.ora 新增如下内容(注意修改主机名称):
代码语言:javascript复制
LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=
      (ADDRESS=(PROTOCOL=TCP)(HOST=主机名称hostname)(PORT=1521))  
  )
)
 
SID_LIST_LISTENER= 
	(SID_LIST= 
		(SID_DESC= 
			(GLOBAL_DBNAME=orcl) 
			(SID_NAME=orcl11g) 
			(ORACLE_HOME=/data/oracle/product/11.2.0/db_1)
			 (PRESPAWN_MAX=20) 
			 (PRESPAWN_LIST= 
			 (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
		)
	)
)

18、控制台,找到安全组,去添加1521端口的配置规则,否则用公网ip连接不到oracle数据库,这一步很关键,否则无法用公网ip远程连接。

19、接下来用sqlplus去创建用户的id以及分配权限

  • create user product identified by product;
  • grant connect, resource to product;
  • grant select on V_$session to product;
  • grant select on V_$sesstat to product;
  • grant select on V_$statname to product;

20、oracle实例的启动和启动监听

  • su - oracle #切换到oracle用户
  • lsnrctl start#启动
  • lsnrctl stop #停止
  • lsnrctl status #查看listener的状态
  • sqlplus "/as sysdba" #以sysdba的身份登陆

21、可以使用远程工具连接*

0 人点赞