本文中,主要介绍关于Oracle数据在Cent OS操作系统上部署过程,有需要的同学,可以自行实践验证,若是有更好的安装部署方式,也可以留言。。。
一、前置安装包
yum install -y libaio bc flex net-tools
二、安装Oracle rpm
# 文件加速下载地址:https://ghproxy.com/https://github.com/liushilive/github_exercise_linux/releases/download/1.0/oracle-xe-11.2.0-1.0.x86_64.rpm
curl -L -O https://github.com/liushilive/github_exercise_linux/releases/download/1.0/oracle-xe-11.2.0-1.0.x86_64.rpm
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
三、配置Oracle
- Oracle Application Express 的有效 HTTP 端口(默认值为 8080)
- Oracle 数据库侦听器的有效端口(默认为 1521)
- SYS 和 SYSTEM 管理员帐户密码:123456
- 确认 SYS 和 SYSTEM 管理员帐户的密码:123456
- 数据库在计算机启动时自动启动(下次重新引导)
echo -e "\n\n123456\n123456\ny" | /etc/init.d/oracle-xe configure
注意,上面的默认密码为 123456 需要的自行修改一下!!!!
四、配置环境变量
cd ~
cat >> .bash_profile << EOF
. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
EOF
让环境变量生效:
su -
五、允许远程访问
sqlplus "sys/123456 as sysdba" <<EOF
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
EOF
注意:上面的密码若是修改了,此处应该填写正确的密码!!
六、配置防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
以通过下面的地址访问确认是否安装成功
http://<server-ip>:8080/apex/f?p=4950:1 用户名:system 密码:123456
七、开启Swap
这块可以自行根据服务器实际情况,进行设置,这里给出一个文章参考:
参考:https://blog.csdn.net/weixin_42697074/article/details/104028459
相关脚本如下:
# step1
free -h
# step2 创建swap文件
#进入一个打算放置swapfile的目录(这里是放在 var 目录下)
cd /var/
#创建大小为1024*1024*32的文件swapfile
dd if=/dev/zero of=swapfile bs=1024 count=33554432
#设置成交换分区文件
mkswap swapfile
#启用此交换分区的交换功能
swapon swapfile
# 注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a
# step3 设置开机时自启用 SWAP 分区
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
八、常见Oracle表空间、用户
Oracle需要创建表空间、用户等。相关步骤如下:
8.1 创建临时表空间
create temporary tablespace ILLEGAL_TEMP
tempfile '/u01/app/oracle/oradata/XE/illegal_temp.dbf'
size 50m
autoextend on
next 50m maxsize unlimited
extent management local;
8.2 创建数据表空间
create tablespace ILLEGAL_DATA
logging
datafile '/u01/app/oracle/oradata/XE/illegal.dbf'
size 50m
autoextend on
next 50m maxsize unlimited
extent management local;
8.3 创建用户并指向表空间
create user demo identified by demo
default tablespace ILLEGAL_DATA
temporary tablespace ILLEGAL_TEMP;
8.4 给用户授予权限
grant connect,resource,dba to ss_dba;
九、常见问题及解决办法
9.1 重启Oracle
# 进入到Oracle的home路径下
cd /u01/app/oracle/product/11.2.0/xe/bin
# dba linux用户登录
su oracle
# 停止监听
lsnrctl stop
# 连接dba,停止数据库
$ sqlplus /nolog
SQL > conn / as sysdba
SQL > shutdown immediate
SQL > exit
$ lsnrctl start
# 连接dba 启动Oracle服务
$ sqlplus /nolog
SQL > conn / as sysdba
SQL > startup
# 验证:
SQL > select * from dual;
SQL > exit
9.2 PL/SQL连接出现“ORA-12516 TNS: 监听程序找不到符合协议堆栈要求的可用处理程序”解决
# 登录Oracle服务器
# system/123456
$ sqlplus
# 查看当前数量
SQL > select count(*) from v$process;
# 连接成功后,执行如下语句
# 注意,sessions = processes*1.5 + 5;
SQL > alter system set processes=1000 scope=spfile;
SQL > alter system set sessions=1505 scope=spfile;
# 重启数据库,参考 9.1 小节
9.3 Oracle出现 ora-01045解决方法
# 使用系统用户登录后,使用如下sql语句给出错用户赋权限
grant create session to UserName; # (UserName是登录出错的用户名)
相关问题,欢迎留言提问;欢迎大家点赞、关注、收藏~