安装docker
安装docker时一定要注意安装的那个盘符多大.什么几十G也是太小了,你要想下,到时再docker安装Oracle mysql等容器,这样就会撑大,而且还要往里面导入数据,这样的话就不够,到时你导入dmp文件到Oracle中,创建空间就报各种错,
修改docker位置:
我的系统是Centos7,解决的具体步骤如下:
1、停止docker服务。
systemctl stop docker; //每个liunx版本的命令不一样。
2、创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有900G。 我在 /home目录下面建了 /home/docker/lib目录,执行的命令是:mkdir -p /home/docker/lib
3、迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面
cp -R /var/lib/docker/* /home/docker/lib/
注意:如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。
4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf),在文件末添加 --graph=/home/docker/lib
devicemapper.conf文件的内容如下:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib
注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”–insecure-registry=私服地址”。
5、重载配置,重启docker
systemctl daemon-reload;
systemctl restart docker;
systemctl enable docker;
6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了
在docker下安装了Oracle后,要进入Oracle的命令界面需要先前执行下面这条命令:
docker exec -it oracle bash
然后进入Oracle:
sqlplus system/oracle
而后装了Oracle后把dmp文件传入到Oracle数据库;
这时需要注意,需要执行挂在文件命令
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定
譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:
(注意:最好是在启动Oracle时同时创建挂载文件)
# docker run -v /testdocker:/soft --name oracle -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g
--name 就是别名 oracle -d 后台执行 -p 暴露端口 这个必须要 不然外界访问不到 1521端口 -e 就是设置 运行环境 设置为 允许远程访问,, 后面就是容器名称 默认端口 latest:默认版本
这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。
在没有这个test的目录时会自动创建
导入dmp数据时要创建表空间
CGWS:为表空间名
‘/u01/app/oracle/oradata/XE/cgwss.dbf’ :表空间路径 (查找表空间路径:select * from dba_data_files;)
CREATE TABLESPACE CGWS LOGGING DATAFILE '/u01/app/oracle/oradata/XE/cgwss.dbf' SIZE 1G AUTOEXTEND ON NEXT 35M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
// 创建用户连接表空间
CREATE USER CGW IDENTIFIED BY 123456 ACCOUNT UNLOCK DEFAULT TABLESPACE CGWS;
//赋予用户权限
GRANT CONNECT,RESOURCE TO CGW;
GRANT DBA TO CGW;
导入imp文件.可以根据导入那个用户,在执行 docker exec -it oracle bash
界面后导入文件
命令:
imp SYSTEM/123456 file=/soft/cgwsp2018-06-15.dmp tablespaces=CGWS ignore=y full=y
linux中启动oracle主要分两步:一个是启动监听器,一个是启动实例。
工具/原料
linux 安装 oracle数据库
SecureCRT 任意ssh连接工具都可以
方法/步骤
一、secureCRT连接到数据库所在的linux机器,切换到oracle用户模式下
[root@nstlbeta ~]# su - oracle
二、然后用sqlplus登录到数据库,关闭数据库
[oracle@nstlbeta bin]$ sqlplus /nolog //登录sqlplus
SQL> connect /as sysdba //连接oracle
SQL> startup //起动数据库
SQL> exit //退出sqlplus ,起动监听
三、起动监听
[oracle@nstlbeta bin]$ cd O R A C L E H O M E / b i n / / 进 入 o r a c l e 安 装 目 录 [ o r a c l e @ n s t l b e t a b i n ] ORACLE_HOME/bin //进入oracle安装目录 [oracle@nstlbeta bin] ORACLEHOME/bin//进入oracle安装目录[oracle@nstlbetabin] lsnrctl start //起动监听
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g