歌手.io用于从Oracle PipelineWise compatible中提取数据的点击
pipelinewise-tap-oracle的Python项目详细描述
流水线式tap oracle
Singertap,从Oracle数据库中提取数据,并在Singer spec后面生成JSON格式的数据。在
这是一个PipelineWise兼容的抽头连接器。在
如何使用它
运行此tap的推荐方法是从PipelineWise使用它。当从PipelineWise运行它时,您不需要用JSON文件来配置这个tap,而且大多数事情都是自动化的。请查阅Tap Oracle上的相关文档
如果您想独立运行这个Singer Tap,请进一步阅读。在
基于日志的复制
Tap Oracle基于日志的复制需要在Oracle数据库中进行一些配置更改:
- 在
启用
在ARCHIVELOG
模式 - 在
将保留期设置为合理且足够长的期限,即1天、3天等
在 - 在
启用补充日志记录
在
在自托管的Oracle数据库上设置基于日志的复制:
要验证当前存档模式,如果结果是ARCHIVELOG
,则启用存档:
SQL> SELECT LOG_MODE FROM V$DATABASE
要启用ARCHIVELOG
模式(如果尚未启用):
要设置保留期,请使用RMAN:
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
要启用补充日志记录:
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
在Amazon RDS上的Oracle上设置基于日志的复制
设置保留期:
begin
rdsadmin.rdsadmin_util.set_configuration(
name => 'archivelog retention hours',
value => '24');
end;
要启用补充日志记录:
begin
rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action => 'ADD');
end;
安装并运行
首先,确保在您的系统上安装了python3或遵循以下步骤 Mac或的安装说明 Ubuntu。在
建议使用virtualenv:
python3 -m venv venv pip install pipelinewise-tap-oracle
或者
python3 -m venv venv . venv/bin/activate pip install --upgrade pip pip install .
配置
运行tap需要一个config.json
文件。最小设置示例:
{"host":"foo.com","port":1521,"user":"my_user","password":"password","sid":"ORCL","filter_schemas":"MY_USER"#optional}
运行测试:
{&RDS{12>需要在Amazon上进行测试。在
- 定义需要运行测试的环境变量。在
export TAP_ORACLE_HOST=<oracle-rds-host>
export TAP_ORACLE_PORT=<oracle-rds-port>
export TAP_ORACLE_USER=ROOT
export TAP_ORACLE_PASSWORD=<oracle-rds-password>
export TAP_ORACLE_SID=<oracle-rds-sid>
- 在虚拟环境中安装python依赖项并运行nose单元和集成测试
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip
pip install .
pip install nose
- 要运行单元测试:
nosetests
- 项目
标签: