一、部署Oracle

部署Oracle

  • 一、Docker部署
    • 1.Oracle11g
      • [1.1 测试环境](#1.1 测试环境)
        • [1.1.1 拉取镜像](#1.1.1 拉取镜像)
        • [1.1.2 启动容器](#1.1.2 启动容器)
        • [1.1.3 配置容器环境变量](#1.1.3 配置容器环境变量)
        • [1.1.4 修改sys、system用户密码](#1.1.4 修改sys、system用户密码)
        • [1.1.5 创建表空间](#1.1.5 创建表空间)
        • [1.1.6 创建用户并授权](#1.1.6 创建用户并授权)
        • [1.1.5 使用DBeaver测试连接](#1.1.5 使用DBeaver测试连接)
  • 二、安装包部署

一、Docker部署

1.Oracle11g

1.1 测试环境

  • 当前只能用于测试环境,因为数据文件目录未挂载到宿主机
1.1.1 拉取镜像
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

二、安装包部署

相关推荐
技术宝哥1 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
学地理的小胖砸2 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
dddaidai1233 小时前
Redis解析
数据库·redis·缓存
数据库幼崽3 小时前
MySQL 8.0 OCP 1Z0-908 121-130题
数据库·mysql·ocp
Amctwd3 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
betazhou4 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh4 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵5 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多6 小时前
Linux——mysql主从复制与读写分离
数据库·mysql
初次见面我叫泰隆6 小时前
MySQL——1、数据库基础
数据库·adb