一.docker的安装
在Mac上推荐使用brew来安装docker,记得换仓库为国内的仓库
brew install docker
二.Docker安装oracle
1.查询oracle版本
2.从仓库下载oracle
3.启动容器
docker run -h "oraclehost" --name "oracle" -d -p 1521:1521 oracleinanutshell/oracle-xe-11g
-h "oraclehost":指定容器的hostname为oracle
--name "oracle":将容器命名为oracle
-d:在后台运行
-p: 端口映射,格式为:主机(宿主)端口:容器端口
4.查询启动的容器
5.在终端中进入此容器
6.以普通用户身份登陆
sqlplus system/oracle
7.创建用户并分配权限
--创建用户
create user SEAS02 identified by Neusoft#123 default tablespace seas_data;
grant connect,resource to SEAS02;
grant create any sequence to SEAS02;
grant create any table to SEAS02;
grant delete any table to SEAS02;
grant insert any table to SEAS02;
grant select any table to SEAS02;
grant unlimited tablespace to SEAS02;
grant execute any procedure to SEAS02;
grant update any table to SEAS02;
grant create any view to SEAS02;
grant dba to SEAS02;
使用新用户登陆即可。
至此在docker当中的操作全部完成
三.在宿主机或者其他机器上要连接docker当中的oracle数据库
1.使用PLSQL连接
1.下载instantclient和plsql
2.配置tnsnames.ora
在instance client目录中新建名为network的文件夹,并在network目录下新建admin文件夹,在admin文件夹下新建tnsnames.ora文件,使用记事本编写:
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = XE)
)
)
————————————————
其中第一行中的orcl是oracle数据库的实例名。在使用plsql连接数据库的时候,数据库那个空就填写的是这个,此处是orcl。
SERVICE_NAME后填写oracle的服务名,可在容器中用lsnrctl status查看,这里我们填写XE
打开PL/SQL Developer客户端(此时仍无法登陆,关闭登录窗口以未登录状态打开即可),选择Tools-》Preferences,将Oracle Home和OCI Liabrary两栏中填入instance client所在的路径和OCI文件所在路径(oci.dll在instance client目录下),重启PL/SQL Developer。
需要注意:HOST,PORT在填写的时候都是docker容器,或者虚拟机/远程主机的ip和端口
————————————————