Linux上创建oracle数据库的容器

xshell连接Linux服务器,参考http://note.youdao.com/noteshare?id=afb1eb0c985ccf633f6caa7735dc2cc7

ls -lt命令按照修改时间查看文件目录

复制一个.sh文件作为创建脚本

eg: cp ./start-fuzhou-oracle-mali.sh ./start-fuzhou-stat1-oracle-mali.sh

Linux上创建oracle数据库的容器

脚本文件创建成功后对内容进行修改

 

vi start-fuzhou-stat1-oracle-mali.sh

Linux上创建oracle数据库的容器

a.修改端口,端口不能重复,后续需根据端口区分使用数据库,端口号的修改,建议可查看最近一次创建容器文件中的端口号+1,其他两项也要修改,修改连接名和数据库名,记得保存

Linux上创建oracle数据库的容器

 

Linux上创建oracle数据库的容器

执行刚创建的基本文件

./start-huaihuacg-oracle-mail.sh

Linux上创建oracle数据库的容器

plsql连接方式数据库方式,其中数据库实例名为:xe 账号/密码:system/oracle

Linux上创建oracle数据库的容器

登陆http://192.168.101.14:9000,查看刚创建的容器

admin/12345678

Linux上创建oracle数据库的容器

Linux上创建oracle数据库的容器

 

网页上创建文件夹存放的dmp文件:mkdir 文件夹名

上传的dmp文件和日志文件到服务器

xshell中 进入上传的目录,将dmp文件和日志文件至容器:docker cp EXPDP_DWRH_STAT.DMP fuzhou-stat1-oracle-mali:/egova

Linux上创建oracle数据库的容器

首先在网页创建一个目录egova/dbbak

在plsql上创建导入导出目录,有文本,直接看,记得更改路径,先plsql运行

select name from v$datafile 查看数据库文件目录

然后把sql脚本中的路径名改为数据库文件目录

Create or replace directory expdp_dir as '/egova/dbbak';

Grant read,write on directory expdp_dir to public;

 

 

 

创建表空间和用户等操作完成后,在网页上使用输入导入命令,将数据库导入即可

对新建文件夹,对日志文件,dmp文件赋予权限

授执行权限chmod a+x <目录名>

授写权限chmod a+w <目录名>

chmod a+x egova

chmod a+w egova

最后运行

impdp system/[email protected] directory=EXPDP_DIR dumpfile=HHCGDB20180629.DMP schemas=UMSTAT logfile=exportstat.log

注意改文件名和用户名

 

 

报错信息:navicat 连接 oracle 的时出现:ORA-12505, TNS:listener does not currently know of SID given in connect 

plsql执行命令:select INSTANCE_NAME from v$instance;查询实例名

 

修改oracle客户端的编码,在这个路径64位 win7 下NLS_LANGUAGE 的位置和XP的位置不同。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraDb11g_home1 这个位置下面。

假如出现could not load jdbc ,而配置文件无误的话,则可以更改jdbc文件

#Oracle
#biz.jdbc.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(HOST=172.16.200.2) (PROTOCOL=TCP)(PORT =1521))(ADDRESS=(HOST=172.16.200.6)(PROTOCOL=TCP)(PORT = 1521)) (LOAD_BALANCE = yes) (FAILOVER = yes)) (CONNECT_DATA = (SERVICE_NAME = cdcgk)))
biz.jdbc.url=jdbc:oracle:thin:@(description=(address=(protocol=tcp)(port=1527)(host=192.168.32.72))(connect_data=(service_name=EE.oracle.docker)))
biz.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
biz.jdbc.username=dlsys
biz.jdbc.password=dlsys
biz.jdbc.validation.query=select sysdate from dual
# stat can set different stat.jdbc.url for separation of business
stat.jdbc.url=jdbc:oracle:thin:@(description=(address=(protocol=tcp)(port=1527)(host=192.168.32.72))(connect_data=(service_name=EE.oracle.docker)))
stat.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
stat.jdbc.username=umstat
stat.jdbc.password=umstat
stat.jdbc.validation.query=select sysdate from dual
mms.jdbc.url=jdbc:oracle:thin:@(description=(address=(protocol=tcp)(port=1527)(host=192.168.32.72))(connect_data=(service_name=EE.oracle.docker)))
mms.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
mms.jdbc.username=dlsys
mms.jdbc.password=dlsys
mms.jdbc.validation.query=select sysdate from dual