docker安装配置、连接Oracle

  • 安装oracle
  • 服务器重启需要执行的语句
  • 连接
  • 创建新用户(库)


安装oracle

1、安装docker环境。

2、开始拉取oracle镜像(时间比较久,建议docker使用阿里云镜像)

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

docker 安装dubbo Docker 安装oracle11g_docker


3、下载完成后,查看镜像

ocker images

docker 安装dubbo Docker 安装oracle11g_docker_02


4、创建容器

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

如果创建成功能会返回容器id

docker 安装dubbo Docker 安装oracle11g_docker_03


5、进入镜像进行配

docker exec -it oracle11g bash

docker 安装dubbo Docker 安装oracle11g_docker_04


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

docker 安装dubbo Docker 安装oracle11g_数据库_05


8、保存后执行 source /etc/profile 加载环境变量;

9、创建软连接

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

10、切换到oracle 用户(中间加“-”)

docker 安装dubbo Docker 安装oracle11g_oracle_06


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; --修改数据库最大连接数据;

docker 安装dubbo Docker 安装oracle11g_docker 安装dubbo_07


12、修改以上信息后,需要重新启动数据库;

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

其中一个坑说明

当执行修改密码的时候出现 : database not open

提示数据库没有打开,不急按如下操作

输入:alter database open;

注意了:这里也许还会提示 : ORA-01507: database not mounted

docker 安装dubbo Docker 安装oracle11g_docker_08


解决办法:

输入:alter database mount;

输入 :alter database open;

docker 安装dubbo Docker 安装oracle11g_docker 安装dubbo_09


然后就可执行 修改数据库密码的命令了

改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

刷新下表 exit 是退休sql 软连接

docker 安装dubbo Docker 安装oracle11g_docker_10

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

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

连接

修改服务名

1,oracle默认服务名为helowin 不想改直接连也行

docker 安装dubbo Docker 安装oracle11g_docker_11

修该服务名为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;

docker 安装dubbo Docker 安装oracle11g_docker 安装dubbo_12


修改服务名测试连接

创建新用户(库)

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.

连接用户名就可以使用自己设置的啦

docker 安装dubbo Docker 安装oracle11g_docker 安装dubbo_13