Linux云平台Oracle 12c安装与数据迁移

Linux云平台Oracle 12c安装与数据迁移

配置阿里云环境的操作系统参数

hosts 主机信息配置

sql 复制代码
echo "172.18.33.214 iZwz9f32ql5nimsjsa4verZ" >> /etc/hosts 
#这里的IP地址是云服务器的内外地址,可以使用ifconfig命令查看,不是你用ssh登录的公网IP。

配置英文环境变量

sql 复制代码
echo "export LANG=en_US" >> ~/.bash_profile 

创建 SWAP 交换页面空间

sql 复制代码
#使用下面命名查看服务器有没有swap空间,没有的需要新建
free -m   
sql 复制代码
#安装oracle数据库必须要有swap空间,不然在后面安装检查过程中回报错。
#使用dd命令,划分出swap空间,一般生产环境配置8G即可。
dd if=/dev/zero of=/home/swap bs=1M count=4096 
mkswap /home/swap 
swapon /home/swap 

#磁盘添加到fatab,开机自动挂载
vi /etc/fstab 
/home/swap swap swap default 0 0 

创建用户与目录

sql 复制代码
/usr/sbin/groupadd -g 60001 oinstall 
/usr/sbin/groupadd -g 60002 dba 
/usr/sbin/groupadd -g 60003 oper 
useradd -u 61001 -g oinstall -G dba,oper oracle 
id oracle 
passwd oracle 
sql 复制代码
#创建目录
mkdir /oracle 
mkdir /oradata 
mkdir -p /oracle/app/oracle/product/12.2.0/db_1 
mkdir -p /oracle/app/oraInventory 
chown -R oracle:oinstall /oracle 
chown -R oracle:oinstall /oradata 
chmod -R 775 /oracle 
chmod -R 775 /oradata 

安装相关 ORACLE 需要的依赖软件包

cd /etc/yum.repos.d

yum list |more

sql 复制代码
yum -y install autoconf 
yum -y install automake 
yum -y install binutils 
yum -y install binutils-devel 
yum -y install bison
yum -y install cpp 
yum -y install dos2unix 
yum -y install ftp 
yum -y install gcc 
yum -y install gcc-c++ 
yum -y install lrzsz 
yum -y install python-devel 
yum -y install compat-db* 
yum -y install compat-gcc-34 
yum -y install compat-gcc-34-c++ 
yum -y install compat-libcap1 
yum -y install compat-libstdc++-33 
yum -y install compat-libstdc++-33.i686 
yum -y install glibc-* 
yum -y install glibc-*.i686 
yum -y install libXpm-*.i686 
yum -y install libXp.so.6 
yum -y install libXt.so.6 
yum -y install libXtst.so.6 
yum -y install libXext 
yum -y install libXext.i686 
yum -y install libXtst 
yum -y install libXtst.i686 
yum -y install libX11 
yum -y install libX11.i686 
yum -y install libXau 
yum -y install libXau.i686 
yum -y install libxcb 
yum -y install libxcb.i686 
yum -y install libXi 
yum -y install libXi.i686 
yum -y install libgcc_s.so.1 
yum -y install libstdc++.i686 
yum -y install libstdc++-devel 
yum -y install libstdc++-devel.i686 
yum -y install libaio
yum -y install libaio.i686 
yum -y install libaio-devel 
yum -y install libaio-devel.i686 
yum -y install ksh 
yum -y install libXp 
yum -y install libaio-devel 
yum -y install numactl 
yum -y install numactl-devel 
yum -y install make -y 
yum -y install sysstat -y 
yum -y install unixODBC 
yum -y install unixODBC-devel 
yum -y install elfutils-libelf-devel-0.97 
yum -y install elfutils-libelf-devel 
yum -y install redhat-lsb-core 
yum -y install unzip 

修改操作系统相关参数

修改资源限制

vi /etc/security/limits.conf

sql 复制代码
#ORACLE SETTING 
oracle soft nproc 16384
oracle hard nproc 16384 
oracle soft nofile 16384
oracle hard nofile 65536 
oracle soft stack 10240 
oracle hard stack 32768
#oracle hard memlock 8192000 
#oracle soft memlock 8192000 --[锁页,8G就给6G,16G给12G]

--重新登录检查

ulimit -a

控制为用户分配的资源
sql 复制代码
echo "session required pam_limits.so" >> /etc/pam.d/login 
cat /etc/pam.d/login 
修改内核参数

vi /etc/sysctl.conf

sql 复制代码
#ORACLE SETTING 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
kernel.shmmax = 1210612736 
kernel.shmall = 295560 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
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 = 1048586 
kernel.panic_on_oops = 1 
#vm.nr_hugepages = 2500 
 
sysctl -p

--如果设置了 hugepages,还需要关闭透明页

vi /etc/rc.d/rc.local

sql 复制代码
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 

chmod +x /etc/rc.d/rc.local

配置安全

防火墙
sql 复制代码
systemctl status firewalld.service 
systemctl stop firewalld.service 
systemctl disable firewalld.service 
SELINUX(阿里云默认关闭)
sql 复制代码
vi /etc/selinux/config 
SELINUX=disabled 

setenforce 0 

设置 ORACLE 用户的环境变量

su - oracle

vi .bash_profile

sql 复制代码
PS1="[`whoami`@`hostname`:"'$PWD]$' 

export PS1
export TMP=/tmp 
export LANG=en_US 
export TMPDIR=$TMP 
export ORACLE_UNQNAME=hefeidb 
ORACLE_SID=hefeidb; export ORACLE_SID 
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE 
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM 
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT 
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG 
PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin; export PATH 
THREADS_FLAG=native; export THREADS_FLAG 
umask=022 
if [ $USER = "oracle" ]; then 
if [ $SHELL = "/bin/ksh" ]; then 
ulimit -p 16384 
ulimit -n 65536 
else 
ulimit -u 16384 -n 65536 
fi 
umask 022 
fi 

env |grep ORACLE

数据库软件安装与监听配置

安装数据库软件

su - oracle

cd /soft/database/

cp -r response /oracle/

oracle@iZwz9f32ql5nimsjsa4verZ:/oracle/response\]KaTeX parse error: Expected group after '\^' at position 31: ...rsp \|grep -Ev "\^̲#\|\^" mv db_install.rsp db_install.rsp.bak ```sql #vi db_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/oracle/app/oraInventory ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_1 ORACLE_BASE=/oracle/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=dba oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba #chmod 775 db_install.rsp ``` ```sql su - root vi /etc/oraInst.loc inventory=/oracle/app/oraInventory inst_group=oinstall chown oracle:oinstall /etc/oraInst.loc ``` #### 运行安装 ```sql su - oracle cd /soft/database ./runInstaller -silent -force -noconfig -responseFile /oracle/response/db_install.rsp #-silent 静默安装不做任何提示 #--force 不是空目录不给安装,加这个就是安装 #-noconfig 不运行监听配置 #-responseFile 响应文件,绝对路径 ``` #### 跑 sh 脚本 --用root用户执行 ![image-20241117215652076](https://img-blog.csdnimg.cn/img_convert/82d2434da9dda6beb9ab0194fb084287.png) #### 配置监听 ```sql [oracle@iZwz9f32ql5nimsjsa4verZ:/oracle/response]$cat netca.rsp |grep -Ev "^#|^$" [GENERAL] RESPONSEFILE_VERSION="12.2" CREATE_TYPE="CUSTOM" [oracle.net.ca] INSTALLED_COMPONENTS={"server","net8","javavm"} INSTALL_TYPE=""typical"" LISTENER_NUMBER=1 LISTENER_NAMES={"LISTENER"} LISTENER_PROTOCOLS={"TCP;1521"} LISTENER_START=""LISTENER"" NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"} NSN_NUMBER=1 NSN_NAMES={"EXTPROC_CONNECTION_DATA"} NSN_SERVICE={"PLSExtProc"} NSN_PROTOCOLS={"TCP;HOSTNAME;1521"} netca -silent -responsefile /oracle/response/netca.rsp ``` lsnrctl status 查看监听,正常。 ### 数据库的创建 #### 静默创建 ORACLE 数据库 ```sql dbca [oracle@iZwz9f32ql5nimsjsa4verZ:/oracle/response]$cat dbca.rsp |grep -Ev "^#|^$" responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0 gdbName= sid= databaseConfigType= RACOneNodeServiceName= policyManaged= createServerPool= serverPoolName= cardinality= force= pqPoolName= pqCardinality= createAsContainerDatabase= numberOfPDBs= pdbName= useLocalUndoForPDBs= pdbAdminPassword= nodelist= templateName= sysPassword= systemPassword= oracleHomeUserPassword= emConfiguration= emExpressPort=5500 runCVUChecks= dbsnmpPassword= omsHost= omsPort= emUser= emPassword= dvConfiguration= dvUserName= dvUserPassword= dvAccountManagerName= dvAccountManagerPassword= olsConfiguration= datafileJarLocation= datafileDestination= recoveryAreaDestination= storageType= diskGroupName= asmsnmpPassword= recoveryGroupName= characterSet= nationalCharacterSet= registerWithDirService= dirServiceUserName= dirServicePassword= walletPassword= listeners= variablesFile= variables= initParams= sampleSchema= memoryPercentage= databaseType= automaticMemoryManagement= totalMemory= ``` ##### 方式01.通过响应文件创建 ```sql dbca -silent -createDatabase -responseFile /oracle/response/dbca.rsp ``` ##### 方式02.通过手工指定参数创建 ```sql dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName hefeidb -sid hefeidb -databaseConfigType SI -responseFile NO_VALUE -sysPassword oracle -systemPassword oracle -characterSet ZHS16GBK -memoryPercentage 30 -emConfiguration LOCAL ``` ![image-20241117220056386](https://img-blog.csdnimg.cn/img_convert/2edd4f732f731ade81fbdf1848fc47c5.png) ```sql oracle@iZwz9f32ql5nimsjsa4verZ:/oracle/response]$dbca -help Usage: dbca [] [

相关推荐
蜕变的土豆1 分钟前
Ubuntu下软件运行常见异常退出问题汇总分析
linux·ubuntu
Serverless社区27 分钟前
MCP云托管最优解,揭秘国内最大MCP中文社区背后的运行时
阿里云·云原生·serverless·函数计算
Yushan Bai37 分钟前
ORACLE DATAGUARD遇到GAP增量恢复方式修复RAC环境备机的实践
数据库·oracle
数巨小码人44 分钟前
Linux常用指令
linux·运维·服务器
●^●1 小时前
Linux 命令行与 vi/vim 编辑器完全指南
linux·编辑器·vim
哈哈幸运1 小时前
Linux Awk 深度解析:10个生产级自动化与云原生场景
linux·云原生·自动化·awk·三剑客
Linux运维老纪1 小时前
Linux之七大难命令(The Seven Difficult Commands of Linux)
linux·运维·服务器·云计算·运维开发
漫谈网络1 小时前
Ollama工具调用(Tool Calls)业务应用案例
linux·ai·aigc·工具调用·ollama·tool calls
unique_落尘1 小时前
java操作打印机直接打印及详细linux部署(只适用于机器和打印机处于同一个网段中)
java·linux·打印机
前进的程序员3 小时前
在Linux驱动开发中使用DeepSeek的方法
linux·运维·服务器·人工智能