# 创建oracle所需用户组、用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "Oracle123456" | passwd --stdin oracle
# 内核参数(最小化)
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6553500
kernel.shmall = 1048576
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
EOF
sysctl -p
# 资源限制
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 1024
oracle hard nproc 4096
oracle soft nofile 1024
oracle hard nofile 4096
EOF
# 安装系统依赖(Oracle必需)
yum install -y bc binutils elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel make sysstat libnsl
ln -sf /usr/lib64/libnsl.so.2 /usr/lib64/libnsl.so.1
rpm -ivh --nodeps oracle-database-ee-19c-1.0-1.x86_64.rpm
su - oracle
vi ~/.bash_profile
添加以下内容
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
执行生效
source ~/.bash_profile
cd $ORACLE_HOME/network/admin
vi listener.ora
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.247.133)(PORT = 1521))
)
)
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = ORCLCDB)(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
)
)
vi tnsnames.ora
ORCLCDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCLCDB)
)
)
cd $ORACLE_HOME/network/admin
lsnrctl start
lsnrctl status
内存参数 totalMemory 根据机器内存调整,虚拟机 2G 内存就设 1024,4G 内存设 2048
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName ORCLCDB -sid ORCLCDB \
-responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword "Oracle@123" \
-systemPassword "Oracle@123" \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName ORCLPDB \
-pdbAdminPassword "Oracle@123" \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 2048 \
-storageType FS \
-datafileDestination /opt/oracle/oradata \
-redoLogFileSize 128 \
-emConfiguration NONE \
-ignorePreReqs
# 切换oracle用户,设置环境变量
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
sqlplus / as sysdba
-- 查看当前容器(CDB$ROOT)
SHOW CON_NAME;
-- 切换到PDB ORCLPDB
ALTER SESSION SET CONTAINER=ORCLPDB;
SHOW CON_NAME;
#打开PDB(如果PDB是mount状态,必须执行一次)
ALTER PLUGGABLE DATABASE ORCLPDB OPEN;
#在ORCLPDB里面创建本地用户,PDB本地用户不需要C##前缀
CREATE USER dmtest IDENTIFIED BY dmtest123 QUOTA UNLIMITED ON USERS;
GRANT CREATE SESSION, CREATE TABLE TO dmtest;
#登录用户创建表
sqlplus dmtest/dmtest123@192.168.247.133:1521/ORCLPDB
#dmtest用户下建测试表
CREATE TABLE test_tbl(id NUMBER,name VARCHAR2(50));
INSERT INTO test_tbl VALUES(1,'DM_DBLINK_TEST');
COMMIT;
SELECT * FROM test_tbl;
能正常查询说明 Oracle 库就绪。
创建dmdba用户,并上传镜像到/home/dmdba/dm/dmsoft
su - root
groupadd dinstall
useradd -g dinstall -m -d /dm/dmdbms -s /bin/bash dmdba
mkdir -p /dm/dmdbms
mkdir -p /dm/dmsoft
chown -R dmdba:dinstall /dm/
安装数据库
su - root
cd /dm/dmsoft
mount -o loop dm8_20260831_HWarm920_kylin10_sp1_64.iso /mnt
su - dmdba
cd /mnt
./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c (选择安装语言为中文)
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y (指定key文件路径,路径为 /dm/dmsoft/dm.key)
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y (使用默认的时区,即中国所在的东8区)
请选择安装类型的数字序号 [1 典型安装]:1 (典型安装)
请选择安装目录 [/home/dmdba/dm/dmdbms]:/dm/dmdbms (指定软件安装路径)
是否确认安装路径? (Y/y:是 N/n:否) [Y/y]:y
是否确认安装 (Y/y,N/n) [Y/y]:y
…….省略安装过程
安装完成。
安装完后以root用户执行:/dm/dmdbms/script/root/root_installer.sh
初始化数据
./dminit path=/dm/dmdata DB_NAME=DMSERVER INSTANCE_NAME=DMSERVER page_size=32 log_size=2048 charset=0 case_sensitive=1 rlog_gen_for_huge=0 sysdba_pwd=Dameng@2026 sysauditor_pwd=Dameng@2026 syssso_pwd=Dameng@2026
启动数据库
./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /dm/dmdata/DMSERVER/dm.ini
./DmServiceDMSERVER start
./disql SYSDBA/'"Dameng@2026"':5236
yum install -y libnsl --麒麟需要安装依赖
su - dmdba
上传包instantclient-basic-linux.x64-19.32.0.0.0dbru.zip 到/dm下
chown -R dmdba:dinstall instantclient-basic-linux.x64-19.32.0.0.0dbru.zip
cd /dm
unzip instantclient-basic-linux.x64-19.32.0.0.0dbru.zip
cp -r instantclient_19_32 /dm/dmdbms/bin
# 校验OCI库依赖,不能有not foundcd $DM_HOME/bin/instantclient_19_32
cd $DM_HOME/bin/instantclient_19_32
ldd libclntsh.so.19.1
# 创建tns目录
mkdir -p $DM_HOME/bin/instantclient_19_32/network/admin
# dmdba交互式环境变量
vi ~/.bash_profile
export DM_HOME="/dm/dmdbms"
export ORACLE_HOME=/dm/dmdbms/bin/instantclient_19_32
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ORACLE_HOME:/usr/lib64:/usr/local/lib:$DM_HOME/bin:$DM_HOME/tool:"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 #必须和远端 Oracle 数据库字符集匹配
export PATH=$ORACLE_HOME:$PATH
#执行语句让环境变量生效
source ~/.bash_profile
cd $DM_HOME/bin
./DmServiceDMSERVER stop
./DmServiceDMSERVER start
./disql SYSDBA/'"*****"'
CREATE PUBLIC LINK LINK_ORA CONNECT 'ORACLE' WITH dmtest IDENTIFIED BY dmtest123 USING '192.168.247.133:1521/ORCLPDB';
SELECT * FROM TEST_TBL@LINK_ORA;
文章
阅读量
获赞
