1、拉取镜像(6G多)两种方式二选一 在线拉取(快慢取决于网络)、本地拉取(自己有打包好的镜像)
在线拉取
命令: docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
本地拉取
利用工具把镜像oracle11g.tar.gz上传到linux的root下面(路径根据个人自定义选择,我这里选择是root下面)
个人打包好的镜像: 点击查看 提取码:8888
命令: docker load < /root/oracle11g.tar.gz
2、查看docker 镜像
命令: docker images
3、创建容器
命令: docker run -d --restart=always -v /home/oracle:/data/oracle -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
说明: --restart=always 设置docker自动启动oracle
-v /home/oracle:/data/oracle 挂载表空间到自定义路径(/home的路径内存充足),创建表空间路/data/oracle(根据个人自定义)
-p 映射端口
--name 定义容器名
4、进入镜像配置
命令: docker exec -it oracle11g bash
命令: su root
Password: helowin
给予权限挂载的文件夹
chown -R oracle /data
5、编辑profile文件配置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
6、保存后使配置文件生效
命令: source /etc/profile
7、创建连接
命令: ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
8、切换用户
命令: su - oracle
9、修改sys system用户的密码(密码个人自定义,这里用xxx代表)
命令: sqlplus /nolog
SQL> conn /as sysdba
SQL> alter user system identified by xxx;
SQL> alter user sys identified by xxx;
SQL> create user admin identified by xxx; --创建一个管理账号,自定义账号和密码
SQL> grant connect,resource,dba to admin; --授权给管理账号
[root@4c54e0e0f076 /]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
[root@4c54e0e0f076 /]# su - oracle
[oracle@4c54e0e0f076 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sun Sep 5 12:51:08 2021
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> alter user system identified by xxx;
User altered.
SQL> alter user sys identified by xxx;
User altered.
SQL> create user admin identified by xxx;
User created.
SQL> grant connect,resource,dba to admin;
Grant succeeded.
10、根据个人需求修改密码永不过期(默认180天)和密码输入错误不锁定(默认10次锁定)
SQL> alter profile default limit PASSWORD_LIFE_TIME unlimited;
SQL> alter profile default limit failed_login_attempts unlimited;
11、修改最连接数
SQL> alter system set processes=1000 scope=spfile;
12、根据个人需求修改字符集(默认AL32UTF8) 这里我用到是ZHS16GBK
SQL> select userenv('language') from dual; --查看字符集
SQL> shutdown immediate;
SQL> startup mount;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
SQL> shutdown immediate;
SQL> startup
SQL> select userenv('language') from dual; --AMERICAN_AMERICA.ZHS16GBK
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2213776 bytes
Variable Size 402655344 bytes
Database Buffers 1191182336 bytes
Redo Buffers 7360512 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> alter database open;
Database altered.
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2213776 bytes
Variable Size 402655344 bytes
Database Buffers 1191182336 bytes
Redo Buffers 7360512 bytes
Database mounted.
Database opened.
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
SQL>
提示: 如使用视图工具连接数据库 ip:1521/helowin
完毕!