1.在线拉去镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

查看拉去好的镜像:最新版本6.85GB

在这里插入图片描述

2.创建容器并运行

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

在这里插入图片描述

  • –privileged 允许挂载数据卷,默认是读写权限rw
  • -d:以后台方式运行实例,(退出容器oracle依旧运行)
  • 配置端口映射:
  • -p 1521:1521 指定宿主机器1521:docker容器1521端口 映射。
  • oracle 数据文件挂载: -v /data/dockerData/oracle:/data/oracle,将容器中的数据文件夹 /data/oracle 挂载到宿主机对应的 /data/dockerData/oracl 文件夹中。
  • 设置oracle 容器名称: --name oracle11g

3.进入创建好的容器

docker exec -it oracle11g bash

接着:登录设置密码

命令: su root
        Password: helowin

4.配置oracle环境变量

切换root身份登录

  • 开启编辑权限挂载的文件夹
chmod 755 /data/oracle
  • 配置环境变量
vi /etc/profile

编辑:按 i 键进入编辑,在文件最后添加下面内容, 按Esc键退出编辑模式,输入 :wq! 保存

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

保存后使配置文件生效

source /etc/profile

创建软连接

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

5.配置用户

下面是修改默认用户密码

切换用户,并登录
命令: su - oracle
命令: sqlplus /nolog
SQL> conn /as sysdba
修改sys system用户的密码(密码个人自定义,这里用root代表)
SQL> alter user system identified by root;        
SQL> alter user sys identified by root;
SQL> create user admin identified by root;        --创建一个管理账号,自定义账号和密码
SQL> grant connect,resource,dba to admin;     --授权给管理账号

重启数据库:

#关闭数据库
SQL> shutdown immediate;
#开启mount状态
SQL> startup mount;
# 开启归档日志,出现Database altered. 表示开启成功
SQL> alter database archivelog;
#查看归档状态
SQL> SELECT log_mode FROM v$database;
#打开数据库,一定要执行
SQL> alter database open;

exit退出sqlplus,查看一下oracle实例状态

[root@f8f87a6214f9 /]# lsnrctl status
 
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-SEP-2024 23:01:18
 
Copyright (c) 1991, 2009, Oracle.  All rights reserved.
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                25-SEP-2024 21:49:14
Uptime                    0 days 1 hr. 12 min. 4 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/f8f87a6214f9/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=f8f87a6214f9)(PORT=1521)))
Services Summary...
Service "helowin" has 1 instance(s).
  Instance "helowin", status READY, has 1 handler(s) for this service...
Service "helowinXDB" has 1 instance(s).
  Instance "helowin", status READY, has 1 handler(s) for this service...

6.注意事项

归档日志将占用大量的磁盘空间,如磁盘空间允许,则建议调大归档日志空间。

SQL> show parameter recovery
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/app/oracle/fast_recovery_
                                                 area
db_recovery_file_dest_size           big integer 4182M
recovery_parallelism                 integer     0
 
# 修改归档目录地址
SQL> alter system set db_recovery_file_dest='/u01/app/oracle/archivelog' scope=spfile;
System altered.
 
# 修改归档目录大小
SQL> alter system set db_recovery_file_dest_size=4096m scope=spfile;
System altered.
 
#重启数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area  759943168 bytes
Fixed Size                  2257112 bytes
Variable Size             499126056 bytes
Database Buffers          255852544 bytes
Redo Buffers                2707456 bytes
Database mounted.
Database opened.
SQL> show parameter recovery
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/app/oracle/archivelog
db_recovery_file_dest_size           big integer 4G
recovery_parallelism                 integer     0

7.启用scott测试账号

输入如下命令:sqlplus /nolog
SQL> conn /as sysdba
输入口令:sys as sysdba  
//注意:在口令这里输入的密码后面必须要跟上as sysdba.

输入用户名和口令(按照这个方法,这里直接进入)

请输入用户名:sys
输入口令:sys as sysdba  
//注意:在口令这里输入的密码后面必须要跟上as sysdba.

输入更改命令

SQL> alter user scott account unlock;  
//注意这里记得后面的分号,不然后面会出现一个2

接下来,还可以重新给scott这个用户设定密码:

SQL>alter user scott identified by tiger;
//(同样注意分号)

用户已更改,(tiger为新的密码)

8.PLSQL Developer可视化工具测试远程连接

在这里插入图片描述
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐