<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Vastbase on Kernel Notes</title><link>https://my-blog.j8465383071.workers.dev/tags/vastbase/</link><description>Recent content in Vastbase on Kernel Notes</description><generator>Hugo -- 0.147.7</generator><language>zh-cn</language><lastBuildDate>Fri, 14 Aug 2026 17:53:15 +0800</lastBuildDate><atom:link href="https://my-blog.j8465383071.workers.dev/tags/vastbase/index.xml" rel="self" type="application/rss+xml"/><item><title>PostgreSQL 3-13 Vastbase 逻辑复制</title><link>https://my-blog.j8465383071.workers.dev/posts/postgresql/3-13-vb-rep/</link><pubDate>Thu, 27 Nov 2025 19:07:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/postgresql/3-13-vb-rep/</guid><description>&lt;h1 id="2-使用">2 使用&lt;/h1>
&lt;h2 id="21-发布端">2.1 发布端&lt;/h2>
&lt;ol>
&lt;li>
&lt;p>配置&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># vb&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;wal_level=logical&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span class="nv">$GAUSSHOME&lt;/span>/data/postgresql.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;max_replication_slots=4&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span class="nv">$GAUSSHOME&lt;/span>/data/postgresql.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;max_wal_senders=4&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span class="nv">$GAUSSHOME&lt;/span>/data/postgresql.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># echo &amp;#34;max_worker_processes=8&amp;#34; &amp;gt;&amp;gt; $GAUSSHOME/data/postgresql.conf&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;max_logical_replication_workers=32&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span class="nv">$GAUSSHOME&lt;/span>/data/postgresql.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;listen_addresses=&amp;#39;*&amp;#39;&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span class="nv">$GAUSSHOME&lt;/span>/data/postgresql.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sed -i &lt;span class="s1">&amp;#39;1i host all all 0.0.0.0/0 md5\n&amp;#39;&lt;/span> &lt;span class="nv">$GAUSSHOME&lt;/span>/data/pg_hba.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;host replication all 0.0.0.0/0 md5&amp;#34;&lt;/span> &amp;gt;&amp;gt; &lt;span class="nv">$GAUSSHOME&lt;/span>/data/pg_hba.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># host all all 0.0.0.0/0 md5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">psql -d postgres -c &lt;span class="s2">&amp;#34;SELECT name,setting FROM pg_settings WHERE name in
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> (&amp;#39;wal_level&amp;#39;, &amp;#39;max_replication_slots&amp;#39;, &amp;#39;max_wal_senders&amp;#39;, &amp;#39;max_worker_processes&amp;#39;, &amp;#39;max_logical_replication_workers&amp;#39;)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>创建基表&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sql" data-lang="sql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">CREATE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">DATABASE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">pubdb&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="err">\&lt;/span>&lt;span class="k">c&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">pubdb&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">CREATE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">TABLE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">pt1&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">c1&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nb">INT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">c2&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nb">TEXT&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">CREATE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">TABLE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">pt2&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">c1&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nb">INT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">c2&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="nb">TEXT&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">INSERT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">INTO&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">pt1&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">VALUES&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;data1-1&amp;#39;&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;data1-2&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">INSERT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">INTO&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">pt1&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">VALUES&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;data2-1&amp;#39;&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;data2-2&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>创建发布用户&lt;/p></description></item><item><title>Vastbase 数据库研发过程安全分析报告</title><link>https://my-blog.j8465383071.workers.dev/posts/compliance/sdl-process-security/</link><pubDate>Fri, 14 Aug 2026 17:53:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/compliance/sdl-process-security/</guid><description/></item><item><title>Vastbase SSL安全传输</title><link>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-ssl/</link><pubDate>Thu, 28 Aug 2025 09:47:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-ssl/</guid><description>&lt;h1 id="1-基于ssl证书实现身份认证">1 基于SSL证书实现身份认证&lt;/h1>
&lt;p>在应用与数据库传输数据时，为避免攻击者对数据进行窃听、篡改、伪造、重放等攻击，Vastbae支持采用SSL协议保障数据机密性与完整性。在SSL协议协商密钥的过程中，应用与数据库需通过证书验证对方身份，同时，该证书也可作为登入数据库的身份凭证。&lt;br>
此处介绍生成证书，并基于证书配置SSL协议，同时基于证书实现身份认证，操作流程可分为以下3个阶段：&lt;/p>
&lt;ul>
&lt;li>一、生成私钥与证书&lt;/li>
&lt;li>二、数据库端配置证书与私钥&lt;/li>
&lt;li>三、应用端配置证书与私钥&lt;/li>
&lt;/ul>
&lt;h2 id="一生成私钥与证书">一、生成私钥与证书&lt;/h2>
&lt;p>此处介绍基于openssl工具，生成自签名证书的流程&lt;/p>
&lt;ol>
&lt;li>
&lt;p>创建存放私钥与证书的文件夹&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">mkdir cadir
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> cadir
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir ./demoCA ./demoCA/newcerts ./demoCA/private
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s1">&amp;#39;01&amp;#39;&lt;/span>&amp;gt;./demoCA/serial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">touch ./demoCA/index.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>配置openssl工具&lt;br>
从Vastbase安装包中，获取openssl工具以及openss配置文件。假设Vastbae安装包存放在$GAUSSHOME目录。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">cp &lt;span class="nv">$GAUSSHOME&lt;/span>/bin/openssl ./
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>:&lt;span class="nv">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">which openssl &lt;span class="c1"># 确保openssl来源于Vastbase安装包，避免因版本不同造成证书不可用&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cp &lt;span class="nv">$GAUSSHOME&lt;/span>/share/sslcert/gsql/openssl.cnf ./
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">OPENSSL_CONF&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>/openssl.cnf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>创建CA私钥、CA证书&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">openssl ecparam -genkey -name SM2 -out demoCA/private/cakey.pem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -new -config openssl.cnf -key demoCA/private/cakey.pem -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>VAST/OU&lt;span class="o">=&lt;/span>SEC/CN&lt;span class="o">=&lt;/span>CA -out cacert.req
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -selfsign -config openssl.cnf -batch -keyfile demoCA/private/cakey.pem -in cacert.req -out demoCA/cacert.pem
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>创建数据库私钥、数据库证书&lt;/p></description></item><item><title>数据库安全 重构审计</title><link>https://my-blog.j8465383071.workers.dev/posts/security/vastbase-audit-refactor/</link><pubDate>Mon, 31 Mar 2025 19:24:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/security/vastbase-audit-refactor/</guid><description>&lt;h1 id="1-审计的背景">1 审计的背景&lt;/h1>
&lt;h2 id="11-审计的原理">1.1 审计的原理&lt;/h2>
&lt;p>在使用数据库存取数据的大部分场景中，数据库具有以下特点：&lt;/p>
&lt;ul>
&lt;li>对象多：一个数据库集群中有多个database对象，1个database对象中有多个schema对象，1个schema对象中有多个table、index等对象&lt;/li>
&lt;li>用户多：一个数据库中，有多个用户，每个用户可访问的数据库对象不同&lt;/li>
&lt;li>应用多：多个应用将数据存储在同一数据库集群中，并同时访问数据库集群&lt;/li>
&lt;li>操作多：数据库提供丰富的功能，包括DDL、DML、DCL、运维等&lt;/li>
&lt;li>运行久：一个数据库集群，可能会保持数十年运行&lt;/li>
&lt;/ul>
&lt;p>审计的主要目的，使记录数据运行过程中发生了哪些事件。审计的3要素是：&lt;/p>
&lt;ul>
&lt;li>主体：一般指数据库用户&lt;/li>
&lt;li>客体：一般指数据库对象，包括：集群、数据对象（database、schema、table、index、function等）、用户等&lt;/li>
&lt;li>操作：主体对客体的操作，比如某个用户访问了某个表&lt;/li>
&lt;/ul>
&lt;h2 id="12-审计的目的">1.2 审计的目的&lt;/h2>
&lt;p>审计具有以下重要意义：&lt;/p>
&lt;ul>
&lt;li>合法合规：《网络安全法》等法律法规与表中中，要求应用通过《等保测评》等标准，标准中要求应用具备审计功能&lt;/li>
&lt;li>故障检测：当数据库出现故障时，协助快速定位问题&lt;/li>
&lt;li>攻击检测：通过检查审计日志，可判断是否发生网络安全攻击事件&lt;/li>
&lt;li>例行维护：通过检查审计日志，可跟踪对某个对象的访问信息&lt;/li>
&lt;li>…&lt;/li>
&lt;/ul>
&lt;p>等保测评要求标准（GB/T 28448）中，对审计的要求如下：&lt;/p>
&lt;ul>
&lt;li>审计范围
&lt;ul>
&lt;li>全面性&lt;/li>
&lt;li>细粒度：登录、访问、修改、删除等&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>审计内容
&lt;ul>
&lt;li>用户行为：登录、登出、权限变更&lt;/li>
&lt;li>数据访问：敏感数据查询、插入、更新、删除等&lt;/li>
&lt;li>异常行为：登录失败、非法访问&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>审计记录
&lt;ul>
&lt;li>详细性：时间戳、用户标识、操作类型、操作结果、IP地址等&lt;/li>
&lt;li>不可篡改：真实性、完整性&lt;/li>
&lt;li>存储安全：未经授权的访问和修改&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>审计管理
&lt;ul>
&lt;li>审计策略：审计的目标、范围、内容和频率&lt;/li>
&lt;li>审计分析：定期分析审计记录&lt;/li>
&lt;li>审计报告&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="13-审计的功能">1.3 审计的功能&lt;/h2>
&lt;p>审计功能包含以下3个部分：&lt;/p>
&lt;ol>
&lt;li>配置审计功能：日志存储策略等&lt;/li>
&lt;li>设置审计范围：设置哪类操作、哪类对象、..需要给设计&lt;/li>
&lt;li>生成审计日志：运行时，生成审计日志&lt;/li>
&lt;li>管理审计日志：查询，删除，归档审计日志&lt;/li>
&lt;/ol>
&lt;h2 id="14-oracle审计">1.4 oracle审计&lt;/h2>
&lt;p>oracle审计的发展：&lt;/p>
&lt;ul>
&lt;li>oracle 8i及更早：支持传统审计&lt;/li>
&lt;li>oracle 12c：新增支持统一审计&lt;/li>
&lt;li>oracle 23ai：不支持传统审计，仅支持统一审计&lt;/li>
&lt;/ul>
&lt;p>oracle统一审计的使用：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sql" data-lang="sql">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">-- 1 设置审计范围：创建审计策略
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">CREATE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">AUDIT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">POLICY&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ap1&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="k">PRIVILEGES&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">CREATE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">TABLE&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">ALTER&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">USER&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1">-- privilege 子句，记录所有使用CreateTable, AlterUser权限的操作，oracle 12c中，支持256种权限
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ACTIONS&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">SELECT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="k">INSERT&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="k">UPDATE&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">ON&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1">-- aciton 子句，记录所有对表t1执行SELECT,INSERT,UPDATE的操作
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ROLES&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">r1&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1">-- role 子句，记录所有使用r1角色的操作
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="c1">-- 2 启用审计策略
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">AUDIT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">POLICY&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ap1&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="c1">-- 3 查看审计日志（完整日志）
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">SELECT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">FROM&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">UNIFIED_AUDIT_TRAIL&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="c1">-- 查看关键日志
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">SELECT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">FROM&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">DBA_AUDIT_TRAIL&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1">-- 其他：DBA_COMMON_AUDIT_TRAIL, DBA_AUDIT_SESSION, DBA_AUDIT_OBJECT, DBA_FGA_AUDIT_TRAIL
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">os_username&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">username&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">userhost&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">terminal&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">timestamp&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">owner&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">obj_name&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">action&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">action_name&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="c1">------------+----------+----------+----------+-----------+-------+----------+--------+-------------+
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">new_owner&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">new_name&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">obj_privilege&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">sys_privilege&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">admin_option&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">grantee&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">audit_option&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">ses_actions&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="c1">----------+----------+---------------+---------------+--------------+---------+--------------+-------------+
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">logoff_time&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">logoff_lread&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">logoff_pwrite&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">logoff_dlock&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">comment_text&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">sessionid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">entryid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">statementid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">returncode&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="c1">-----------+--------------+---------------+--------------+--------------+-----------+---------+-------------+------------+
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">priv_used&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">client_id&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">econtext_id&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">session_cpu&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">extended_timestamp&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">proxy_sessionid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">global_uid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">instance_number&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="c1">-----------+-----------+-------------+-------------+--------------------+-----------------+------------+-----------------+
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="n">os_process&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">transactionid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">scn&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">sql_bind&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">sql_text&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">obj_edition_name&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">dbid&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">rls_info&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">current_user&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">|&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="c1">----------+---------------+-----+----------+----------+------------------+------+----------+--------------+
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>其中，可设置的权限、操作等范围如下：&lt;/p></description></item><item><title>Vastbase</title><link>https://my-blog.j8465383071.workers.dev/posts/database/vastbase/</link><pubDate>Thu, 20 Feb 2025 14:06:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/database/vastbase/</guid><description>&lt;h1 id="1-准备开发环境">1 准备开发环境&lt;/h1>
&lt;h2 id="11-登录远程windows">1.1 登录远程windows&lt;/h2>
&lt;ol>
&lt;li>连接vpn&lt;br>
下载vpn软件，使用入职时他人帮忙申请的vpn账号登录&lt;/li>
&lt;li>登录远程windows电脑&lt;br>
使用入职时他人帮忙申请的远程windows账号&lt;/li>
&lt;li>登录gitlab&lt;br>
入职时，有人已帮忙申请gutlab账号。&lt;a href="http://172.16.19.246/">http://172.16.19.246&lt;/a>&lt;/li>
&lt;li>查看vastbase代码&lt;br>
&lt;a href="http://172.16.19.246/VastbaseG100/src">http://172.16.19.246/VastbaseG100/src&lt;/a>
&lt;ul>
&lt;li>默认无权限，可能搜不到，请找小组领导开通权限&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="12-准备vastbase编译环境">1.2 准备vastbase编译环境&lt;/h2>
&lt;p>在远程windows中，登录远程centos&lt;/p>
&lt;ol>
&lt;li>
&lt;p>配置git&lt;br>
生成rsa密钥，配置到gitlab中&lt;/p>
&lt;/li>
&lt;li>
&lt;p>下载vastbase源码&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">mkdir g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git clone -b master git@172.16.19.246:VastbaseG100/src.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>下载vastbase依赖的二进制文件&lt;br>
需要自行通过svn下载，然后，上传到vastbase源码同级目录&lt;/p>
&lt;ul>
&lt;li>ip: 172.16.19.4&lt;/li>
&lt;li>用户名: clouder&lt;/li>
&lt;li>密码: 自行询问&lt;/li>
&lt;li>目录: /Database/Vastbase/third_party&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>配置用于编译vastbase的环境变量&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">touch venv
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>请确保此时的目录结构如下：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">ls g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">|&lt;/span>-- g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">|&lt;/span>-- src
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">|&lt;/span>-- binarylibs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">|&lt;/span>-- venv
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>设置环境变量，在venv文件中，输入以下内容：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CODE_BASE&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">BINARYLIBS&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>/binarylibs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 安装目录在源码里写死了，改不了&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">GAUSSHOME&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>/src/mppdb_temp_install
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">GCC_PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$BINARYLIBS&lt;/span>/buildtools/gcc7.3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CC&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/bin/gcc
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CXX&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/bin/g++
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">LD_LIBRARY_PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GAUSSHOME&lt;/span>/lib:&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/lib64:&lt;span class="nv">$GCC_PATH&lt;/span>/isl/lib:&lt;span class="nv">$GCC_PATH&lt;/span>/mpc/lib/:&lt;span class="nv">$GCC_PATH&lt;/span>/mpfr/lib/:&lt;span class="nv">$GCC_PATH&lt;/span>/gmp/lib/:&lt;span class="nv">$LD_LIBRARY_PATH&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GAUSSHOME&lt;/span>/bin:&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/bin:&lt;span class="nv">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 以下是vastbase增加的&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$BINARYLIBS&lt;/span>/buildtools/cmake/bin:&lt;span class="nv">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>配置快捷命令&lt;/p></description></item><item><title>vastbase 身份认证</title><link>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-auth/</link><pubDate>Mon, 17 Feb 2025 14:43:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-auth/</guid><description>&lt;h1 id="国策用例">国策用例&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4、配置客户端认证方式
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hostssl all all 0.0.0.0/0 cert
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1、生成国密证书
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">创建 CA 目录 cadir 并进入
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir cadir
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> cadir
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">copy 配置文件 openssl.cnf 到当前目录（不同环境，配置文件路径可能不一样）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cp /etc/pki/tls/openssl.cnf .
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">开始搭建CA环境
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir ./demoCA ./demoCA/newcerts ./demoCA/private
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">777&lt;/span> ./demoCA/private
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">创建serial文件,写入01
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s1">&amp;#39;01&amp;#39;&lt;/span>&amp;gt;./demoCA/serial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">创建文件index.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">touch ./demoCA/index.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">修改openssl.cnf配置文件中CA_default的参数
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">dir&lt;/span> &lt;span class="o">=&lt;/span> ./demoCA
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">default_md&lt;/span> &lt;span class="o">=&lt;/span> sha256
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">至此CA环境搭建完成
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成CA私钥
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -out demoCA/private/cakey.pem -name SM2 -genkey
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成根证书请求文件
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -key demoCA/private/cakey.pem -new -out cacert.req -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>VAST/OU&lt;span class="o">=&lt;/span>SEC/CN&lt;span class="o">=&lt;/span>CLIENT
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成自签发根证书
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成根证书时，需要修改openssl.cnf文件，设置basicConstraints&lt;span class="o">=&lt;/span>CA:TRUE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vi openssl.cnf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成CA自签发根证书
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -config openssl.cnf -in cacert.req -keyfile demoCA/private/cakey.pem -selfsign -out demoCA/cacert.pem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成服务器私钥文件server.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -out server.key -name SM2 -genkey
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成服务器证书请求文件server.req
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -key server.key -new -out server.req -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>VAST/OU&lt;span class="o">=&lt;/span>SEC/CN&lt;span class="o">=&lt;/span>server
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成服务端/客户端证书时，修改openssl.cnf文件，设置basicConstraints&lt;span class="o">=&lt;/span>CA:FALSE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vi openssl.cnf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">对生成的服务器证书请求文件进行签发，签发后将生成正式的服务器证书server.crt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -config openssl.cnf -in server.req -out server.crt -days &lt;span class="m">3650&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成客户端私钥
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -out client.key -name SM2 -genkey
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">生成客户端证书请求文件
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -key client.key -out client.req -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>VAST/OU&lt;span class="o">=&lt;/span>SEC/CN&lt;span class="o">=&lt;/span>client
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">对生成的客户端证书请求文件进行签发，签发后将生成正式的客户端证书client.crt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -config openssl.cnf -in client.req -out client.crt -days &lt;span class="m">3650&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">注：中间会产生交互，按照以下内容进行填写（需注意每个交互的common name填不一样的内容，如分别写：test1,test2,test3）：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Country Name &lt;span class="o">(&lt;/span>&lt;span class="m">2&lt;/span> letter code&lt;span class="o">)&lt;/span> &lt;span class="o">[&lt;/span>AU&lt;span class="o">]&lt;/span>:CN
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State or Province Name &lt;span class="o">(&lt;/span>full name&lt;span class="o">)&lt;/span> &lt;span class="o">[&lt;/span>Some-State&lt;span class="o">]&lt;/span>:shanxi
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Locality Name &lt;span class="o">(&lt;/span>eg, city&lt;span class="o">)&lt;/span> &lt;span class="o">[]&lt;/span>:xian
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Organization Name &lt;span class="o">(&lt;/span>eg, company&lt;span class="o">)&lt;/span> &lt;span class="o">[&lt;/span>Internet Widgits Pty Ltd&lt;span class="o">]&lt;/span>:Abc
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Organizational Unit Name &lt;span class="o">(&lt;/span>eg, section&lt;span class="o">)&lt;/span> &lt;span class="o">[]&lt;/span>:hello
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">--Common Name可以随意命名
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Common Name &lt;span class="o">(&lt;/span>eg, YOUR name&lt;span class="o">)&lt;/span> &lt;span class="o">[]&lt;/span>:world
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">--Email可以选择性填写
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Email Address &lt;span class="o">[]&lt;/span>:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Please enter the following &lt;span class="s1">&amp;#39;extra&amp;#39;&lt;/span> attributes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">to be sent with your certificate request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A challenge password &lt;span class="o">[]&lt;/span>: 1qaz!QAZ
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">An optional company name &lt;span class="o">[]&lt;/span>:world
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># ---------------------------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">https://gitee.com/opengauss/openGauss-server/pulls/3254
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir certs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cp ../../tassl/tassl_demo/cert/openssl.cnf certs/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> certs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#CA&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -genkey -name SM2 -out CA.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>YUNHEENMO/OU&lt;span class="o">=&lt;/span>MogDB/CN&lt;span class="o">=&lt;/span>FooCA -key CA.key -out CA.csr
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl x509 -sm3 -req -days &lt;span class="m">1500&lt;/span> -in CA.csr -extfile openssl.cnf -extensions v3_ca -signkey CA.key -out CA.crt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#server&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -genkey -name SM2 -out server.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>YUNHEENMO/OU&lt;span class="o">=&lt;/span>MogDB/CN&lt;span class="o">=&lt;/span>server -key server.key -out server.csr
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl x509 -sm3 -req -days &lt;span class="m">1500&lt;/span> -in server.csr -CA CA.crt -CAkey CA.key -extfile openssl.cnf -out server.crt -CAcreateserial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#server_enc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -genkey -name SM2 -out server_enc.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>YUNHEENMO/OU&lt;span class="o">=&lt;/span>MogDB/CN&lt;span class="o">=&lt;/span>server -key server_enc.key -out server_enc.csr
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl x509 -sm3 -req -days &lt;span class="m">1500&lt;/span> -in server_enc.csr -CA CA.crt -CAkey CA.key -extfile openssl.cnf -out server_enc.crt -CAcreateserial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#client&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -genkey -name SM2 -out client.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>YUNHEENMO/OU&lt;span class="o">=&lt;/span>MogDB/CN&lt;span class="o">=&lt;/span>client -key client.key -out client.csr
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl x509 -sm3 -req -days &lt;span class="m">1500&lt;/span> -in client.csr -CA CA.crt -CAkey CA.key -extfile openssl.cnf -out client.crt -CAcreateserial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#client_enc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -genkey -name SM2 -out client_enc.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -subj /C&lt;span class="o">=&lt;/span>CN/ST&lt;span class="o">=&lt;/span>BJ/L&lt;span class="o">=&lt;/span>HaiDian/O&lt;span class="o">=&lt;/span>YUNHEENMO/OU&lt;span class="o">=&lt;/span>MogDB/CN&lt;span class="o">=&lt;/span>client -key client_enc.key -out client_enc.csr
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl x509 -sm3 -req -days &lt;span class="m">1500&lt;/span> -in client_enc.csr -CA CA.crt -CAkey CA.key -extfile openssl.cnf -out client_enc.crt -CAcreateserial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#修改权限&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">0600&lt;/span> *
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#增加密码保护&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ec -sm4 -in server.key -out server.key -passout pass:123qweQWE
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc generate -S 123qweQWE -D ./ -o server
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ec -sm4 -in server_enc.key -out server_enc.key -passout pass:234werWER
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc generate -S 234werWER -D ./ -o server_enc
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ec -sm4 -in client.key -out client.key -passout pass:345ertERT
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc generate -S 345ertERT -D ./ -o client
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ec -sm4 -in client_enc.key -out client_enc.key -passout pass:456rtyRTY
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc generate -S 456rtyRTY -D ./ -o client_enc
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">0600&lt;/span> *
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#客户端：&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CERT&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s1">&amp;#39;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export CERT=`pwd`
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLMODE=verify-ca
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLTLCP=1
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLROOTCERT=$CERT/CA.crt
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLKEY=$CERT/client.key
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLCERT=$CERT/client.crt
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLENCKEY=$CERT/client_enc.key
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">export PGSSLENCCERT=$CERT/client_enc.crt
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">&amp;#39;&lt;/span> &amp;gt; client_env
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">source&lt;/span> client_env
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">#服务器：&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl=on&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_ciphers = &amp;#39;ALL&amp;#39;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_use_tlcp=on&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_ca_file = &amp;#39;&lt;/span>&lt;span class="nv">$CERT&lt;/span>&lt;span class="s2">/CA.crt&amp;#39;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_key_file=&amp;#39;&lt;/span>&lt;span class="nv">$CERT&lt;/span>&lt;span class="s2">/server.key&amp;#39;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_cert_file=&amp;#39;&lt;/span>&lt;span class="nv">$CERT&lt;/span>&lt;span class="s2">/server.crt&amp;#39;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_enc_key_file=&amp;#39;&lt;/span>&lt;span class="nv">$CERT&lt;/span>&lt;span class="s2">/server_enc.key&amp;#39;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gs_guc &lt;span class="nb">set&lt;/span> -D &lt;span class="nv">$GAUSSHOME&lt;/span>/data -c &lt;span class="s2">&amp;#34;ssl_enc_cert_file=&amp;#39;&lt;/span>&lt;span class="nv">$CERT&lt;/span>&lt;span class="s2">/server_enc.crt&amp;#39;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1、生成国密证书
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 创建 CA 目录 cadir 并进入&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># copy 配置文件 openssl.cnf 到当前目录（不同环境，配置文件路径可能不一样）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cp /etc/pki/tls/openssl.cnf .
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 开始搭建CA环境&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir ./demoCA ./demoCA/newcerts ./demoCA/private
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">777&lt;/span> ./demoCA/private
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 创建serial文件,写入01&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s1">&amp;#39;01&amp;#39;&lt;/span>&amp;gt;./demoCA/serial
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 创建文件index.txt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">touch ./demoCA/index.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 至此CA环境搭建完成&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成CA私钥&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -out demoCA/private/cakey.pem -name SM2 -genkey
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成根证书请求文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -key demoCA/private/cakey.pem -new -out cacert.req
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成自签发根证书&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成根证书时，需要修改openssl.cnf文件，设置basicConstraints=CA:TRUE&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vi openssl.cnf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成CA自签发根证书&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -config openssl.cnf -in cacert.req -keyfile demoCA/private/cakey.pem -selfsign -out demoCA/cacert.pem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成服务器私钥文件server.key&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -out server.key -name SM2 -genkey
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成服务器证书请求文件server.req&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -key server.key -new -out server.req
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成服务端/客户端证书时，修改openssl.cnf文件，设置basicConstraints=CA:FALSE&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vi openssl.cnf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 对生成的服务器证书请求文件进行签发，签发后将生成正式的服务器证书server.crt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -config openssl.cnf -in server.req -out server.crt -days &lt;span class="m">3650&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成客户端私钥&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ecparam -out client.key -name SM2 -genkey
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 生成客户端证书请求文件&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl req -config openssl.cnf -new -key client.key -out client.req
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 对生成的客户端证书请求文件进行签发，签发后将生成正式的客户端证书client.crt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">openssl ca -config openssl.cnf -in client.req -out client.crt -days &lt;span class="m">3650&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 注：中间会产生交互，按照以下内容进行填写（需注意每个交互的common name填不一样的内容，如分别写：test1,test2,test3）：&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Country Name &lt;span class="o">(&lt;/span>&lt;span class="m">2&lt;/span> letter code&lt;span class="o">)&lt;/span> &lt;span class="o">[&lt;/span>AU&lt;span class="o">]&lt;/span>:CN
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">State or Province Name &lt;span class="o">(&lt;/span>full name&lt;span class="o">)&lt;/span> &lt;span class="o">[&lt;/span>Some-State&lt;span class="o">]&lt;/span>:shanxi
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Locality Name &lt;span class="o">(&lt;/span>eg, city&lt;span class="o">)&lt;/span> &lt;span class="o">[]&lt;/span>:xian
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Organization Name &lt;span class="o">(&lt;/span>eg, company&lt;span class="o">)&lt;/span> &lt;span class="o">[&lt;/span>Internet Widgits Pty Ltd&lt;span class="o">]&lt;/span>:Abc
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Organizational Unit Name &lt;span class="o">(&lt;/span>eg, section&lt;span class="o">)&lt;/span> &lt;span class="o">[]&lt;/span>:hello
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">--Common Name可以随意命名
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Common Name &lt;span class="o">(&lt;/span>eg, YOUR name&lt;span class="o">)&lt;/span> &lt;span class="o">[]&lt;/span>:world
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">--Email可以选择性填写
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Email Address &lt;span class="o">[]&lt;/span>:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Please enter the following &lt;span class="s1">&amp;#39;extra&amp;#39;&lt;/span> attributes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">to be sent with your certificate request
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">A challenge password &lt;span class="o">[]&lt;/span>: 1qaz!QAZ
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">An optional company name &lt;span class="o">[]&lt;/span>:world
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2、配置客户端文件
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">600&lt;/span> client.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">600&lt;/span> client.crt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">600&lt;/span> ./demoCA/cacert.pem
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">600&lt;/span> server.key
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">chmod &lt;span class="m">600&lt;/span> server.crt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">3、配置服务器端参数
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cp server.crt server.key ./demoCA/cacert.pem &lt;span class="nv">$PGDATA&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cp client.crt client.key /home/vastbase/data/vastbase/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PGSSLCERT&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;/home/vastbase/cadir/client.crt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PGSSLKEY&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;/home/vastbase/cadir/client.key&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PGSSLMODE&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;verify-ca&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PGSSLROOTCERT&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;/home/vastbase/data/vastbase/cacert.pem&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vi postgresql.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">ssl&lt;/span> &lt;span class="o">=&lt;/span> on
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">require_ssl&lt;/span> &lt;span class="o">=&lt;/span> on
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">ssl_cert_file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;server.crt&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">ssl_key_file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;server.key&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">ssl_ca_file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;cacert.pem&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">ssl_crl_file&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">4、配置客户端认证方式
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vi pg_hba.conf
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">hostssl all all 0.0.0.0/0 cert
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">5、重启数据库服务
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vb_ctl restart
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vsql - vastbase -r
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">--创建生成客户端证书时Common Name同名用户
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">create user test3 password&lt;span class="s1">&amp;#39;Test@123&amp;#39;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1、客户端vsql连接到服务端
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">vsql -dvastbase -r -h IP -U test3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">--预期
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">连接成功，提示SSL connection
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h1 id="1-需求背景">1 需求背景&lt;/h1>
&lt;h2 id="12-oracle-profile功能">1.2 Oracle Profile功能&lt;/h2>
&lt;h3 id="一查看profile信息">一、查看profile信息&lt;/h3>
&lt;ol>
&lt;li>
&lt;p>设置sqlplus输出格式&lt;/p></description></item><item><title>vastbase 加密函数</title><link>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-encrypt/</link><pubDate>Sun, 09 Feb 2025 16:10:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-encrypt/</guid><description>&lt;h1 id="1-需求背景">1 需求背景&lt;/h1>
&lt;h2 id="11-数据加密背景">1.1 数据加密背景&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>加密的原理&lt;br>
不同场景中，适合的加密算法类型不同。对存储数据加密，通常采用对称密码算法，此处主要介绍对称密码算法：&lt;/p>
&lt;ul>
&lt;li>加密原理：输入1个明文，输入1个密钥，对明文和密钥进行一些运算（比如异或，代换），可得到1个密文。密钥通常是随机生成的。&lt;/li>
&lt;li>加密算法：DES算法，发布于1977年，已确定为不安全加密算法。3DES算法，调用3次DES算法，生成3个密钥，安全性与DES差别不大，也属于不安全的加密算法。AES算法，发布于2001年，通用的国际标准&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>数据库加密函数&lt;br>
几乎所有数据库，都提供内置加密函数，让用户通过SQL语句调用。最典型的场景如下：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sql" data-lang="sql">&lt;span class="line">&lt;span class="cl">&lt;span class="c1">-- 假设，数据库提供函数encrypt(明文，密钥，加密算法)，输出为密文
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">-- 用户想表&amp;#39;t1&amp;#39;中存储数据&amp;#39;shenkun&amp;#39;，则存储的语法如下：（用户自己保管密钥）
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="k">INSERT&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">INTO&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">VALUES&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">encrypt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;shenkun&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;一串随机的密钥&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;aes&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;/ul>
&lt;h2 id="12-oracle-加密包">1.2 oracle 加密包&lt;/h2>
&lt;p>早期版本的oracle中，包含1个名为dbms_obfuscation_toolkit的包，提供7个函数，主要实现加密、解密等功能：&lt;/p>
&lt;ul>
&lt;li>版本信息：oracle 8i版本开始提供，oracle 10g版本开始不被推荐使用，由dbms_crypto代替，oracle 21c版本正式移除&lt;/li>
&lt;li>函数列表：
&lt;ul>
&lt;li>生成随机数：desgetkey(seed) -&amp;gt; key&lt;/li>
&lt;li>加密：desencrypt(input, key) -&amp;gt; encrypted_data&lt;/li>
&lt;li>解密：descdecrypt(input, key) -&amp;gt; decrypted_data&lt;/li>
&lt;li>生成随机数：des3getkey(which=&amp;gt;0, seed) -&amp;gt; key&lt;/li>
&lt;li>加密：des3encrypt(input, key, which=&amp;gt;0, iv=&amp;gt;012345678abcdef) -&amp;gt; encrypted_data&lt;/li>
&lt;li>解密：des3decrypt(input, key, which=&amp;gt;0, iv=&amp;gt;012345678abcdef) -&amp;gt; decrypted_data&lt;/li>
&lt;li>哈希：md5(input) -&amp;gt; checksum&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>函数参数：函数参数有3种数据类型：varchar2, raw。与raw类型相比，如果是varchar2类型，参数名需加上_string后缀。比如，raw类型的入参名为input，则varcha2类型入参名为input_string&lt;/li>
&lt;li>函数限制：
&lt;ul>
&lt;li>desgetkey：seed长度最短为80字节&lt;/li>
&lt;li>desencrypt：input长度是8字节的整数倍；key最短为8字节，超过8字节的部分被丢弃&lt;/li>
&lt;li>descdecrypt：input长度是8字节的整数倍；key最短为8字节，超过8字节的部分被丢弃&lt;/li>
&lt;li>des3getkey: seed长度最短为80字节&lt;/li>
&lt;li>des3encrypt：input长度是8字节的整数倍；which为0时，key最短为16字节，超过16字节的部分被丢弃；which为1时，key最短为24字节，超过24字节的部分被丢弃&lt;/li>
&lt;li>des3dencrypt：input长度是8字节的整数倍；which为0时，key最短为16字节，超过16字节的部分被丢弃；which为1时，key最短为24字节，超过24字节的部分被丢弃&lt;/li>
&lt;li>md5：无&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>参考文档
&lt;ul>
&lt;li>函数介绍：函数背景、注意事项等：&lt;a href="https://docs.oracle.com/cd/A97630_01/appdev.920/a96590/adgsec04.htm">https://docs.oracle.com/cd/A97630_01/appdev.920/a96590/adgsec04.htm&lt;/a>&lt;/li>
&lt;li>函数参数：参数类型、调用示例等：&lt;a href="https://docs.oracle.com/cd/B10500_01/appdev.920/a96612/d_obtoo2.htm">https://docs.oracle.com/cd/B10500_01/appdev.920/a96612/d_obtoo2.htm&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>以下是上述函数的调用示例：&lt;/p></description></item><item><title>Vastbase 搭建环境、编译代码、安装数据库</title><link>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-build/</link><pubDate>Sat, 08 Feb 2025 16:44:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/database/vastbase-build/</guid><description>&lt;h1 id="1-准备开发环境">1 准备开发环境&lt;/h1>
&lt;h2 id="11-登录远程windows">1.1 登录远程windows&lt;/h2>
&lt;ol>
&lt;li>连接vpn&lt;br>
下载vpn软件，使用入职时他人帮忙申请的vpn账号登录&lt;/li>
&lt;li>登录远程windows电脑&lt;br>
使用入职时他人帮忙申请的远程windows账号&lt;/li>
&lt;li>登录gitlab&lt;br>
入职时，有人已帮忙申请gutlab账号。&lt;a href="http://172.16.19.246/">http://172.16.19.246&lt;/a>&lt;/li>
&lt;li>查看vastbase代码&lt;br>
&lt;a href="http://172.16.19.246/VastbaseG100/src">http://172.16.19.246/VastbaseG100/src&lt;/a>
&lt;ul>
&lt;li>默认无权限，可能搜不到，请找小组领导开通权限&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;h2 id="12-准备vastbase编译环境">1.2 准备vastbase编译环境&lt;/h2>
&lt;p>在远程windows中，登录远程centos&lt;/p>
&lt;ol>
&lt;li>
&lt;p>配置git&lt;br>
生成rsa密钥，配置到gitlab中&lt;/p>
&lt;/li>
&lt;li>
&lt;p>下载vastbase源码&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">mkdir g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git clone -b master git@172.16.19.246:VastbaseG100/src.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>下载vastbase依赖的二进制文件&lt;br>
需要自行通过svn下载，然后，上传到vastbase源码同级目录&lt;br>
在文件管理器中，输出&lt;code>ftp://172.16.19.4&lt;/code>后，会提示输出账号和密码&lt;/p>
&lt;ul>
&lt;li>ip: 172.16.19.4&lt;/li>
&lt;li>用户名: clouder&lt;/li>
&lt;li>密码: 自行询问&lt;/li>
&lt;li>目录: /Database/Vastbase/third_party&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>配置用于编译vastbase的环境变量&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">touch venv
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>请确保此时的目录结构如下：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">ls g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">|&lt;/span>-- g100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">|&lt;/span>-- src
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">|&lt;/span>-- binarylibs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">|&lt;/span>-- venv
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>设置环境变量&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CODE_BASE&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">BINARYLIBS&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>/binarylibs
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 安装目录在源码里写死了，改不了&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">GAUSSHOME&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="sb">`&lt;/span>&lt;span class="nb">pwd&lt;/span>&lt;span class="sb">`&lt;/span>/src/mppdb_temp_install
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">GCC_PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$BINARYLIBS&lt;/span>/buildtools/gcc7.3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CC&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/bin/gcc
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">CXX&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/bin/g++
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">LD_LIBRARY_PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GAUSSHOME&lt;/span>/lib:&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/lib64:&lt;span class="nv">$GCC_PATH&lt;/span>/isl/lib:&lt;span class="nv">$GCC_PATH&lt;/span>/mpc/lib/:&lt;span class="nv">$GCC_PATH&lt;/span>/mpfr/lib/:&lt;span class="nv">$GCC_PATH&lt;/span>/gmp/lib/:&lt;span class="nv">$LD_LIBRARY_PATH&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$GAUSSHOME&lt;/span>/bin:&lt;span class="nv">$GCC_PATH&lt;/span>/gcc/bin:&lt;span class="nv">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 以下是vastbase增加的&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">PATH&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$BINARYLIBS&lt;/span>/buildtools/cmake/bin:&lt;span class="nv">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>配置快捷命令&lt;/p></description></item></channel></rss>