1. Oracle 安装

前言 :

Oracle 数据库是 Oracle 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,跟 MySQL 的主要区别为 Oracle 为大型数据库(内存占用率特别大),MySQL 为中小型且为开源,Oracle 主要特点如下:

  • 支持多用户、大事务量的事务处理
  • 数据安全性和完整性控制
  • 支持分布式数据处理
  • 可移植性,不同操作系统的数据可通用

一、 Oracle 安装部署

1.Oracle 架构

  • Oracle 只有一个数据库,但是可以提供多个实例
  • 一个数据库下有多个用户,用户下有多个表(类似 MySQL 的数据库)

2.环境准备

2.1 虚拟机准备
  • 虚拟机要求 :x86 虚拟机,centos 7,内存推荐 2G 以上
  • 官网下载 : https://www.oracle.com/database/technologies/oracle-database-software-downloads.html?xd_co_f=NjhiOGFlMzItNGJiNi00M2ZhLWE0ZjUtYzljNmU3NWYyNTEz
  • 云盘下载链接:https://pan.baidu.com/s/1amQrSNmVZYMBxIrKoazN-Q?pwd=4ef5
    提取码:4ef5

注 :正常安装只需要 p10404530_112030_Linux-x86-64_1of7 、 p10404530_112030_Linux-x86-64_2of7 两个包即可,可以只下载这两个

2.2 依赖包安装
##  进行安装
yum -y install 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

## 检查是否有遗漏,没有输出则安装依赖包正常
rpm -q installed 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  | grep "not installed"
2.3 关闭防火墙和SELinx
## 关闭防火墙
systemctl stop firewalld.service  
systemctl disable firewalld.service  
## 确认是否关闭,Active: inactive (dead)
systemctl status firewalld.service  

## 关闭 SELinux
sed -i 's/^SELINUX.*/SELINUX = disabled/g' /etc/selinux/config

grep -i "^SELinux" /etc/selinux/config

2.4 修改用户限制文件
cat >> /etc/security/limits.conf <<EOF
#### Orcale Start
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#### Orcale End
EOF

## 使用安装用户进行配置检查
grep -vE "^#|^\s*$" /etc/security/limits.conf

cat >> /etc/pam.d/login <<EOF
#### Orcale Start
session required /lib/security/pam_limits.so
session required pam_limits.so
#### Orcale End
EOF

2.5 修改内核参数
cat >> /etc/sysctl.conf <<EOF
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF

sysctl -p


2.6 创建相关用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle -d /home/oracle
## 修改密码
passwd oracle

## 数据库安装路径
mkdir -p /opt/oracle/product/11.2.0/dbhome_1
## 实例数据 日志信息 
mkdir -p /opt/oracle/{oradata,oraInventory,fast_recovery_area}

## 进行赋权
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle/



2.7 修改OS系统标识
  • oracle 默认是不支持 CentOS 系统的,我们需要将配置文件中的系统系统改为 redhat 才能够正常安装(因为CentOS就是redhat的下游发行版,现在上游发行版了)
## 将 centos 的原有版本号进行注释
vim /etc/redhat-release
#CentOS Linux release 7.9.2009 (Core)
redhat-7
2.8 安装包解压
unzip p10404530_112030_Linux-x86-64_1of7.zip -d /home/oracle/
unzip p10404530_112030_Linux-x86-64_2of7.zip -d /home/oracle/
chown -R oracle:oinstall /home/oracle/

2.9 配置用户环境变量
cat >> /home/oracle/.bash_rc <<EOF
umask 022
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
#### database SID
export ORACLE_SID=test
export ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
export NLS_LANG=american_america.AL32UTF8
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
EOF

vi /etc/profile
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384
        ulimit -n 65536
    fi
fi

## 环境生效
source /home/oracle/.bash_profile
source /home/oracle/.bash_rc

2.10 修改安装文件配置并安装
su oracle
cd /home/oracle/database/response
cp db_install.rsp db_install.rsp.bak

## 更换配置 -- 不能使用变量名
sed -i 's/^oracle.install.option.*/oracle.install.option=INSTALL_DB_SWONLY/' db_install.rsp
sed -i 's/^ORACLE_HOSTNAME.*/ORACLE_HOSTNAME=sdb1/' db_install.rsp
sed -i 's/^UNIX_GROUP_NAME.*/UNIX_GROUP_NAME=oinstall/' db_install.rsp
sed -i 's/^INVENTORY_LOCATION.*/INVENTORY_LOCATION=\/opt\/oracle\/oraInventory/' db_install.rsp
sed -i 's/^SELECTED_LANGUAGES.*/SELECTED_LANGUAGES=en,zh_CN/' db_install.rsp
sed -i 's/^ORACLE_HOME.*/ORACLE_HOME=\/opt\/oracle\/product\/11.2.0\/dbhome_1/' db_install.rsp
sed -i 's/^ORACLE_BASE.*/ORACLE_BASE=\/opt\/oracle/' db_install.rsp
sed -i 's/^oracle.install.db.InstallEdition.*/oracle.install.db.InstallEdition=EE/' db_install.rsp
sed -i 's/^oracle.install.db.DBA_GROUP.*/oracle.install.db.DBA_GROUP=dba/' db_install.rsp
sed -i 's/^oracle.install.db.OPER_GROUP.*/oracle.install.db.OPER_GROUP=dba/' db_install.rsp
sed -i 's/^DECLINE_SECURITY_UPDATES.*/DECLINE_SECURITY_UPDATES=true/' db_install.rsp


## 查看是否生效
grep "^oracle.install.option" db_install.rsp
grep "^ORACLE_HOSTNAME" db_install.rsp
grep "^UNIX_GROUP_NAME" db_install.rsp
grep "^INVENTORY_LOCATION" db_install.rsp
grep "^SELECTED_LANGUAGES" db_install.rsp
grep "^ORACLE_HOME" db_install.rsp
grep "^ORACLE_BASE" db_install.rsp
grep "^oracle.install.db.InstallEdition" db_install.rsp
grep "^oracle.install.db.DBA_GROUP" db_install.rsp
grep "^oracle.install.db.OPER_GROUP" db_install.rsp
grep "^DECLINE_SECURITY_UPDATES" db_install.rsp


#### 到 orcale 软件路径
cd /home/oracle/database
./runInstaller -silent -force -responseFile /home/oracle/database/response/db_install.rsp -ignorePrereq

#### 另外开一个会话监控安装日志
tail -f /opt/oracle/oraInventory/logs/installActions2024-06-21_02-25-48PM.log

3.创建数据库实例

3.1 修改配置文件
su oracle
cd /home/oracle/database/response
cp dbca.rsp dbca.rsp.bak

sed -i "s/^GDBNAME.*/GDBNAME=test/" dbca.rsp
sed -i "s/^SID.*/SID=test/" dbca.rsp
sed -i "s/#SYSPASSWORD.*/SYSPASSWORD=123456/" dbca.rsp
sed -i "s/#SYSTEMPASSWORD.*/SYSTEMPASSWORD=123456/" dbca.rsp
sed -i "s/#SYSMANPASSWORD.*/SYSMANPASSWORD=123456/" dbca.rsp
sed -i "s/#DBSNMPPASSWORD.*/DBSNMPPASSWORD=123456/" dbca.rsp
sed -i "s/#DATAFILEDESTINATION.*/DATAFILEDESTINATION=\/opt\/oracle\/oradata/" dbca.rsp
sed -i "s/#RECOVERYAREADESTINATION.*/RECOVERYAREADESTINATION=\/opt\/oracle\/fast_recovery_area/" dbca.rsp
sed -i "s/#CHARACTERSET.*/CHARACTERSET=AL32UTF8/" dbca.rsp
sed -i "s/#TOTALMEMORY.*/TOTALMEMORY=2048/" dbca.rsp

grep -E "^GDBNAME|^SID|^SYSPASSWORD|^SYSTEMPASSWORD|^SYSMANPASSWORD|^DBSNMPPASSWORD|^DATAFILEDESTINATION|^RECOVERYAREADESTINATION|^CHARACTERSET|^TOTALMEMORY" dbca.rsp

3.2 进行实例安装
cd /home/oracle/database/
dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
## 查看默认实例
env|grep ORACLE_UNQNAME

3.3 启动监听
 lsnrctl start

##  查看 Oracle 监听器运行状况
lsnrctl status

3.4 开机自启
## oracle用户修改Oracle实例配置文件
vim /etc/oratab
orcl:/opt/oracle/product/11.2.0/dbhome_1:Y

## root用户添加开机自启策略
chmod 777 /etc/rc.local
cat >> /etc/rc.local << EOF
# oracle开机自启
su - oracle -c "dbstart"
su - oracle -c "lsnrctl start"
su - oracle -c "lsnrctl start listenerl"
EOF

4.基础命令

4.1 创建表空间
  • 操作系统指定位置
## 创建专属位置
mkdir -p $ORACLE_BASE/oradata/tablespace
sqlplus / as sysdba
  • 数据库创建表空间
create tablespace testspace  datafile '/opt/oracle/oradata/tablespace/tablespace.dbf'  size 150M autoextend on next 5M maxsize 3000M;
4.2 创建用户
create user c##test identified by 123456 default tablespace testspace;
grant dba  to c##test;
grant create session to c##test;
grant create tablespace to  c##test;
grant create view to c##test;
grant create table to c##test;
4.3 建表
create table emp1(
	name varchar(200),
	salary number(8,2)default 1000,
	id number(4),
	hire_date date
);

insert into emp1(name, salary, id, hire_date) values('one', 12.22, 11, to_date('2021-08-11', 'yyyy-mm-dd'));

至此对 oracle 数据库的安装部署以及操作有了基本了解,本篇博客到此结束!
本次安装部署其实也遇到很多问题,请多看日志!!!

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值