…
docker run \ --name ora11xe -d \ -p 49160:22 \ -p 49161:1521 \ -v //mnt/data:/data \ -v /etc/localtime:/etc/localtime:ro \ -e ORACLE_ALLOW_REMOTE=true \ wnameless/oracle-xe-11g
Installation(with Ubuntu 16.04)
docker pull wnameless/oracle-xe-11g
docker run –name ora11xe -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g
Run this, if you want the database to be connected remotely:
docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g
Connect database with following setting:
hostname: localhost port: 49161 sid: xe username: system password: oracle
Password for SYS & SYSTEM
oracle
Login by SSH
ssh root@localhost -p 49160 password: admin
Support custom DB Initialization
# Dockerfile FROM wnameless/oracle-xe-11g ADD init.sql /docker-entrypoint-initdb.d/
用ssh進 container , 建立 tsdb
ssh root@localhost -p 49160 password: admin
create user tsdb profile default identified by password default tablespace users temporary tablespace temp account unlock;
grant dba to tsdb;
sqlplus / as sysdba
Enter user-name: system
Enter password: oracle
SQL> create user tsdb profile default
identified by password
default tablespace users
temporary tablespace temp
account unlock;
User created.
SQL> SQL> grant dba to tsdb;
— Create table
create table TBL_ITEM_KW_DAY
(
XDATE DATE not null,
XHOUR NUMBER(2) default 0,
TAG1 VARCHAR2(50),
TAG2 VARCHAR2(100),
VAL NUMBER(10) default 0 not null
)
tablespace USERS;
— Add comments to the table
comment on table TBL_ITEM_KW_DAY is ‘搜尋後點商品統計(日), tag1:g_no , tag2:關鍵字 , val:count’;
— Create/Recreate indexes
create index TBL_ITEM_KW_DAY_XDATE on TBL_ITEM_KW_DAY (XDATE) tablespace USERSINDEX;
select count(1) from tbl_ts_ip_day_2017
— 83011233
select count(distinct tag1) from tbl_ts_ip_day_2017
— 24315442
— 479秒
以下是 8G RAM server 比較快
create user tsdb profile default identified by password default tablespace users temporary tablespace temp account unlock; grant dba to tsdb; root@43b4858cfdeb:~# exp userid=xxxx/[email protected]/tsdb tables=TBL_TS_IP_DAY_2017 file=/tmp/TBL_TS_IP_DAY_2017_$(date +%Y%m%d%s).dmp log=/tmp/log_database_$(date +%Y%m%d%s).log ROWS=Y time imp tsdb/password file=/tmp/TBL_TS_IP_DAY_2017_201703231490242301.dmp FULL=Y ignore=y feedback=1000000