- 准备工作
- 操作系统:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso
- Oracle:linux-oracle11.2.4,
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
- 依赖包:package_ky10sp1_oracle.zip
- 安装界面中文乱码:filegroup4.jar
- 系统配置安装
- 修改时区:timedatectl set-timezone "Asia/Shanghai"
- 配置主机名:hostnamectl set-hostname orcl
- 配置/etc/hosts文件:(将本机的ip地址和主机名增加到hosts文件最后)
cat <<EOF >>/etc/hosts
`hostname -I` `hostname`
EOF
- 关闭selinux:
将/etc/selinux/config这个文件中SELINUX=enforcing改成SELINUX=disabled
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
getenforce
- 关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
- 配置系统资源限制limits.conf
cat <<EOF >>/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
EOF
- 配置系统用户登录限制:
cat <<EOF >>/etc/pam.d/login
session required pam_limits.so
session required /lib64/security/pam_limits.so
EOF
- 配置系统参数sysctl.conf
cat <<EOF >>/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967296
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 = 1048576
EOF
sysctl -p
- 配置本地YUM源:
将系统安装文件Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso放入/home/soft目录下,
mount /home/soft/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso /mnt
这个警告信息表明你在尝试挂载一个文件系统时,系统检测到源设备是写保护(read-only)的,因此自动以 只读(read-only)模式 挂载到 /mnt,这是正常的不用管。
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
cat <<EOF>>/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
EOF
- 创建Oracle用户和组
/usr/sbin/groupadd -g 1019 oinstall
/usr/sbin/groupadd -g 1020 dba
/usr/sbin/groupadd -g 1021 oper
/usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle
echo "aA@13579" | passwd --stdin oracle
- 创建Oracle安装目录
mkdir -p /app/oracle
mkdir -p /app/oraInventory
mkdir -p /app/oracle/product/11.2.0/db_1
mkdir -p /oradata
chown -R oracle.oinstall /app
chown -R oracle.oinstall /oradata
- 配置Oracle用户下的环境变量
cat <<EOF>>/home/oracle/.bash_profile
export EDITOR=vi
export ORACLE_SID=orcl
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export PATH=\$ORACLE_HOME/bin:$PATH
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib:\$ORACLE_HOME/network/jlib
umask 022
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
EOF
- 上传Oracle数据库安装软件到服务器并解压
需要按顺序解压1,2安装包:
chown -R oracle:oinstall /home/soft
su - oracle
cd /home/soft
unzip -q p13390677_112040_Linux-x86-64_1of7.zip && unzip -q p13390677_112040_Linux-x86-64_2of7.zip
解压时间会比较长,大概20分钟,等待就可以了。
解压后执行,处理oracle自带unzip问题
cd /home/soft/database/install
mv unzip unzip.bak
ln -s /usr/bin/unzip
安装界面中文乱码问题,更换filegroup4.jar包
cp filegroup4.jar /home/soft/database/stage/Components/oracle.jdk/1.5.0.51.10/1/DataFiles
- 安装依赖包(挂载本地yum源后执行)
使用事先准备好的 package_ky10sp1_oracle.zip
切换到root用户,查询已安装libaio版本:rpm -qa | grep libaio
卸载原有libaio:rpm -e --nodeps libaio-0.3.112-5.p01.ky10.x86_64
解压依赖包,切换到依赖包目录:
unzip -q package_ky10sp1_oracle.zip
cd package_ky10sp1_oracle/
安装依赖包中所有rpm文件:
rpm -ivh *.rpm --nodeps --force
安装其他依赖包:
yum install gcc*
确定吗?[y/N]:输入“y”回车
cp libpthread_nonshared.a /usr/lib64/
chmod 755 /usr/lib64/libpthread_nonshared.a
yum install xorg-x11-utils libXmu-devel
确定吗?[y/N]:输入“y”回车
- 配置vnc图形化安装
检查是否安装桌面 systemctl get-default
su - oracle
输入4次密码,连接VNC远程工具或者直接打开虚拟机图形化界面
vncserver
vncserver :1 -geometry 1280x800
export DISPLAY=:1
export DISPLAY=:0.0
root用户下执行:(echo $DISPLAY)
su -
export DISPLAY=:0.0
xhost +
切换到oracle用户执行安装程序:
su - oracle
cd /home/soft/database/
./runInstaller
- 图形化安装oracle11g
点击【下一步】,点击【是】
选【跳过软件更新】,点击【下一步】
选【仅安装数据库软件】,点击【下一步】
选【单实例数据库安装】,点击【下一步】
点击【下一步】
选【企业版(4.7GB)】,点击【下一步】
与之前【创建Oracle安装目录】配置保持一致,点击【下一步】
与之前【创建Oracle安装目录、创建Oracle用户和组】配置保持一致,点击【下一步】
与之前【创建Oracle用户和组】配置保持一致,点击【下一步】
选【全部忽略】,点击【下一步】
确认信息无误,点击【安装】
安装程序安装到86%报错:不要关闭页面!
解决方法:登陆oracle用户执行下面语句,再点【重试】
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
安装程序安装到94%提示:不要关闭页面!
登陆root用户执行下面语句,再点【确定】
/app/oraInventory/orainstRoot.sh
/app/oracle/product/11.2.0/db_1/root.sh
如此Oracle soft便安装成功了!✿✿ヽ(°▽°)ノ✿
- 配置开机自启动oracle服务
切换到oracle用户:su - oracle
编辑文件:vim /etc/oratab
在文件最后增加:orcl:/app/oracle/product/11.2.0/db_1:Y
点击【i】编辑,编辑完点击【Esc】退出编辑,输入【:wq】保存并关闭(【:qa!】不保存退出)
切换到root用户:su -
编辑文件:vim /etc/rc.d/rc.local
在文件最后增加:touch /var/lock/subsys/local
点击【i】编辑,编辑完点击【Esc】退出编辑,输入【:wq】保存并关闭(【:qa!】不保存退出)
启动oracle服务:
su - oracle -lc "/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su - oracle -c "/app/oracle/product/11.2.0/db_1/bin/dbstart"
- 登陆数据库
切换到oracle用户:
su - oracle
sqlplus / as sysdba
退出登陆:
exit
- 创建实例与监听
- dbca和netca中文乱码处理:
解决方法:将准备好的fallback文件夹放入$ORACLE_HOME/jdk/jre/lib/fonts目录下,重新启动配置程序,中文就正常了。
cp -r fallback /app/oracle/product/11.2.0/db_1/jdk/jre/lib/fonts
- 创建数据库
切换到root用户:
export DISPLAY=:0.0
xhost +
切换到oracle用户:
su - oracle
export DISPLAY=:0.0
dbca
点击【下一步】
选择【创建数据库】,点击【下一步】
选择【一般用途或事务处理】,点击【下一步】
输入【全局数据库名】【SID】,保持一致orcl,点击【下一步】
去掉勾选【配置Enterprise Manager】(现在安装会报错,配置完监听再安装),点击【下一步】
选择【所有账户使用同一管理口令】,输入密码,点击【下一步】
选择【使用模版中的数据库文件位置】,即安装时配置的文件路径,点击【下一步】
去掉勾选【指定快速恢复区】,点击【下一步】
点击【下一步】
点击【下一步】
点击【下一步】
选择【创建数据库】,点击【完成】,开始安装
点击【口令管理】为特殊用户设置固定密码(sys、system等),再点击【退出】
数据库实例启动:
sqlplus / as sysdba
startup;
查看数据库实例是否启动:SELECT value FROM v$parameter WHERE name = 'db_unique_name';
乱码问题:export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
查询数据库字符集:SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';
永久生效:
切换到oracle用户:su - oracle
编辑文件:vim ~/.bash_profile
在文件最后增加:export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
点击【i】编辑,编辑完点击【Esc】退出编辑,输入【:wq】保存并关闭(【:qa!】不保存退出)
生效修改:source ~/.bash_profile
- 配置监听
切换到root用户:
su -
export DISPLAY=:0.0
xhost +
切换到oracle用户:
su - oracle
export DISPLAY=:0.0
netca
选择【监听程序配置】,点击【下一步】
选择【添加】,点击【下一步】
首次设置默认监听名称即可,点击【下一步】
点击【下一步】
选择【使用标准端口号1521】,点击【下一步】
选择【否】,点击【下一步】
监听配置完成
启动监听:lsnrctl start
查看监听是否启动:lsnrctl status
- 配置Oracle Enterprise Manager (EM)
切换到oracle用户:su - oracle
export DISPLAY=:0.0
dbca
选择【配置数据库选件】,点击【下一步】
选择已安装数据库【orcl】,点击【下一步】
勾选【配置Enterprise Manager】,点击【下一步】
点击【下一步】
选择【所有账户使用同一管理口令】,输入密码保持和之前一致,点击【下一步】
选择【专用服务器模式】,点击【完成】,开始安装
等待安装完成
安装完成,点击【否】,关闭安装
确认数据库唯一名称(UNQNAME):
export ORACLE_UNQNAME=orcl
echo $ORACLE_UNQNAME
永久生效:
切换到oracle用户:su - oracle
编辑文件:vim ~/.bash_profile
在文件最后增加:export ORACLE_UNQNAME=orcl
点击【i】编辑,编辑完点击【Esc】退出编辑,输入【:wq】保存并关闭(【:qa!】不保存退出)
生效修改:source ~/.bash_profile
启动em服务:emctl start dbconsole
em登陆地址:https://192.168.1.123:1158/em
- 日常使用
- 数据库实例启动:
切换用户oracle:su - oracle
连接数据库:sqlplus / as sysdba
启动实例:startup;
退出登陆:exit
查看数据库实例是否启动:SELECT value FROM v$parameter WHERE name = 'db_unique_name';
SELECT status FROM v$instance;
- 启动监听:(启动报错可能是网路没有连接)
lsnrctl start
查看监听是否启动:
lsnrctl status
- 启动em服务:
emctl start dbconsole