| # 查看oracle版本为11.2 |
| select * from v$version |

- 下载rpm包,上传到服务器/home/software/oracle目录
| oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm |
| oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm |
| oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm |
| |
| rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm |
| rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm |
| rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm |
| |
| mkdir -p /usr/lib/oracle/11.2/client64/network/admin |
| vim /etc/profile |
| |
| export ORACLE_HOME=/usr/lib/oracle/11.2/client64 |
| export TNS_ADMIN=$ORACLE_HOME/network/admin |
| export LD_LIBRARY_PATH=$ORACLE_HOME/lib |
| export LANG=zh_CN.UTF-8 |
| export NLS_LANG=AMERICAN_AMERICA.utf8 |
| export PATH=$PATH:$ORACLE_HOME/bin |
| |
| source /etc/profile |
| |
| |
| [root@node1 oracle] |
| |
| SQL*Plus: Release 11.2.0.4.0 Production on Fri Jan 19 20:04:23 2024 |
| |
| Copyright (c) 1982, 2013, Oracle. All rights reserved. |
| |
| Enter user-name: ciss |
| Enter password: |
- 项目中新建文件auto_create_hive_table/cn/itcast/utils/ReadOracleCx.py
| import cx_Oracle |
| import datetime |
| import os |
| |
| |
| connection = cx_Oracle.connect('ciss', '123456', cx_Oracle.makedsn( '192.168.128.100', '1521',None,'helowin') ) |
| |
| |
| cursor = connection.cursor() |
| |
| current_time = datetime.datetime.now().time() |
| print("定时清洗任务开始执行 Time:", current_time) |
| |
| |
| cursor.execute("select * from CISS4.CAP_USER") |
| |
| |
| result = cursor.fetchall() |
| |
| |
| for row in result: |
| print(row) |
| |
| |
| connection.commit() |
| |
| |
| cursor.close() |
| connection.close() |
- 上传到服务器,Tools -> Deployment -> Upload/Configuration

| cd /tmp/pycharm_project_178/auto_create_hive_table/cn/itcast/utils |
| |
| python3 ReadOracleCx.py |
| |
| |
| (3487, 'default', 'wangfl', 'k2xvHUmCHWw=', None, 'wangfl', 'local', '1', datetime.datetime(2019, 8, 2, 15, 28, 43, 950000), 'default', datetime.datetime(2019, 8, 2, 15, 28, 43, 950000), None, datetime.datetime(2019, 8, 2, 0, 0), None, None, None, None, None, 'sysadmin', datetime.datetime(2019, 8, 2, 15, 28, 43, 950000)) |
| (3499, 'default', 'wuyf01', 'k2xvHUmCHWw=', None, 'wuyf01', 'local', '1', datetime.datetime(2019, 9, 23, 11, 42, 2, 296000), 'default', datetime.datetime(2019, 9, 23, 11, 42, 2, 296000), None, datetime.datetime(2019, 9, 23, 0, 0), None, None, None, None, None, 'sysadmin', datetime.datetime(2019, 9, 23, 11, 42, 2, 296000)) |
| (3500, 'default', 'chuhr', 'k2xvHUmCHWw=', None, 'chuhr', 'local', '1', datetime.datetime(2019, 9, 23, 11, 42, 40, 889000), 'default', datetime.datetime(2019, 9, 23, 11, 42, 40, 889000), None, datetime.datetime(2019, 9, 23, 0, 0), None, None, None, None, None, 'sysadmin', datetime.datetime(2019, 9, 23, 11, 42, 40, 889000)) |
| //。。。 |
查看详情
| #!/bin/bash |
| |
| servers=" 服务器1 服务器2 ....." |
| env_path="xxxxx" |
| for server in ${servers} |
| do |
| echo "正在连接服务器 $server" |
| |
| ssh $server "rpm -ivh /xxxxx/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm" |
| ssh $server "rpm -ivh /xxxxx/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm" |
| ssh $server "rpm -ivh /xxxxx/oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm" |
| |
| |
| ssh $server "echo 'export ORACLE_HOME=/usr/lib/oracle/12.2/client64' >> ${env_path}" |
| ssh $server "echo 'export TNS_ADMIN=\$ORACLE_HOME/network/admin' >> ${env_path}" |
| ssh $server "echo 'export LD_LIBRARY_PATH=\$ORACLE_HOME/lib' >> ${env_path}" |
| ssh $server "echo 'export LANG=zh_CN.UTF-8' >> ${env_path}" |
| ssh $server "echo 'export NLS_LANG=AMERICAN_AMERICA.utf8' >> ${env_path}" |
| ssh $server "echo 'export PATH=\$PATH:\$ORACLE_HOME/bin' >> ${env_path}" |
| |
| |
| ssh $server "source ${env_path}" |
| |
| ssh $server "pip3 install /xxxxx/cx_Oracle-8.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" |
| |
| echo "服务器 $server 安装完成" |
| done |
| |
| echo "批量安装完成" |
- 修改\OneMake30\auto_create_hive_table\resources\config.txt
| |
| [OracleConn] |
| oracleHost=192.168.128.100 |
| oraclePort=1521 |
| oracleSID=helowin |
| oracleUName=ciss |
| oraclePassWord=123456 |
- \OneMake30\auto_create_hive_table\cn\itcast\utils目录下编写FileUtil.py
| |
| |
| __coding__ = "utf-8" |
| __author__ = "itcast" |
| |
| |
| def readFileContent(fileName): |
| """ |
| 加载表名所在的文件 |
| :param fileName:存有表名的文件路径 |
| :return:存有所有表名的列表集合 |
| """ |
| |
| tableNameList = [] |
| |
| fr = open(fileName) |
| |
| for line in fr.readlines(): |
| |
| curLine = line.rstrip('\n') |
| |
| tableNameList.append(curLine) |
| |
| return tableNameList |
| |
| from auto_create_hive_table.cn.itcast.utils import TableNameUtil |
| |
| if __name__ == '__main__': |
| tableList = readFileContent("/tmp/pycharm_project_178/dw/ods/meta_data/tablenames.txt") |
| |
| tableNameList = TableNameUtil.getODSTableNameList(tableList) |
| |
| |
| for tbnames in tableList: |
| print("---------------------") |
| |
| print(tbnames) |
| ssh://root@192.168.128.100:22/home/software/anaconda3/bin/python3 -u /tmp/pycharm_project_178/auto_create_hive_table/cn/itcast/utils/FileUtil.py |
| --------------------- |
| ciss_base_areas |
| --------------------- |
| ciss_base_baseinfo |
| --------------------- |
| ciss_base_csp |
| --------------------- |
| ciss_base_customer |
| //... |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?