暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

centos7静默安装oracle10g补丁1024,手工创建数据库全纪录

我的工作 2020-06-14
1011

本文包括:centos7静默安装oracle10g补丁1024,手工创建数据库全纪录


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  libXp libXt.i686 libXtst.i686 libXp.i686

2.修改版本
vi /etc/redhat-release
#CentOS Linux release 7.6.1810 (Core)
Linux=redhat-3

3.创建Oracle用户与组

(1) 建立群组oinstall

# groupadd oinstall

(2) 建立群组dba

# groupadd dba

(3) 新建用户oracle并将其加入oinstall和dba组

# useradd -m -g oinstall -G dba oracle

(4) 查看oracle账号信息(这里注意一下dba的id,后面改配置文件的时候需要)

# id oracle

(5) 设置oracle的密码

# passwd oracle

4.文件配置系统内核参数
vi /etc/sysctl.conf
m.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120

# see details in https://help.aliyun.com/knowledge_detail/39428.html
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2

# see details in https://help.aliyun.com/knowledge_detail/41334.html
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

kernel.sysrq = 1
kernen.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65500
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 262144
vm.hugetlb_shm_group = 1001

#这里1001是oracle用户组dba的gid

使配置生效
sysctl -p

vi /etc/security/limits.conf


oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    nofile  1024
oracle  hard    nofile  65536


vi /etc/pam.d/login

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       substack     system-auth
auth       include      postlogin
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    include      postlogin
-session   optional     pam_ck_connector.so
session    required     /lib64/security/pam_limits.so

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


配置swap环境
创建swap
mkdir /swap
dd  if=/dev/zero of=/swap/swap bs=1024 count=1024000
mkswap    /swap/swap
激活/swap/swap交换文件
swapon   /swap/swap  
查看是否生效 
free -m
设置成永久生效
echo"/swap/swap    swap    swap  defaults    0 0"  >> /etc/fstab

删除swap分区
swapoff   /swap/swap
rm -rf /swap/swap
删除"/etc/swap"指定文件
sed  -i "/'\/swa\/swap   swap   swap  defaults 0 0'//"  /etc/fstab

5.创建oracle目录
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /oracle

6.配置oracle用户环境
vi /home/oracle/.bash_profile
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;

使设置马上生效:
source /home/oracle/.bash_profile


7.解压安装文件
cpio -idmv < a.cpio
unzip a.zip

8.先安装数据库
修改静默安装文件
cd /database/response
vi enterprise.rsp
UNIX_GROUP_NAME="oinstall"
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORACLE_HOME_NAME="Ora_HOME1"
ORACLE_HOSTNAME="主机名"
s_nameForDBAGrp=oinstall            
s_nameForOPERGrp=oinstall
n_configurationOption=3                  ##数据库安装的动作类型:1.安装并创建数据库 2.配置一个ASM实例 3.仅安装数据库软件
n_dbType=1                               ##创建的数据库类型:1.通用目的的数据库 2.联机事务处理的数据库 3.用作数据仓库的数据库 4.高级配置
s_globalDBName=ora10g                    ##数据库的全局名
s_dbSid=ora10g                           ##数据库实例名
s_dbRetChar="ZHS16GBK"                   ##数据库字符集

执行安装
./runInstaller  -silent -responseFile /database/response/enterprise.rsp

最后以 root 权限运行脚本
/oracle/oraInventory/orainstRoot.sh
/oracle/product/10.2.0/db_1/root.sh

9.安装补丁
修改静默安装文件
cd /Disk1/response
vi patchset.rsp
UNIX_GROUP_NAME="oinstall"
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORACLE_HOME_NAME="Ora_HOME1"
OUI_HOSTNAME="主机名"

执行安装
./runInstaller  -silent -responseFile /Disk1/response/patchset.rsp

最后以 root 权限运行脚本

10.设置实例名:
修改/home/oracle/.bash_profile文件,添加下列这行内容。
export ORACLE_SID=orcl
修改之后使用命令source /home/oracle/.bash_profile让它生效。

11.创建相关目录:
mkdir /u01/app/oracle/oradata/orcl
mkdir /u01/app/oracle/admin/orcl
mkdir /u01/app/oracle/admin/orcl/adump
mkdir /u01/app/oracle/admin/orcl/bdump
mkdir /u01/app/oracle/admin/orcl/cdump
mkdir /u01/app/oracle/admin/orcl/udump

12.创建密码文件:
cd /u01/app/oracle/product/10.2.0/db_1/dbs
orapwd file=orapworcl password=oracle entries=10 force=y

13.创建参数文件:
cd /u01/app/oracle/product/10.2.0/db_1/dbs
cat init.ora|grep -v ^#|grep -v ^$>initorcl.ora
修改initorcl.ora文件,内容如下:
db_name=orcl
db_block_size=8192
undo_management=auto
undo_tablespace=undotbs
sga_target=500m
control_files=('/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl')
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
user_dump_dest='/u01/app/oracle/admin/orcl/udump'

14.生成spfile文件,并启动到nomount状态:
sqlplus / as sysdba
create spfile from pfile;
startup nomount;

15.创建数据库:
CREATE DATABASE orcl
   USER SYS IDENTIFIED BY oracle
   USER SYSTEM IDENTIFIED BY oracle
   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01a.log','/u01/app/oracle/oradata/orcl/redo01b.log') SIZE 300M,
           GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02a.log','/u01/app/oracle/oradata/orcl/redo02b.log') SIZE 300M,
           GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03a.log','/u01/app/oracle/oradata/orcl/redo03b.log') SIZE 300M
   MAXLOGFILES 20
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 500
   MAXINSTANCES 5
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
   EXTENT MANAGEMENT LOCAL
   SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE temp
      TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
      SIZE 300M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;  

16.执行脚本:
sqlplus / as sysdba
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catalog;
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catproc;
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catblock;
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catoctk;
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/owminst.plb;
sqlplus system
@/u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/pupbld.sql;


17.进入数据库

sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Sun Jun 14 14:02:35 2020

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


欢迎关注我的公众号    扫描二维码或公众号搜索  “我的工作





文章转载自我的工作,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论