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

静默安装Oracle笔记

朱泰伯 2025-02-13
205

一、安装前环境准备 

1.1 安装依赖包 yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat openssh-clients compat-libcap1 xorg-x11-utils xorg-x11-xauth elfutils unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 libXp elfutils-libelf elfutils-libelf-devel expat pdksh smartmontools tcpdump trouceroute iftop lvm2 lrzsz 


1.2 创建lvm 

pvcreate /dev/vdb 

vgcreate vg00 /dev/vdb 

lvcreate -l 100%FREE -n oradata vg00 

 1.3 格式化磁盘 mkfs.xfs /dev/mapper/vg00-oradata 

1.4挂在磁盘 mkdir /oracle /oradata /oraredo /oraback 

mount /dev/vg00/oradata /oradata 

mount /dev/vg01/oraredo /oraredo/ 

 1.5创建swap分区 

dd if=/dev/zero of=/swap.img bs=1024 count=1048576 

mkswap /swap.img 

swapon /swap.img 

chmod 0600 /swap.img 

swapon -s 

swapon -a 1

.6 开机启动 

/etc/fstab /swap.img swap swap defaults 0 0 /dev/vg00/oradata /oradata ext4 defaults 0 0 /dev/vg01/oraredo /oraredo ext4 defaults 0 0 

1.7 关闭Selinux 

sed -i 's/SELINUX\=enforcing/SELINUX\=disabled/g' /etc/selinux/config 

 setenforce 0 

1.8 配置hosts 

10.131.159.219 ORACLE_01 oracle1 

10.131.156.167 ORACLE_02 oracle2 

1.9 配置内核参数 

cat >> /etc/security/limits.conf <<EOF 

oracle soft nproc 65536 

oracle hard nproc 65536 

oracle soft nofile 65536 

oracle hard nofile 65536 

oracle soft stack 10240 

oracle hard stack 32768 

oracle soft memlock unlimited 

oracle hard memlock unlimited 

EOF 

1.10 配置sysctl.conf 

cat >> /etc/sysctl.conf <<EOF 

net.ipv4.ip_forward = 0 

net.ipv4.conf.default.rp_filter = 1 

net.ipv4.conf.default.accept_source_route = 0 

net.ipv4.tcp_syncookies = 1 

kernel.sysrq = 0 

kernel.core_uses_pid = 1 

kernel.msgmnb = 65536 

kernel.msgmax = 65536 

kernel.shmmax = 68719476736 

kernel.shmall = 16777216 

kernel.shmmni = 4096 

kernel.sem = 250 32000 100 128 

net.core.rmem_default = 524288 

net.core.rmem_max = 4194304 

net.core.wmem_default = 524288 

net.core.wmem_max = 4194304 

net.ipv4.ip_local_port_range = 9000 65500 

net.ipv4.ipfrag_time = 30 

net.ipv4.ipfrag_low_thresh = 524288 

net.ipv4.ipfrag_high_thresh = 10485760 

fs.file-max = 6815744 

fs.aio-max-nr = 3145728 

## 大内存需配置大叶,需要根据SGA进行计算 

vm.nr_hugepages = 18436 

vm.hugetlb_shm_group=501 

EOF 


1.11 禁用透明大页和内存整理功能 

vi /etc/rc.local 

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then 

 echo never > /sys/kernel/mm/transparent_hugepage/enabled 

fi 

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then 

 echo never > /sys/kernel/mm/transparent_hugepage/defrag 

fi 


1.12 修改grub 

修改/etc/default/grub 文件,添加以下内容到GRUB_CMDLINE_LINUX项 

numa=off transparent_hugepage=never elevator=noop 

# 执行以下命令生成配置文件后重启操作系统 

grub2-mkconfig -o /boot/grub2/grub.cfg 

systemctl reboot (linux) 


1.13 创建oracle用户 

groupadd -g 501 oinstall 

groupadd -g 502 dba 

useradd -u 501 -g oinstall -G dba 

oracle chown -R oracle:oinstall /oradata 

chown -R oracle:oinstall /oraredo 

chown -R oracle:oinstall /oracle 

chown -R oracle:oinstall /oraback 

chmod -R 775 /oradata 


1.14 配置Oracle环境变量 

export ORACLE_SID=fat 

export ORACLE_UNQNAME=fat 

export ORACLE_BASE=/oracle/app/oracle export 

ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1 

export TNS_ADMIN=$ORACLE_HOME/network/admin 

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH 

export NLS_LANG=AMERICAN_AMERICA.UTF8 

export NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH:MI:SSXFF AM' 

export NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SSXFF AM TZR' 

export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' 

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib 

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 

alias cddbs='cd $ORACLE_HOME/dbs' 

alias cdnet='cd $ORACLE_HOME/network/admin' 

alias sys='sqlplus / as sysdba' 

alias alert='tail -f -n 500 $ORACLE_BASE/diag/rdbms/$ORACLE_UNQNAME/$ORACLE_SID/trace/alert_$ORACLE_SID.log' 

export ALERT_LOG=$ORACLE_BASE/diag/rdbms/$ORACLE_UNQNAME/$ORACLE_SID/trace/alert_$ORACLE_SID.log 

## clean history 

>~/.sqlplus_history 

>~/.viminfo 

>~/.mysql_history 

>~/.bash_history history -cw 

>~/.sqlplus_history 

>~/.viminfo 

>~/.mysql_history 

>~/.bash_history 

history -cw 

stty erase ^H 


 二、Oracle安装 2.1 创建$ORACLE_HOME 

mkdir /oracle/app/oracle/product/19.0.0/db_1 2.2 

解压数据库包 

unzip LINUX.X64_193000_db_home.zip -d /oracle/app/oracle/product/19.0.0/db_1 2.3 

配置rsp文件 

[oracle@ecs-fat-oracle-01 response]$ grep -v '^\s*#' db_install.rsp |grep -v '^\s*$' 

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 

oracle.install.option=INSTALL_DB_SWONLY 

UNIX_GROUP_NAME=oinstall 

INVENTORY_LOCATION=/oracle/oraInventory 

ORACLE_HOME=/oracle/app/oracle/product/19.0.0/db_1 

ORACLE_BASE=/oracle/app/oracle oracle.install.db.InstallEdition=EE 

oracle.install.db.OSDBA_GROUP=dba 

oracle.install.db.OSOPER_GROUP=dba 

oracle.install.db.OSBACKUPDBA_GROUP=dba 

oracle.install.db.OSDGDBA_GROUP=dba 

oracle.install.db.OSKMDBA_GROUP=dba 

oracle.install.db.OSRACDBA_GROUP=dba 

oracle.install.db.rootconfig.executeRootScript= 

oracle.install.db.rootconfig.configMethod= 

oracle.install.db.rootconfig.sudoPath= 

oracle.install.db.rootconfig.sudoUserName= 

oracle.install.db.CLUSTER_NODES= 

oracle.install.db.config.starterdb.type= 

oracle.install.db.config.starterdb.globalDBName= 

oracle.install.db.config.starterdb.SID= 

oracle.install.db.ConfigureAsContainerDB= 

oracle.install.db.config.PDBName= 

oracle.install.db.config.starterdb.characterSet= 

oracle.install.db.config.starterdb.memoryOption= 

oracle.install.db.config.starterdb.memoryLimit= 

oracle.install.db.config.starterdb.installExampleSchemas= 

oracle.install.db.config.starterdb.password.ALL= 

oracle.install.db.config.starterdb.password.SYS= 

oracle.install.db.config.starterdb.password.SYSTEM= 

oracle.install.db.config.starterdb.password.DBSNMP= 

oracle.install.db.config.starterdb.password.PDBADMIN= 

oracle.install.db.config.starterdb.managementOption= 

oracle.install.db.config.starterdb.omsHost= 

oracle.install.db.config.starterdb.omsPort= 

oracle.install.db.config.starterdb.emAdminUser= 

oracle.install.db.config.starterdb.emAdminPassword= 

oracle.install.db.config.starterdb.enableRecovery= 

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= 


2.4 静默安装oracle 

cd $ORACLE_HOME 

./runInstaller -silent -responseFile /oracle/app/oracle/product/19.0.0/db_1/install/response/db_install.rsp 

2.5 静默建库 dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname fat -sid fat -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword Abcd-1234 -systemPassword Abcd-1234 -createAsContainerDatabase false -databaseType MULTIPURPOSE -memoryMgmtType auto_sga -totalMemory 20480 -storageType FS -datafileDestination "/oradata/" -redoLogFileSize 100 -emConfiguration NONE -ignorePreReqs 


三、打补丁 3.1 上传补丁包 

p36260493_190000_Linux-x86-64.zip 

 p36582629_190000_Linux-x86-64.zip 

 p6880880_230000_Linux-x86-64.zip 


3.2 备份Opatch 

cd $ORACLE_HOME mv Opatch Opatch_bak 


 3.2 解压补丁包 

unzip p36260493_190000_Linux-x86-64.zip -d $ORACLE_HOME 

3.3 解压补丁包打包 

cd /software unzip p36582629_190000_Linux-x86-64.zip 

cd /software/36582629 

#检查 

opatch prereq CheckConflictAgainstOHWithDetail -ph ./ 

 #应用补丁包 

/oracle/app/oracle/product/19.0.0/db_1/OPatch/opatch apply 

#检查是否成功 

opatch lspatches 

应用补丁SQL变更 

datapatch --verbose 

重新编译无效对象 

@$ORACLE_HOME/rdbms/admin/utlrp.sql 

检查补丁版本 

select patch_id,patch_type,action,status,target_version from dba_registry_sqlpatch;


 四、Dataguard配置 

4.1 修改监听 

ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=ecs-fat-oracle-01)(PORT=15210))' SCOPE=BOTH; ALTER SYSTEM REGISTER; 

4.2 在$ORACLE_HOME/network/admin下面添加文件listener.ora 

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ecs-fat-oracle-01)(PORT = 15210)) ) ) 

 4.3 增加翻页功能 

yum install readline* epel-release rlwrap 

 五、数据迁移 迁移前准备创建表空间 

create tablespace TABLESPACE_JPDEV datafile '/oradata/FAT/jpdev01.dbf' size 3G AUTOEXTEND ON NEXT 1G; 

 5.1 FAT备份数据 

docker exec -it -uroot oracle11 bash 

su - oracle 

expdp "'/ as sysdba'" directory=tiger dumpfile=fat%U.dmp logfile=fat.log version=11.2 parallel=8

schemas=MKTARENAP & 

expdp "'/ as sysdba'" directory=tiger dumpfile=oe.dmp logfile=oe.log version=11.2 schemas=OE & 


5.2 从容器cp到宿主机 

docker cp oracle11:/home/oracle/tiger/ /tiger 


5.3 宿主机压缩数据 

tar -czvf 3.tar.gz fat03.dmp  

5.4 下载到本地 

sz 1.tar.gz 

5.5 上传到华为云 

5.6导入数据 

 impdp "'/ as sysdba'" directory=lion dumpfile=fat%U.dmp logfile=impdp.log schemas=C69MKTARENAPLUS, parallel=8 & 

 impdp "'/ as sysdba'" directory=lion dumpfile=oe.dmp logfile=oe.log schemas=OE & 


六、创建用户 alter user system identified by oracle; 

alter user sys identified by oracle; 

最后修改时间:2025-03-01 17:54:38
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论