Linux-安装Oracle

一、 环境

1. CentOS Linux release 7.5.1804 (Core)
2. Python 2.7.5
3. libc 2.17
4. libstdc++.so.6.0.19

二、 下载

下载到系统/data/software/oracle/database路径下

三、 基础配置

1. 创建用户和用户组

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
chown -R oracle:dba /home/oracle
chmod 700 /home/oracle/

2. 更改/data/software/oracle

1. chown -R oracle:oinstall /data/software/oracle/
2. chmod -R 775 /data/software/oracle/

3. 解压文件

oracle用户下:

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
chown -R oracle:oinstall /data/software/oracle
chmod -R 775 /data/software/oracle
chmod -R 750 /data/software/oracle/database

4. 创建目录

oracle用户下:

1. mkdir /data/software/oracle/oracle11g

5. 配置环境

5.1 Swap交换配置

root用户下:
1、用dd命令创建一个16G的文件
dd if=/dev/zero of=/var/swapfile bs=1M count=1024
chmod 600 /var/swapfile
2、将它创建为Linux Swap虚拟交换文件
mkswap /var/swapfile
3、激活并使用/var/swapfile交换文件
swapon /var/swapfile
4、设置系统启动后自动激活虚拟交换文件。
vi /etc/fstab
/var/swapfile swap swap defaults 0 0

5. 修改需要先关闭swap
    swapoff -a

5.3 系统内核配置

root用户下

  1. 修改vi /etc/security/limits.conf文件:

    # oracle配置
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
  2. 修改vi /etc/pam.d/login文件:

    # Oracle配置
    session required /lib/security/pam_limits.so
    session required pam_limits.so
  3. 修改vi /etc/sysctl.conf文件:

    # Oracle配置
    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

    立即生效:sysctl -p

  4. 修改vi /etc/profile文件:

    # Oracle配置
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
    fi
    fi
    export ORACLE_BASE=/data/software/oracle/oracle11g
    export ORACLE_HOME=/data/software/oracle/oracle11g/product/11.2.0/natsudb
    export ORACLE_SID=natsu
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

    立即生效:source /etc/profile

  5. 修改vi /etc/sudoers文件:

    将oracle用户加入到sudo组
    # Oracle配置
    root    ALL=(ALL)      ALL这一行下加入
    oracle  ALL=(ALL)       ALL
  6. 修改vi /etc/hosts文件:

    # Oracle配置
    114.215.136.213 iZ28g7uaof2Z

五、 安装过程

1. 静默安装配置

  1. db_install.rsp
oracle.install.responseFileVersion=/data/software/oracle/oracle11g/install/rspfmt_dbinstall_response_schema_v11_2_0
#安装类型
oracle.install.option=INSTALL_DB_SWONLY
#主机名称
ORACLE_HOSTNAME=iZ28g7uaof2Z
#安装组
UNIX_GROUP_NAME=oinstall
#INVENTORY目录
INVENTORY_LOCATION=/data/software/oracle/oraInventory
#选择语言
SELECTED_LANGUAGES=en,zh_CN,zh_TW
# Oracle_Home
ORACLE_HOME=/data/software/oracle/oracle11g/product/11.2.0/natsudb
# Oracle_Base
ORACLE_BASE=/data/software/oracle/oracle11g/app/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
# oper用户组
oracle.install.db.OPER_GROUP=oinstall
#
oracle.install.db.CLUSTER_NODES=
# 数据库类型
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# globalDBName 与SID一致 最长6位
oracle.install.db.config.starterdb.globalDBName=pubora
# SID
oracle.install.db.config.starterdb.SID=pubora
#
oracle.install.db.config.starterdb.characterSet=AL32UTF8
#
oracle.install.db.config.starterdb.memoryOption=true
# 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.memoryLimit=512
#
oracle.install.db.config.starterdb.installExampleSchemas=false
#
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 设定所有数据库用户使用同一个密码
oracle.install.db.config.starterdb.password.ALL=
# SYS账号密码
oracle.install.db.config.starterdb.password.SYS=SYS163com
# SYSTEM账号密码
oracle.install.db.config.starterdb.password.SYSTEM=SYSTEM163com
# SYSMAN账号密码
oracle.install.db.config.starterdb.password.SYSMAN=SYSMAN163com
# DBSNMP账号密码
oracle.install.db.config.starterdb.password.DBSNMP=DBSNMP163com
#
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=false
#设置安全更新
DECLINE_SECURITY_UPDATES=true
#
PROXY_HOST=
#
PROXY_PORT=
#
PROXY_USER=
#
PROXY_PWD=
  1. dbca.rsp
[GENERAL]
#
RESPONSEFILE_VERSION = "11.2.0"
#
OPERATION_TYPE = "createDatabase"
#
[CREATEDATABASE]
#
GDBNAME = "pubora"
#
SID = "pubora"
#
TEMPLATENAME = "General_Purpose.dbc"
#
NATIONALCHARACTERSET= "AL32UTF8"

oracle用户下:

2. 安装编译

# 1. 检查
rpm -qa libaio
# 2. Cnetos8 libaio不能大于libaio-0.3.109
rpm -e libaio-0.3.112-1.el8.x86_64
# 3. 下载
wget http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
# 4. 安装
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
# 5. 检查安装
rpm -q binutils compat-libcap1 vsftpd gcc gcc-c++ glibc-devel glibc elfutils-libelf-devel compat-libcap1 libaio-devel ksh libgcc libstdc++ libstdc++-devel libaio-devel make sysstat unixODBC unixODBC-devel | grep "not installed"

# 6. oracle安装
./runInstaller -silent -responseFile /data/software/oracle/database/response/db_install.rsp -ignorePrereq

表示安装完成

以下问题时,root用户下执行:unset DISPLAY

以下问题时,root用户下执行:dnf install libnsl

3. 使用root用户执行脚本

# 1. 执行
/data/software/oracle/oraInventory/orainstRoot.sh
# 2. 执行
/data/software/oracle/oracle11g/product/11.2.0/natsudb/root.sh
# 3. 执行
chmod 760 /etc/oraInst.loc /etc/oratab
# 4. 执行
chown oracle:oinstall /etc/oraInst.loc /etc/oratab

4. 编译监听

# 1. 执行
export DISPLAY=114.215.136.213:0
# 2. 执行
netca -silent -responsefile /data/software/oracle/database/response/netca.rsp

5. 创建数据库

# 1. 执行
dbca -silent -responseFile /data/software/oracle/database/response/dbca.rsp
# 编辑etc/oratab
natsu:/data/software/oracle/oracle11g/product/11.2.0/natsudb:N =>
natsu:/data/software/oracle/oracle11g/product/11.2.0/natsudb:Y

6. 监听

# 1. 监听状态
lsnrctl status
lsnrctl start
lsnrctl stop

六、 常用命令

    1. 监听:lsnrctl status|start|stop
    2. 启动和停止 dbstart $ORACLE_HOME | dbshut $ORACLE_HOME
    3. 登录:
        - 登录数据库:sqlplus / as sysdba
        - 显示服务名:show parameter service_names;
        - 强制注册服务:alter system register;
        - 查看实例:select instance_name from v$instance;
        - 查看数据库:select name from v$database;
        - 启动数据库:startup
        - 关闭数据库:shutdown

七、 卸载

rm -rf /data/software/oracle/oracle11g/*
rm -rf /etc/oraInst.loc /etc/oratab
rm -rf /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
rm -rf /etc/oracle
rm -rf /etc/inittab.cssd

九、 编码

SQL>SHUTDOWN IMMEDIATE  --关闭数据库
SQL>STARTUP MOUNT  --启动到 Mount
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP;
SQL>select userenv('language') from dual;  --查看服务端字符集

十、 使用

1. 创建表空间

-- 1. 查询oracle数据库表空间文件路径
    select name from v$datafile;

-- 2. 创建表空间
    -- 格式:
    create tablespace 表空间名称   --创建表空间
    datafile '根路径/表空间名称.dbf'        --物理文件名
    size 50M                       --大小
    autoextend on                  --自动增长
    next 50M maxsize 10240M        --每次扩展50M,最大为10240M
    extent management local;
    -- 例子:
    create tablespace natsu
    logging datafile '/data/software/oracle/oracle11g/oradata/natsu/natsu.dbf'
    size 100M
    autoextend on
    next 32M maxsize 10240M
    extent management local;

-- 3. 查询oracle数据库临时表空间文件路径
    select name from v$tempfile;

-- 4. 创建临时表空间
    -- 格式:
    create temporary tablespace 表空间名称   --创建表空间
    tempfile 'shopping.dbf'        --物理文件名
    size 50M                       --大小
    autoextend on                  --自动增长
    next 50M maxsize 20480M        --每次扩展50m,最大为20480m
    extent management local;
    -- 例子:
    create temporary tablespace natsu_temp
    tempfile '/data/software/oracle/oracle11g/oradata/natsu/natsu_temp.dbf'
    size 50M
    autoextend on
    next 50M maxsize 20480M
    extent management local;

-- 5. 创建用户
    -- 格式:
    create user 用户名 identified by "密码"
    default tablespace 用户表空间
    temporary tablespace 用户临时表空间;
    -- 例子:
    create user natsu identified by "natsu163com"
    default tablespace natsu
    temporary tablespace natsu_temp;

-- 6. 赋予用户权限
    -- 用户登录数据库的权限
    grant create session to natsu;
    -- 用户操作表空间的权限
    grant unlimited tablespace to natsu;
    grant create tablespace to natsu;
    grant alter tablespace to natsu;
    grant drop tablespace to natsu;
    grant manage tablespace to natsu;
    -- 用户操作表的权限(包含有create index权限, alter table, drop table权限)
    grant create any table to natsu; 
    -- 用户操作视图的权限(包含有alter view, drop view权限)
    grant create any view to natsu; 
    -- 用户操作触发器的权限(包含有alter trigger, drop trigger权限)
    grant create any trigger to natsu; 
    -- 用户操作存储过程的权限(包含有alter procedure, drop procedure 和function 以及 package权限)
    grant create any procedure to natsu;
    -- 用户操作序列的权限(包含有创建、修改、删除以及选择序列)
    grant create any sequence to natsu; 
    -- 用户回退段权限:
    grant create rollback segment to natsu;
    grant alter rollback segment to natsu;
    grant drop rollback segment to natsu;
    -- 用户同义词权限(包含drop synonym权限)
    grant create synonym to natsu;
    grant create public synonym to natsu;
    grant drop public synonym to natsu;

    -- 授予用户关于用户的权限:
    grant create user to natsu;
    grant alter user to natsu;
    grant become user to natsu;
    grant drop user to natsu;
    -- 授予用户关于角色的权限:
    grant create role to natsu;
    -- 授予用户操作概要文件的权限
    grant create profile to natsu;
    grant alter profile to natsu;
    grant drop profile to natsu;
    -- 允许从sys用户所拥有的数据字典表中进行选择
    grant select any dictionary to natsu;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值