docker安装oracle11g、连接、创建新用户

1 篇文章 0 订阅
1 篇文章 0 订阅

安装oracle

1、安装docker环境。
https://blog.csdn.net/u014069688/article/details/100532774
2、开始拉取oracle镜像(时间比较久,建议docker使用阿里云镜像)

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

在这里插入图片描述
3、下载完成后,查看镜像

ocker images

在这里插入图片描述
4、创建容器

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

如果创建成功能会返回容器id
在这里插入图片描述
5、进入镜像进行配

docker exec -it oracle11g bash

在这里插入图片描述
6、进行软连接

 sqlplus /nolog

发现没有该命令,所以切换root用户。

 su root 

输入密码:helowin

7、编辑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

在这里插入图片描述
8、保存后执行 source /etc/profile 加载环境变量;
9、创建软连接

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

10、切换到oracle 用户(中间加“-”)
在这里插入图片描述
11、登录sqlplus并修改sys、system用户密码

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 yan_test; --将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

在这里插入图片描述
12、修改以上信息后,需要重新启动数据库;

conn /as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库
exit--退出软链接

其中一个坑说明
当执行修改密码的时候出现 : database not open
提示数据库没有打开,不急按如下操作
输入:alter database open;
注意了:这里也许还会提示 : ORA-01507: database not mounted
在这里插入图片描述
解决办法:
输入:alter database mount;
输入 :alter database open;
在这里插入图片描述
然后就可执行 修改数据库密码的命令了
改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
刷新下表 exit 是退休sql 软连接在这里插入图片描述

服务器重启需要执行的语句

(可以配置开机自启,但我还不会)
启动 docker start oracle11g
配置 docker exec -it oracle11g bash
退出但不关闭docker容器快捷键 Ctrl+Q+P

连接

修改服务名
1,oracle默认服务名为helowin 不想改直接连也行
在这里插入图片描述

修该服务名为orcl

--先查
 show parameter service_name;
 select * from global_name;
 --后改
alter system set service_names='orcl' scope=both;
alter database rename global_name to orcl;
--改完之后查一下,上面的改不了global_name再使用下面的
update global_name set global_name = 'orcl'
commit;

在这里插入图片描述
修改服务名测试连接

创建新用户(库)

1、创建新用户
使用以下 CREATE USER 语句创建一个新用户:wzy2020,用于在可插入数据库中创建示例wzy2020 可为任意名字

SQL> CREATE USER wzy2020 IDENTIFIED BY Orcl1234;
User created.

上面的语句创建了一个名为:wzy2020的新用户,并在 IDENTIFIED BY 子句之后指定了一个密码,在这个示例中,创建的用户:wzy2020 对应的密码为:Orcl1234 。
2、授权
通过使用以下 GRANT 语句授予 wzy2020 用户权限:

SQL> GRANT CONNECT, RESOURCE, DBA TO wzy2020;
Grant succeeded.

连接用户名就可以使用自己设置的啦
在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Docker安装Oracle 11g,您可以按照以下步骤操作: 1. 首先,确保您的机器上已经安装Docker。您可以在终端中运行`docker --version`来检查Docker安装情况。 2. 下载Oracle 11g的安装文件。由于Oracle数据库是商业产品,因此您需要从官方网站或授权渠道获取安装文件。 3. 创建一个Docker镜像。在您的终端中,使用以下命令创建一个Dockerfile: ```Dockerfile FROM oraclelinux:7-slim COPY oracle11g_installer.zip /tmp/ RUN yum -y install unzip \ && unzip /tmp/oracle11g_installer.zip -d /tmp/installer \ && rm /tmp/oracle11g_installer.zip \ && cd /tmp/installer/database \ && ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/installer/db_install.rsp RUN rm -rf /tmp/installer ENV ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ENV PATH=$ORACLE_HOME/bin:$PATH ENV LD_LIBRARY_PATH=$ORACLE_HOME/lib EXPOSE 1521 CMD ["/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart", "/u01/app/oracle/product/11.2.0/dbhome_1"] ``` 将上述Dockerfile中的`oracle11g_installer.zip`替换为您下载的Oracle 11g安装文件的路径。 4. 构建Docker镜像。在终端中,使用以下命令构建镜像: ```shell docker build -t oracle11g . ``` 该命令将根据Dockerfile创建一个名为`oracle11g`的镜像。 5. 运行Oracle 11g容器。在终端中,使用以下命令运行容器: ```shell docker run -d -p 1521:1521 --name oracle11g-container oracle11g ``` 该命令将在后台运行一个名为`oracle11g-container`的容器,并将容器的1521端口映射到主机的1521端口。 现在,您应该可以通过连接到`localhost:1521`来访问Oracle数据库。请注意,使用这种方式安装Oracle 11g是仅限于开发和测试用途的。如果您需要在生产环境中使用Oracle数据库,请参考官方文档或咨询专业人士以获取更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值