在实际项目中,需要在演示环境中去部署数据库,项目中使用Docker来部署环境,需要提前准备好资源镜像,在离线情况下去部署oracle。
1.镜像准备本文中提供了 oracle11g 的原始镜像 如下;
链接:https://pan.baidu.com/s/1tDcYr_o4p6SJ9s1rEzxAwA
提取码:slz5
在项目中经常会将镜像进行导入导出
导出:如果在命令中不选择路径会默认导入到当前目录中。
首先查看磁盘空间剩余量:
df -h
选择容量较多的空间去创建一个文件夹用来保存导出的镜像。
在创建的文件夹目录下 运行下面的指令就会将镜像打包出来
命令:docker save [OPTIONS] IMAGE [IMAGE...] 示例: docker save my_oracle11g.tar oracle11g:1.0;
导入:
命令:docker load [OPTIONS] 示例:docker load --input /home/app/my_oracle11g.tar2.安装oracle及基本配置
查看镜像
docker images
创建容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
进入镜像进行配置
docker exec -it oracle11g bash --进入容器 su root --进入root权限 输入密码:helowin
编辑profile文件配置ORACLE环境变量
打开:vi /etc/profile 在文件中加入下面内容: export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH ESC :wq 保存并退出 保存后执行source /etc/profile 加载环境变量;
创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到oracle 用户
su oracle
登录sqlplus 进行基本配置
sqlplus /nolog --登录 conn /as sysdba alter user system identified by system; --修改system用户账号密码; alter user sys identified by system; --修改sys用户账号密码; create user test identified by test; -- 创建内部管理员账号密码; grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码; ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期; alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;
修改以上信息后,需要重新启动数据库;
shutdown immediate; --关闭数据库 startup; --启动数据库
连接: 修改完之后 服务名为helowin 初始用户名密码为 system system ;
修改服务名
查询 show parameter service_name; select * from global_name; 修改: alter system set service_names='orcl' scope=both; alter database rename global_name to orcl;
创建新用户
CREATE USER oracle2022 IDENTIFIED BY oracle2022; 授权 GRANT CONNECT, RESOURCE, DBA TO oracle2022;
综上: 修改完成之后 再次通过Navicat 使用创建的新用户进行链接此时的服务名就为orcl



