一、在服务器安装docker
# 1、yum 包更新到最新 sudo yum update # 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依 赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 # 3.1、方案一:使用ustc的(推荐) sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo # 3.2、方案二:使用阿里云(可能失败) sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo # 4、 安装docker;出现输入的界面都按 y sudo yum install -y docker-ce # 5、 查看docker版本 docker -v #6、设置开机启动 systemctl enable docker #7、启动、停止、重启 systemctl start docker systemctl stop docker systemctl restart docker #8、查看docker的状态 systemctl status docker
二、拉取oracle镜像
命令:
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g latest 3fa112fd3642 6 years ago 6.85GB
三、创建并运行容器
创建并运行容器命令:
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
如果是已创建容器,仅运行容器命令
docker start oracle11g
查看运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 453493f3bcxx registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g "/bin/sh -c '/home/o…" About a minute ago Up About a minute 0.0.0.0:1521->1521/tcp, :::1521->1521/tcp oracle11g
进入容器进行配置
docker exec -it oracle11g bash
进行软连接
sqlplus /nolog
结果:
bash: sqlplus: command not found
发现没有该命令,所以切换root用户:
su root
输入密码:helowin
四、配置ORACLE环境变量
编辑profile文件
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
注意:设置的服务名为helowin,在navicat连接Oracle时要使用。
保存后,加载配置
source /etc/profile
五、创建软连接
作用:可以直接用oracle命令,而不需要进入bin目录中执行相应的命令。
命令
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
六、修改sys和system密码
切换到oracle 用户
su - oracle
注意:一定要写中间的内条 - 必须要,否则软连接无效
登录oracle
sqlplus /nolog
结果如下:
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 13 19:26:17 2022 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL>
需要进行操作系统验证,才可进行连接登录
conn /as sysdba
结果如下:
SQL> conn /as sysdba Connected. SQL>
修改system用户账号密码
alter user system identified by system;
结果:
SQL> alter user system identified by system;
User altered.
修改sys用户密码
alter user sys identified by sys;
修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
结果:
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
修改数据库最大连接数据:
alter system set processes=1000 scope=spfile;
创建内部管理员账号密码
create user test identified by test;
将dba权限授权给内部管理员账号
grant connect,resource,dba to test;
修改以上信息后,需要重新启动数据库
关闭数据库
shutdown immediate;
结果如下:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
启动数据库
startup;
结果如下:
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>
退出软连接:
exit
结果:
SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
七、云服务器开通1521端口
入站方向规则开通1521端口
注意:为了防止黑客攻击,应设置允许部分IP访问端口。如果是允许本地电脑的IP,则要使用外网IP(浏览器输入IP),而不是内网IP(cmd输入ipconfig)。3、本地电脑的外网IP会经常变化。
八、navicat连接oracle
高级中选择sysdba
九、创建表空间
进入容器
docker exec -it oracle11g bash
切换oracle用户
su - oracle
登录oracle
sqlplus /nolog
需要进行操作系统验证,才可进行连接登录
conn /as sysdba
创建表空间
create tablespace pts datafile '/home/oracle/app/oracle/oradata/helowin/pts.dbf' size 100m autoextend on next 10m
结果
SQL> create tablespace pts datafile '/home/oracle/app/oracle/oradata/helowin/pts.dbf' size 100m autoextend on next 10m; Tablespace created.
删除表空间
drop tablespace PTS
查看所有表空间
select tablespace_name from dba_tablespaces;
创建用户
create user PTS identified by PTS default tablespace PTS;
删除用户
drop user pts cascade
给用户授权
grant dba to PTS;
查看哪些用户被授予DBA权限
select * from dba_role_privs where granted_role='DBA';
注意:1、要想使用navicat进行数据同步,需要保证两个用户的表空间相同。2、添加用户后,要先关闭再启动oracle,添加的用户才会生效。