环境描述
本次演示环境部署用到的软件清单如下
组件 | 名称 |
虚拟机 | VirtualBox-6.1.30-148432-Win.exe Oracle_VM_VirtualBox_Extension_Pack-6.1.30-148432.vbox-extpack |
虚拟操作系统 | Oracle Linux 7.9 |
数据库 | LINUX.X64_193000_db_home.zip |
客户端工具 | Xshell5,winscp |
操作流程大纲
- 安装虚拟机
- 安装操作系统
- 安装数据库软件
- 安装数据库
数据库软件安装详细步骤
第一步 运行Oracle19c预安装包(root)
yum install -y oracle-database-preinstall-19c
第二步 修改操作系统配置
# 1. 重置oracle用户口令(root)
passwd oracle
# 输入新的口令: Cloud_4u
# 2. 把/etc/selinux/config中的SELINUX置为permissive(root)
vi /etc/selinux/config
# 找到SELINUX并修改:SELINUX=permissive
# 3. 关闭防火墙(root)
systemctl stop firewalld
systemctl disable firewalld
# 4. 创建数据库主目录(root)
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
# 5. 设置oracle环境变量(oracle)
su - oracle
vi ~/.bash_profile
# 添加如下内容,PATH如果已经存在了就注释掉原来的
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=cdb1
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
# :wq保存退出
# 6. 重新加载环境变量
source ~/.bash_profile
# 验证
[oracle@host01 ~]$ cd $ORACLE_HOME
[oracle@host01 dbhome_1]$ pwd
/u01/app/oracle/product/19.0.0/dbhome_1
第三步 把下载好的安装包上传到服务器/home/oracle/stage
cd /home/oracle
mkdir stage
# 打开WinSCP工具(也可以用其他的传输文件工具)把oracle安装包上传到/home/oracle/stage目录
cd $ORACLE_HOME
unzip -oq /home/oracle/stage/LINUX.X64_193000_db_home.zip
#这里要注意一下,19c安装的时候要求基目录和安装文件所在目录一致,所以解压缩的时候要选择基目录存放安装文件
第四步 安装数据库软件(图形化安装)
这里用的是图形化安装方式,为了操作方便,直接在虚拟机上操作,用oracle登录虚拟机,
注意:由于可能虚拟机分辨率的问题可能导致图形化界面显示问题,所以需要调整一下虚拟机里的操作系统桌面分辨率(在应用程序-系统工具-设置-设备-显示),如下图所示
在虚拟机里打开一个终端,并输入命令,打开oracle安装图形化界面
# oracle用户
cd $ORACLE_HOME
./runInstaller
* 提示:如果是中文操作系统,可能出现安装界面上都是方块的问题,解决办法是export LANG=en_US,也可以在.bash_profile中加入上述语句,这样每次启动都不会出问题。
依次选择【set up software only】-点击【next】-选择【Single instance....】-点击【next】
选择【Enterprise Edition】-点击【next】-选择(默认)-点击【next】-选择(默认)-点击【next】-选择(默认)-点击【next】
选择【Automatically run...】-输入服务器root口令-点击【next】-点击【next】
进入安装过程,等待安装完成。
第五步 配置监听
# 虚拟机终端中输入命令打开监听管理界面
netca
选择【Listener configuration】-点击【next】-选择【Add】-点击【next】-Listener name(默认)-点击【next】-选择【TCP】-点击【next】-选择【Use the standard...1521】-点击【next】直到结束
完成后关闭窗口
打开监听
lsnrctl start
# 查看监听状态
# lsnrctl status
# 关闭监听
# lsnrctl stop
# 打开指定监听
# lsnrctl start 监听名称
创建数据库的操作步骤
这里也是用图形界面进行操作。
# 打开一个终端输入命令
dbca
选择【Create a database】-点击【next】-选择【Advanced configuration】-点击【next】
Database type: 选择【Oracle Single...】
Template name:选择【General Purpose or ....】,点击【Next】
如果要创建多租户的数据库,选择【Create as Container database】,不选择就是创建非多租户数据库;输入Global dabase name,SID或PDB name(默认也可以),点击【Next】-选择【Use template file ...】-点击【Next】-选择【Specify Fast Recovery Area】-点击【Next】-选择(默认)-点击【Next】
一路
选择【Add sample schemas...】
选择【Use the same administrative password...】,输入数据库管理员口令Cloud_4u
点击【Finish】开始创建数据库,耐心等待,直至结束
第六步 验证
# oracle用户
su - oracle
sqlplus / as sysdba
select * from v$database;
# 启动数据库
# startup
# 关闭数据库
# shutdown immediate
附录
问题一:
oracle中的提示是???
解决办法
SQL> alter session set nls_language=english;--这个方法只对当前会话有效,且在会话关闭后失效
Session altered.
SQL> alter system set nls_language=english scope=spfile;--重启数据库后生效,这个是最彻底的
问题二:
启动数据库报错:ORA-01102 XXXXXXXX
解决办法
[oracle@host01 pfile]$ cd $ORACLE_HOME/dbs
[oracle@host01 dbs]$ ls
hc_cdb1.dat hc_cdb.dat initcdb1.ora init.ora lkCDB orapwcdb spfilecdb.ora
[oracle@host01 dbs]$ /sbin/fuser -u lkCDB
/u01/app/oracle/product/19.0.0/dbhome_1/dbs/lkCDB: 21252(oracle) 21254(oracle) 21257(oracle) 21263(oracle) 21267(oracle) 21269(oracle) 21277(oracle) 21283(oracle) 21287(oracle) 21289(oracle) 21291(oracle) 21293(oracle) 21295(oracle) 21299(oracle) 21305(oracle) 21309(oracle) 21311(oracle) 21317(oracle)
[oracle@host01 dbs]$ /sbin/fuser -k lkCDB
/u01/app/oracle/product/19.0.0/dbhome_1/dbs/lkCDB: 21252 21254 21257 21263 21267 21269 21277 21283 21287 21289 21291 21293 21295 21299 21305 21309 21311 21317
[oracle@host01 dbs]$ /sbin/fuser -u lkCDB
问题三:
启动数据库报错:ORA-01041: 内部错误XXXX
解决办法:
关掉当前的sqlplus窗口
打开cmd窗口,输入sqlplus /nolog
conn /as sysdba;
startup; 即可