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

南昌二手网站开发方案网站推广计划

南昌二手网站开发方案,网站推广计划,怎样学设计快速入门,个人域名可以做企业网站吗一、GIS迁移步骤 ​ 金仓数据库支持的源库有Oracle和Postgresql。 ​ 下面介绍ArcGIS或GeoScene的数据迁移步骤。 1、迁移准备 ​ 本次使用Linux X86平台,需要准备Kingbase-Server-Linux-x86_67.tar和postgis_libs.tar包 1.1 在 Kingbase 数据库上操作&#xf…

一、GIS迁移步骤

​ 金仓数据库支持的源库有Oracle和Postgresql。

​ 下面介绍ArcGIS或GeoScene的数据迁移步骤。

1、迁移准备

​ 本次使用Linux X86平台,需要准备Kingbase-Server-Linux-x86_67.tar和postgis_libs.tar包

1.1 在 Kingbase 数据库上操作:

tar -xvf kingbase-server-linux-x86_64.tar# 若数据库目录(lib、bin、extension)下已有 postgis 相关的包, 则不需要再拷贝
cp /home/kingbase/20220105/lib/postgis_libs/* /home/kingbase/20220105/lib/
cp /home/kingbase/20220105/postgis-3.1.2/bin/* /home/kingbase/20220105/bin/
cp /home/kingbase/20220105/postgis-3.1.2/lib/* /home/kingbase/20220105/lib/
cp /home/kingbase/20220105/postgis-3.1.2/share/extension/* /home/kingbase/20220105/share/extension/
./initdb -U system -D data;
vim kingbase.conf
./sys_ctl -D data start
./ksql -Usystem -p54321 test
create user sde superuser;
create schema sde;
alter schema sde owner to sde;
alter user sde password '123456';
create user rds_superuser superuser ;
alter user rds_superuser password '123456';
create database kingbase;
create extension postgis;
create extension postgis_raster;
create extension postgis_sfcgal;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;
set exclude_reserved_words = 'level';
create extension postgis_topology;
create extension address_standardizer;
create extension address_standardizer_data_us;
select oid, proname, proargtypes, proisstrict from sys_proc where proname ilike '%addgeometrycolumn%';
## update sys_proc set proisstrict = false where oid = 上一条 sql 的 oid
update sys_proc set proisstrict = false where oid = 16705;

1.2 完成医以上步骤后,执行测试

./pgsql2shp -f /home/gpadmin/kes/v9/Server/test2.shp -u system -p 54321 test "select * from test.sde.dltb2

1.3 打开ArcMap软件,建库

1.4 在ArcMap软件,启动Kingbase地理信息数据库(不可省略)

2、kdts配置迁移任务

本次实验源库使用Oracle 11g,KDTS的SHELL版本为例来完成迁移任务。

  • 编辑applicatiom.yml文件,将Active:Oracle

  • 编辑conf/kdts-oracle.yml文件,编写源库,并编辑要迁移的表(point、line、polygont):

    sources:
    - dbType: oracle
    dbVersion: 11g
    url: jdbc:oracle:thin:@ip:port/dbName
    driver-class-name: oracle.jdbc.oracleDriver
    username: SDE
    password: password
    schemas: SDE
    talbe-includes: POINT,LINE,POLYGONT
    

    温馨提示:Oracle需要用SDE用户否则权限不足。

  • 编辑目标库信息

    target:
    dbType: KINGBASE
    dbVersion: V9
    url: jdbc:kingbase8://ip:port/dbName
    driver-class-name: com.kingbase8.Driver
    username: SDE
    password: password
    schemas: SDE
    
  • 编辑数据类型映射文件,将Oracle的numeric(38,0)类型映射为Kingbase的int类型。

  • 编辑conf/mapping_rule/data_type/oracle_to_kingbase.json 文件,增加以下内容:

    {"sourceType": {"name": "NUMBER","precisionMin": 0,"precisionMax": 38,"scaleMin": 0,"scaleMax": 0},"targetType": {"name": "int"}
    }
    

3、执行迁移任务

./bin/startup.sh

4、迁移后注册数据

这两个平台的数据迁移后,需要注册才能正常使用。

4.1 迁移后,将…/SDE/AcrpyRegisterScript/目录下acrpyRegisterWithGeodatabase.py文件拷贝到ArcGIS所在的机器上,放到如:”c:/python27/ArcGIS10.0” 目录下

4.2 查看ArcMap 的 kingbase 数据库连接信息,并拷贝。

4.3 编辑 acrpyRegisterWithGeodatabase.py 文件,将上一步复制的内容粘贴到以下位置,保存文件。

4.4 执行 acrpyRegisterWithGeodatabase.py 脚本,将表注册到 ArcGIS 地理信息库

4.5 执行完成后使用 ArcMap 软件进行验证,能否正常显示图层信息。

二、注意事项

1、BS版

  • 源端数据库类型为 MySQL5.1 版本时,数据库版本选择 5.5
  • KingbaseES 数据库采用 Unix Domain Socket 方式进行连接时,必须确保数据库服务与迁移工具程序在同一台Linux 服务器上

2、SHELL版

2.1 迁移顺序

	由于对象之间存在依赖关系,可按“1、序列;2、表结构、表数据、主键约束、索引、唯一性约束;3、外键约束;4、检查约束、视图、函数、存储过程、包;5、同义词;6、触发器;7、注释”这样的顺序进行迁移。

2.2 大表拆分

​ 迁移工具按表中的数据行数和大对象大小对表进行了排序,并对达到拆分阈值的大表进行了拆分(拆分操作仅读取表数据记录标识,不影响数据),然后按分块并行读取,这些操作依赖于数据库统计信息并需要对拆分操作进行授权,如果条件允许,可在迁移前对源数据库做数据统计分析和拆分授权。

  • 该机制仅针对 Oracle 和达梦数据库,其它数据库需手动拆分。
  • 对表的排序和拆分不影响迁移的结果,只影响效率。

2.3 并行计算

#SQL Server
SQL Server 2016 或更高版本支持设置 Max Degree of Parallellism(最大并行度配置),可使用如下命令来查
看:exec sp_configure;温馨提示: 建议该参数的值设置为 0(由数据库自动管理)或一个大于 0 的值(由数据库专家给定)。#DM8可开启并行查询来提高查询效率,详见数据库的 PARALLEL_POLICY、PARALLEL_THRD_NUM 、MAX_PARALLEL_DEGREE 等配置参数。保证数据库的 DBMS_STATS.GATHER_SCHEMA_STATS 可用,若报错” 错误的包或类名或当前环境不支持 [DBMS_STATS]”,说明该包未启用。可以通过达梦管理工具--> 工具包-->SYSTEM PACKAGE--> 右键--> 点击启用,开启服务。

2.4 集群异步模式

​ 目标库为集群模式时可将主从库的同步模式调整为异步,在主库数据迁移完成后等待从库追平后再恢复为同步模式。

2.5 大对急数据(LOB,Large Object)

​ 如果要迁移的表中有大对象数据字段(BLOB、BFILE、CLOB、NCLOB 等)时,应先评估大对象数据的大

小,如果单行数据的大小达到 100M 以上,为了避免内存溢出 (Out Of Memory) 导致迁移失败,应控制 Java 虚拟机内存的合理使用:

  • 条件允许可增大内存,详见:bin/startup.sh 和 startup.bat 中 JAVA_OPT 里的“-Xms 和-Xms”参数项

  • 控制大对象表的读/写并发度,确保读入内存的大对象数据在合理的范围,相关的参数有:conf/kdts-xxx.yml

# 源数据库含大对象数据表的游标读取记录数(同上,只是此参数针对有大对象字段的表)
table-with-large-object-fetch-size: 5
# 源数据库含大大对象数据表的游标读取记录数(同上,只是此参数针对大对象字段长度超过 1G 的表)
table-with-big-large-object-fetch-size: 5
# 大表拆分阈值行数(当表的行数超过此值时,将对表进行拆分,每块的记录数为此值和表总记录数除以“拆分最大块数”中的
最大值)
large-table-split-threshold-rows: 5000000
# 大表拆分阈值大小(单位为 M)(当表的数据大小(普通字段 + 大对象字段)超过此值时,将对表进行拆分)
large-table-split-threshold-size: 5000
# 大表拆分最大块数(每张表的最大拆分块数,应不超过总的读线程数)
large-table-split-max-chunk-num: 5

conf/kb-thread-config.xml

<!-- 大对象数据(Clob 和 Blob)写线程池 -->
<pool name="writeLargeObject">
<corePoolSize>5</corePoolSize><!-- 可根据源库表中大对象数据来设置,如果单条数据较大,可适当降低线程数,以避免
内存不足 -->
<maxPoolSize>5</maxPoolSize><!-- 和 corePoolSize 一致 -->
<keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
<workQueueSize>5</workQueueSize><!-- 和 maxPoolSize 一致 -->
</pool>

应满足:(table-with-large-object-fetch-size + large-table-split-max-chunk-num + writeLargeObject.maxPoolSize+ writeLargeObject.workQueueSize)× 每行大数据大小 <= Java 虚拟机内存 ×0.9

2.6 网络抖动
2.7 无日志表

​ 无日志表不记录日志,可大大提高数据写入的效率,在需要时可设置以无日志表的方式进行迁移。

# 连接字符串,其中“ApplicationName=kingbase_transfer”指示数据库服务器使用无日志表
url: jdbc:kingbase8://1.2.3.4:54321/test?ApplicationName=kingbase_transfer #V8R3 和 V9 使用
# 是否使用无日志表
unlogged-table: true
# 是否将无日志表重改为有日志表
relogged-table: true
# 是否执行检查点
issue-checkpoint: true

2.8 国际化

  • kdts-plus/bin/startup.sh(删除行首的 # 可去掉注释)

    JAVA_OPT="${JAVA_OPT} -Duser.country=CN -Duser.language=zh"
    
  • kdts-plus/bin/startup.bat(删除行首的 rem 可去掉注释)

    rem set "JAVA_OPT=%JAVA_OPT% -Duser.country=CN -Duser.language=zh"
    

三、部署常见问题

#加载数据库驱动失败
– 错误特征:ERROR11028 --- [nio-8080-exec-3] com.kingbase.kdts.b.b : 加载数据库驱动 ORACLE 11g oracle.jdbc.OracleDriver 失败!java.lang.reflect.InaccessibleObjectException: Unable to make protected voidjava.net.URLClassLoader.addURL(java.net.URL) accessible: module java.base does not ”
opens java.net” to unnamed module @6e0dec4a– 造成原因:从错误的提示可以分析是 java.base 包没有开放到任意模块下,而模块又通过反射使用了一些包内的属性值,这样的操作是不被允许的。这种情况一般在使用高于 Java 8 版本的 JDK 时会出现,大多情况是 OpenJDK 出现,原因是在 Java 9 及之后的版本对源码进行了模块化重构,public 不再意味着完全开放,而是使用了 export 的机制来更细粒度地控制可见性。– 解决方案:
添加 JVM 参数:--add-opens java.base/java.net=ALL-UNNAMED
http://www.dtcms.com/wzjs/304614.html

相关文章:

  • 做网站时如何上传图片今日小说百度搜索风云榜
  • 一个网站可以做几级链接手机网站制作平台
  • 企业做网站天津石家庄今天最新新闻头条
  • 山西省建设监理协会官方网站十大品牌营销策划公司
  • 郑州汉狮做网站报价磁力天堂torrentkitty
  • php网站开发方案微商如何引流与推广
  • 中山优秀网站建设广州aso优化
  • 漳州网站建设哪家最正规有域名后如何建网站
  • 网站建设服装在线商城实训报告企业网站模板 免费
  • div css 网站后台关键词优化设计
  • 网站建设应重视后期的服务和维护百度地图客服人工电话
  • wordpress 如何制作模板系统优化的例子
  • 游戏开发公司排名爱站网seo综合查询
  • 网站建设与维护案例百度官网网站
  • 北京知名网站新品牌进入市场的推广方案
  • 建设银行贵阳市网站电话西安网站建设公司十强
  • SFDA的网站建设搜索引擎优化宝典
  • 网站的流量怎么赚钱靠谱seo整站优化外包
  • 网站建设自建服务器百度网站推广价格
  • localhost怎么做网站深圳seo公司助力网络营销飞跃
  • 网站平台代理制作网页的工具软件
  • 企业网站建设网站专业服务产品宣传
  • 做网站用什么语言和工具aso网站
  • 内蒙古做网站的公司有哪些专业模板建站
  • 做甜品网站提高网站搜索排名
  • 200M电信宽带做网站互联网推广方式有哪些
  • 网站虚拟空间作用营销策划品牌策划
  • 零基础网页设计培训机构象山seo外包服务优化
  • 营销型网站设计模板百度电话客服
  • 互联二维码生成器seo主要优化哪些