暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用Docker五分钟快速安装配置oracle数据库【最新版】【测试成功】

巴韭特锁螺丝 2025-03-10
16
1、安装docker环境
2、拉取镜像
    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g


        此命令会从 Docker Hub 拉取一个 6GB 大小的 Oracle 11g 镜像,可能需要一段时间,静等片刻。
    3、查看镜像

        docker images

    成功拉取后,您会看到类似如下的输出,显示镜像的相关信息:

    4. 创建容器

      docker run   -d --privileged -p 1521:1521 --name oracle11g    --restart=always -v home/oracle:/data/oracle  registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g


      命令解析:

      • -d
        :后台运行容器。
      • --privileged
        : 允许挂载数据卷,默认是读写权限rw
      • -p 1521:1521
        :将容器的 1521 端口映射到宿主机的 1521 端口。
      • --name oracle11g
        :为该容器命名为 oracle11g
      • oracle 数据文件挂载
        :-v data/dockerData/oracle:/data/oracle,将容器中的数据文件夹 data/oracle 挂载到宿主机对应的 data/dockerData/oracl 文件夹中。
      • registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
        :使用之前拉取的镜像。

      5. 进入容器进行配置

      创建并启动容器后,你可以进入容器内部进行配置:

        docker exec -it oracle11g bash


        6. 进行软连接

                在容器中执行以下命令,尝试使用 sqlplus
         工具。如果提示没有该命令,你需要切换到 root 用户:

        切换到 root 用户:

        su root

        输入密码 helowin
        (默认密码)。

        7. 配置 Oracle 环境变量

        你需要编辑 Oracle 配置文件,设置环境变量。执行以下命令:

          vi etc/profile


          在文件末尾添加以下内容:


            # 设置 Oracle 数据库的安装目录
            # ORACLE_HOME 是 Oracle 数据库安装的根目录,许多工具和脚本需要依赖这个路径
            export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2


            # 设置 Oracle 实例名
            # ORACLE_SID(System Identifier)是数据库实例的标识符,在 Oracle 中用来区分不同的实例
            # 这里设置为默认的实例名 "helowin",与安装时的配置一致 (不设置默认服务名就是ORCL)
            export ORACLE_SID=helowin


            # 将 ORACLE_HOME/bin 添加到 PATH 环境变量中
            # PATH 是系统查找可执行程序的路径列表,将 Oracle 的 bin 目录加入 PATH,方便直接运行 Oracle 命令(如 sqlplus)
            export PATH=$ORACLE_HOME/bin:$PATH


            保存并退出后,执行以下命令加载环境变量:
              source /etc/profile

              8. 创建软连接

              接下来,创建一个软连接,方便在任何地方使用 sqlplus
               命令:

                ln -s $ORACLE_HOME/bin/sqlplus usr/bin


                9. 切换到 Oracle 用户

                切换到 oracle
                 用户以确保你有足够的权限进行后续操作:

                  su - oracle


                  10. 登录 SQL*Plus 并修改 sys、system 用户密码

                  通过 SQL*Plus 登录并修改 sys
                   和 system
                   用户的默认密码:

                    # 1. 登录 SQL*Plus
                    # 使用 nolog 命令启动 sqlplus,并且不立即连接到任何用户
                    sqlplus nolog


                    # 2. 连接数据库并使用 SYSDBA 权限
                    # 通过以下命令使用 SYSDBA 权限连接到数据库
                    # 该命令表示通过操作系统身份验证以 sysdba 权限连接数据库,拥有最高管理员权限。
                    conn as sysdba


                    # 3. 修改 system 用户的密码
                    # system 是 Oracle 数据库中的一个管理员账户,修改默认的密码为更安全的密码
                    # 这里将密码设置为 system(可以自行修改为更复杂的密码)
                    alter user system identified by system;


                    # 4. 修改 sys 用户的密码
                    # sys 用户是 Oracle 数据库的另一个管理员账户,修改 sys 用户的默认密码
                    # 同样可以将密码设置为更复杂的值
                    alter user sys identified by system;


                    # 5. 创建新用户 test
                    # 创建一个新的普通用户 test,并设置其密码为 test
                    # 新用户创建后,可以根据需求授予其特定的权限
                    create user test identified by test;


                    # 6. 授予 test 用户 DBA 权限
                    # 这里我们为新创建的 test 用户授予了 DBA 权限,使其能够进行数据库的管理操作
                    # 注意:可以根据实际需求调整授予的权限
                    grant connect, resource, dba to test;


                    # 7. 设置密码永不过期
                    # Oracle 默认有一个密码过期策略,这里我们将密码策略设置为永不过期
                    # 这将防止在测试和开发环境中因密码过期而中断使用
                    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


                    # 8. 修改数据库最大连接数
                    # 默认情况下,Oracle 数据库的最大连接数是有限的,如果需要支持更多并发连接,可以调整该参数
                    # 这条命令将数据库最大连接数设置为 1000,并保存在 spfile 中
                    # 需要重启数据库后才能生效
                    alter system set processes=1000 scope=spfile;


                    # 执行完以上命令后,我们完成了用户密码修改、新用户创建、权限授予、密码策略配置和数据库配置


                    11. 重新启动数据库

                    修改完数据库用户和设置后,需要重新启动 Oracle 数据库。执行以下命令:

                      conn /as sysdba
                      shutdown immediate;   -- 关闭数据库
                      startup;              -- 启动数据库


                      12. 解决 “Database Not Open” 错误

                      在执行 alter user
                       命令时,有时可能会遇到如下错误:

                      ORA-01507: database not open


                      如果你遇到此问题,可以按照以下步骤解决:

                      先输入以下命令挂载数据库:
                      alter database mount;


                      然后再输入:
                      alter database open;


                      完成后就可以执行修改密码的操作了。

                      修改完后,再次执行 ALTER PROFILE
                       语句,设置密码永不过期:

                      ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


                      执行完毕后,输入 exit
                       退出 SQL*Plus。

                      13. Navicat 连接测试

                      成功完成数据库配置后,可以使用 Navicat 或其他数据库管理工具测试连接。确保可以顺利连接到数据库:

                        版权声明:本文内容来自CSDN:书生-w,遵循CC 4.0 BY-SA版权协议上原文接及本声明。
                        本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。
                        原文链接:https://blog.csdn.net/m0_53882348/article/details/144921836
                        如有涉及到侵权,请联系,将立即予以删除处理。
                        在此特别鸣谢原作者的创作。
                        此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。


                        文章转载自巴韭特锁螺丝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论