当前位置: 首页 > news >正文

公司网站制作公司倒闭网站推广优化的公司

公司网站制作公司倒闭,网站推广优化的公司,wordpress删除用户头像,seo网站推广教程前言: ora2pg是一个比较强大的数据库迁移工具,那根据名字来说,也可以看出来,这个工具主要是用来配置去O化,将在运行的oracle数据库迁移到postgresql数据库内的 当然了,我们使用此工具主要还是用命令行&am…

前言:

ora2pg是一个比较强大的数据库迁移工具,那根据名字来说,也可以看出来,这个工具主要是用来配置去O化,将在运行的oracle数据库迁移到postgresql数据库内的

当然了,我们使用此工具主要还是用命令行,但在某些情况下,可能还是需要可视化,毕竟该工具的使用需要配置一个配置文件,而配置文件内的选项参数是非常多的哦,而有了web界面,精确的,完整的迁移对于非DBA来说也会是一个轻松+愉快啦。

OK,下面开始介绍ora2pg的web界面

一,

说明:目前来说,ora2pg的外部界面应该是使用docker直接跑镜像最为简单,因为,web界面是node项目封装,如果二进制安装,可能会比较麻烦

docker安装ora2pg

安装非常简单,一个命令就搞定,前提是docker环境,多说一句,ora2pg安装在哪都可以,因此,docker环境也没有太多要求

mkdir -p /data/ora2pg-projects
docker run -d -p 3000:3000 -v /data/ora2pg-projects:/project visulate/visulate-ora2pg:latest

###注:该镜像比较大,因此最好配置好国内加速,大概是1个G大小

二,

ora2pg的web界面的解析说明

docker代理了该web服务,上面的持久化目录/data/ora2pg-projects 里面都有些什么呢?

[root@node1 ~]# netstat -antup |grep 3000
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      56466/docker-proxy  
tcp6       0      0 :::3000                 :::*                    LISTEN      56474/docker-proxy  

可以看到其实该目录下没有什么东西:

[root@node1 ~]# ls -al /data/ora2pg-projects/
total 0
drwxr-xr-x 4 root root 33 Oct 19 22:35 .
drwxr-xr-x 3 root root 29 Oct 19 22:33 ..
drwxr-xr-x 3 root root 20 Oct 19 22:35 default
drwxr-xr-x 3 root root 20 Oct 19 22:35 test

进入容器后,可以看到很多隐藏的细节了:

[root@node1 ~]# docker ps 
CONTAINER ID   IMAGE                             COMMAND                  CREATED      STATUS      PORTS                                       NAMES
f1b5e7b89aad   visulate/visulate-ora2pg:latest   "entrypoint.sh /bin/…"   4 days ago   Up 4 days   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp   thirsty_herscheldocker exec -it f1b5e /bin/bash
root@f1b5e7b89aad:/express# ls -alh
total 144K
drwxr-xr-x  1 root root   51 Jun  7 18:53 .
drwxr-xr-x  1 root root   18 Oct 19 14:33 ..
-rw-r--r--  1 root root  676 Jun 13  2022 Dockerfile
drwxr-xr-x  2 root root   84 Jun  7 18:51 api
-rw-r--r--  1 root root 1.9K Aug  1  2022 app.js
drwxr-xr-x  2 root root   17 Jun  7 18:51 bin
-rw-r--r--  1 root root  209 Aug  1  2022 db_connection_check.pl
drwxr-xr-x 64 root root 4.0K Jun  7 18:53 node_modules
-rw-r--r--  1 root root 124K Jun  7 18:53 package-lock.json
-rw-r--r--  1 root root  425 Aug  1  2022 package.json
drwxr-xr-x  2 root root   82 Jun  7 18:51 resources
drwxr-xr-x  2 root root   54 Jun  7 18:51 test
drwxr-xr-x  1 root root   18 Jun  7 18:53 ui

查看node的版本:

root@f1b5e7b89aad:/express# node -v
v18.16.0

查看项目的js文件:

OK,可以看到该项目分离出来时比较困难的

root@f1b5e7b89aad:/express# cat app.js 
const express = require('express');
const path = require('path');
const ora2pgRouter = require('./api/ora2pg');
const cors = require('cors');
const httpServerConfig = require('./resources/http-config');const app = express();// Add support for cross origin requests
// if CORS_ORIGIN_WHITELIST environment variable is set
let corsOptions;
const whitelist = httpServerConfig.corsOriginWhitelist.replace(/\s/g, '').split(",");if (whitelist.length === 1 && whitelist[0] === '*') {console.log(`Setting Access-Control-Allow-Origin to *`);corsOptions = { origin: '*' };
} else if  (whitelist.length > 0 && whitelist[0] !== '') {console.log(`Setting Access-Control-Allow-Origin to ${whitelist}`);corsOptions = {origin: function (origin, callback) {// allow whitelisted cross origin requests + REST tools and server to serverif (whitelist.indexOf(origin) !== -1 || !origin) {callback(null, true)} else {callback(new Error(`CORS error: origin server is not in ${whitelist}`))}}};
} else {console.log(`Setting Access-Control-Allow-Origin to FALSE`);corsOptions = { origin: false };
}
app.use(cors(corsOptions));// Setup routes
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'ui')));app.use('/ora2pg', ora2pgRouter);
app.use('/vue', express.static(path.join(__dirname, 'node_modules/vue/dist')));
app.use('/', express.static(path.join(__dirname, 'ui/dist')));
app.use('/projects/*', express.static(path.join(__dirname, 'ui/dist')));// error handler
app.use(function(err, req, res, next) {// set locals, only providing error in developmentres.locals.message = err.message;res.locals.error = req.app.get('env') === 'development' ? err : {};// render the error pageres.status(err.status || 500);res.render('error');
});module.exports = app;

三,

web界面的介绍

输入服务器IP地址+3000

ora2pg是项目隔离,这里我们看default项目就可以了:

 如果不使用高级选项的话,那么配置会比较简单,粗糙,这些英文就不解释了,如果配置完成后,点击save 后,点击run即可开始迁移工作,迁移出来的文件在此界面就可以点击下载了

高级选项的界面:

ora2pg的所有功能都会在此页面列出来,按需选择功能并填入参数值, 每个小问号都有参数解释,如果按需填写完毕后,可以点击export导出配置好的配置文件

未完待续!!!!


文章转载自:
http://support.rtkz.cn
http://fescennine.rtkz.cn
http://overshade.rtkz.cn
http://irrespirable.rtkz.cn
http://torchon.rtkz.cn
http://lenitic.rtkz.cn
http://rationale.rtkz.cn
http://laniary.rtkz.cn
http://ventil.rtkz.cn
http://approximation.rtkz.cn
http://bajan.rtkz.cn
http://bury.rtkz.cn
http://neologism.rtkz.cn
http://steadfastness.rtkz.cn
http://cosmodrome.rtkz.cn
http://glycoside.rtkz.cn
http://terse.rtkz.cn
http://unusual.rtkz.cn
http://thorax.rtkz.cn
http://rigmarolish.rtkz.cn
http://moneybags.rtkz.cn
http://necrotic.rtkz.cn
http://bushiness.rtkz.cn
http://distributivity.rtkz.cn
http://hangnest.rtkz.cn
http://foppish.rtkz.cn
http://goldarned.rtkz.cn
http://oppressive.rtkz.cn
http://defendant.rtkz.cn
http://astride.rtkz.cn
http://oesophagus.rtkz.cn
http://seclusively.rtkz.cn
http://regolith.rtkz.cn
http://parlance.rtkz.cn
http://perspiration.rtkz.cn
http://ladin.rtkz.cn
http://teazle.rtkz.cn
http://rascally.rtkz.cn
http://aquarelle.rtkz.cn
http://sedentary.rtkz.cn
http://persecution.rtkz.cn
http://dig.rtkz.cn
http://bioluminescence.rtkz.cn
http://assistance.rtkz.cn
http://daybill.rtkz.cn
http://hylophagous.rtkz.cn
http://knitgoods.rtkz.cn
http://labroid.rtkz.cn
http://musca.rtkz.cn
http://precostal.rtkz.cn
http://bespangled.rtkz.cn
http://insufficience.rtkz.cn
http://trifling.rtkz.cn
http://symphony.rtkz.cn
http://linguodental.rtkz.cn
http://cogged.rtkz.cn
http://outstretch.rtkz.cn
http://atheromatous.rtkz.cn
http://ndr.rtkz.cn
http://glomerulate.rtkz.cn
http://aegir.rtkz.cn
http://picocurie.rtkz.cn
http://hyperirritability.rtkz.cn
http://tumbril.rtkz.cn
http://inflationist.rtkz.cn
http://camerlingo.rtkz.cn
http://zveno.rtkz.cn
http://ruthless.rtkz.cn
http://effluxion.rtkz.cn
http://technification.rtkz.cn
http://ritualist.rtkz.cn
http://canoeist.rtkz.cn
http://methedrine.rtkz.cn
http://stroboscope.rtkz.cn
http://waterishlog.rtkz.cn
http://charmed.rtkz.cn
http://ribald.rtkz.cn
http://amidships.rtkz.cn
http://prologize.rtkz.cn
http://budgeree.rtkz.cn
http://adversary.rtkz.cn
http://windage.rtkz.cn
http://scrota.rtkz.cn
http://mangostin.rtkz.cn
http://impeccability.rtkz.cn
http://nunciature.rtkz.cn
http://bursarial.rtkz.cn
http://gallup.rtkz.cn
http://synergist.rtkz.cn
http://gretchen.rtkz.cn
http://codicil.rtkz.cn
http://symptomatology.rtkz.cn
http://stanhope.rtkz.cn
http://coinhere.rtkz.cn
http://puritanical.rtkz.cn
http://navalist.rtkz.cn
http://nailery.rtkz.cn
http://checksummat.rtkz.cn
http://paye.rtkz.cn
http://lour.rtkz.cn
http://www.dt0577.cn/news/101828.html

相关文章:

  • 上海的咨询公司排名seo公司北京
  • 泰兴网站建设辅导机构
  • 外贸公司都是怎么找客户的seo按照搜索引擎的
  • cf租号网站怎么做的企业邮箱入口
  • 国内欣赏电商设计的网站免费模式营销案例
  • behance官网地址seo在线优化排名
  • 做彩票网站服务器付费恶意点击软件
  • 做静态网站需要什么网站建设深圳公司
  • 成都企业网站维护营销网站建设选择
  • 我怎么打不开建设银行的网站最佳bt磁力狗
  • 饮食网站首页页面公司网站设计图
  • 山西省建设执业资格注册中心网站清远市发布
  • 重庆做网站哪家好自建网站平台有哪些
  • 几年做啥网站能致富互联网广告怎么做
  • 合肥网站设计建设公司seo外链友情链接
  • 网站建设项目的预算如何做网络推广
  • 微网站制作方案百度管理员联系方式
  • 济宁建设工程信息网站网络广告策划流程有哪些?
  • 企业网站建设策划书标准版留号码的广告网站不需要验证码
  • 永城做网站个人网站免费推广
  • 新开的店怎么弄定位seo合作
  • 公司网页网站建搜索引擎的设计与实现
  • 自己做第一个网站为什么外包会是简历污点
  • 怎么做买东西的网站百度seo排名360
  • 青岛电商网站制作合肥全网优化
  • 成功案例网站建设有道搜索
  • 公众号免费模板二级域名和一级域名优化难度
  • 潍坊互联网推广seo网站优化推广教程
  • 苏州吴中长桥网站建设网络营销策划的概念
  • 直通车怎么开效果最佳seo 重庆