部署Oracle
一、Docker部署
1.Oracle11g
1.1 测试环境
- 当前只能用于测试环境,因为数据文件目录未挂载到宿主机
1.1.1 拉取镜像
- 该镜像是阿里云的,下载速度会比较快
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
- 该镜像的root密码:
helowin
- 需要su root切
1.1.2 启动容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
- 参数详解:
- -d:表示以后台模式(detached mode)运行容器,即使在关闭终端之后,容器也可以继续运行。
- -p 1521:1521:将容器的 1521 端口映射到宿主机的 1521 端口。这样,你可以从宿主机上的客户端连接到容器中运行的 Oracle 数据库。
- –name oracle11g:为容器指定一个名称,方便后续对容器进行管理和操作。
- registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:指定要运行的 Docker 镜像名称。该镜像是一个包含 Oracle 11g 数据库的镜像,由阿里云提供。
1.1.3 配置容器环境变量
# 1.进入容器
docker exec -it oracle11g bash
# 2.打开 bashrc,每次进来就会加载,这个修改oracle用户的即可
vi ~/.bashrc
# 在profile最后面加上以下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
# 4.刷新配置
source ~/.bashrc
1.1.4 修改sys、system用户密码
登录oracle
[oracle@d37726651279 /]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 12 10:28:17 2024
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
修改默认用户密码
SQL> alter user system identified by system;
User altered.
SQL> alter user sys identified by sys;
User altered.
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
- 命令详解
- ALTER USER system IDENTIFIED BY system;:这个命令用于修改 system 用户的密码。在这个例子中,将密码修改为 system。你可以根据需要替换 system 为其他复杂的密码。
- ALTER USER sys IDENTIFIED BY sys;:这个命令用于修改 sys 用户的密码。在这个例子中,将密码修改为 sys。同样,你可以根据需要替换为其他密码。
- 注意:修改 sys 和 system 用户的密码需要非常小心,确保使用强密码并只授权给受信任的用户。
- ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;:这个命令用于更改默认配置文件 DEFAULT 的密码策略。在这个例子中,将密码寿命限制设置为无限制,即密码永不过期。
1.1.5 创建表空间
# 使用sysdba账户进入
sqlplus / as sysdba
# 创建表空间
SQL> create tablespace test_db datafile '/home/oracle/app/oracle/oradata/helowin/test_db.dbf' size 1024M autoextend on next 100M;
Tablespace created.
- 参数详解:
- create tablespace:创建表空间的 SQL 关键字。
- test_db:新表空间的名称。
- datafile:指定该表空间所使用的数据文件。
- ‘/home/oracle/app/oracle/oradata/helowin/test_db.dbf’:数据文件的完整路径和文件名。
- size 1024M:指定数据文件的初始大小为 1024 MB。
- autoextend on:表示数据文件启用自动扩展功能。
- next 100M:指定每次自动扩展的增量为 100 MB。
1.1.6 创建用户并授权
一个用户可以被授权使用多个表空间,而一个表空间也可以被授权给多个用户使用。
/*创建用户 并授权test_db表空间*/
create user ora_user identified by qwe123 default tablespace test_db;
/*授权 DBA 角色给test_user的 SQL 语句。在 Oracle 数据库中,DBA 角色是最高权限的角色之一,拥有对数据库实例的完全访问权和管理权。*/
grant dba to ora_user;
1.1.5 使用DBeaver测试连接
- 在sqlplus使用system用户登录,查询服务名称
[oracle@d37726651279 /]$ sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 12 10:54:11 2024
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter user-name: system
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select value from v$parameter where name = 'service_names';
VALUE
--------------------------------------------------------------------------------
helowin
- 需要先查看端口是否开放
# 开放1521端口,需要回到宿主机执行!!!
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload