谁知道VC产生的程序数据库 (PDB) 文件有什么用什么时候用怎么用

谁知道VC产生的程序数据库 (PDB) 文件有什么用什么时候用怎么用,第1张

使用 /Zi 选项编译的对象 (obj) 文件包含程序数据库 (PDB) 的名称。不将对象的 PDB 文件名指定给链接器;如果需要,LINK 使用嵌入的名称查找 PDB。这同样适用于库中包含的可调试对象;可调试库的 PDB 必须可用于链接器和该库。

LINK 还使用 PDB 保存 exe 文件或 dll 文件的调试信息。程序的 PDB 既是输出文件也是输入文件,因为 LINK 在重新生成程序时更新 PDB。

1 首先是jdbcproperties属性文件的编写,便于数据库移植:

datasourcedriverClassName=oraclejdbcdriverOracleDriver

datasourceurl=jdbc:oracle:thin:@106111:1521:student

datasourceusername=zs

datasourcepassword=zs

datasourcedefaultAutoCommit=true 

hibernatedialect=orghibernatedialectOracle9Dialect

 

#当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3

c3p0acquireIncrement=5

#初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 

c3p0initialPoolSize=10

#每60秒检查所有连接池中的空闲连接。Default: 0 

c3p0idleConnectionTestPeriod=600

#-连接池中保留的最小连接数。

c3p0minPoolSize=5

#连接池中保留的最大连接数。Default: 15 

c3p0maxPoolSize=50

#JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements

#属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。

#如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0

c3p0maxStatements=100

#c3p0是异步 *** 作的,缓慢的JDBC *** 作通过帮助进程完成。扩展这些 *** 作可以有效的提升性能

#通过多线程实现多个 *** 作同时被执行。Default: 3

c3p0numHelperThreads=10

#最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 

c3p0maxIdleTime=600

 

#hibernatedialect=orghibernatedialectSQLServerDialect

hibernatejdbcbatch_size=25

hibernatejdbcfetch_size=50

hibernateshow_sql=true

hibernateconnectionrelease_mode=after_transaction

  

2 其次是spring配置文件的数据源配置:

<bean id="propertyConfigurer" class="orgspringframeworkbeansfactoryconfigPropertyPlaceholderConfigurer">

 <property name="location">

  <value>/WEB-INF/classes/conf/jdbc/jdbcproperties</value>

 </property>

</bean>

<bean id="dataSource" class="commchangev2c3p0ComboPooledDataSource" destroy-method="close" dependency-check="none">

 <property name="driverClass">

  <value>${datasourcedriverClassName}</value>

 </property>

 <property name="jdbcUrl">

  <value>${datasourceurl}</value>

 </property>

 <property name="user">

  <value>${datasourceusername}</value>

 </property>

 <property name="password">

  <value>${datasourcepassword}</value>

 </property>

 <!-- 当连接池中连接耗尽的时候c3p0一次同时获取的连接数 -->

 <property name="acquireIncrement">

  <value>${c3p0acquireIncrement}</value>

 </property>

 <!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->   

 <property name="initialPoolSize">

  <value>${c3p0initialPoolSize}</value>

 </property>

 <!-- 最小连接数 -->

 <property name="minPoolSize">

  <value>${c3p0minPoolSize}</value>

 </property>

 <!-- 最大连接数 -->

 <property name="maxPoolSize">

  <value>${c3p0minPoolSize}</value>

 </property>

 <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->    

 <property name="maxIdleTime">

  <value>${c3p0maxPoolSize}</value>

 </property>

 <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->

 <property name="idleConnectionTestPeriod">

  <value>${c3p0idleConnectionTestPeriod}</value>

 </property>

 <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements属于单个connection而不是整个连接池。

 所以设置这个参数需要考虑到多方面的因素。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->

 <property name="maxStatements">

  <value>${c3p0maxStatements}</value>

 </property>

 <!--c3p0是异步 *** 作的,缓慢的JDBC *** 作通过帮助进程完成。扩展这些 *** 作可以有效的提升性能通过多线程实现多个 *** 作同时被执行。Default: 3-->    

 <property name="numHelperThreads">

1 连接到CDB

和普通实例一样的连接。 指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接。

[oracle@Ora12c /]$ echo $ORACLE_SID

cndba

[oracle@Ora12c /]$ sqlplus / as sysdba

SQLPlus: Release 121010 Production onMon Apr 28 11:33:43 2014

Copyright (c) 1982, 2013, Oracle All rights reserved

Connected to:

Oracle Database 12c Enterprise EditionRelease 121010 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

SQL> conn system/oracle

Connected

SQL>

--查看CDB中可用的service:

SQL> COLUMN name FORMAT A30

SQL> SELECT name,pdb

2 FROM v$services

3 ORDER BY name;

NAME PDB

------------------------------------------------------------

SYS$BACKGROUND CDB$ROOT

SYS$USERS CDB$ROOT

cndba CDB$ROOT

cndbaXDB CDB$ROOT

pcndba2 PCNDBA2

pdbcndba PDBCNDBA

6 rows selected

--通过lsnrctl 也可以判断:

[oracle@Ora12c /]$ lsnrctl service

LSNRCTL for Linux: Version 121010 -Production on 28-APR-2014 11:35:31

Copyright (c) 1991, 2013, Oracle All rights reserved

Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

Services Summary

Service "cndba" has 1instance(s)

Instance "cndba", status READY, has 1 handler(s) for thisservice

Handler(s):

"DEDICATED" established:0 refused:0 state:ready

LOCAL SERVER

Service "cndbaXDB" has 1instance(s)

Instance "cndba", status READY, has 1 handler(s) for thisservice

Handler(s):

"D000" established:0 refused:0 current:0 max:1022 state:ready

DISPATCHER <machine: Ora12c, pid: 10085>

(ADDRESS=(PROTOCOL=tcp)(HOST=Ora12c)(PORT=14696))

Service "pcndba2" has 1instance(s)

Instance "cndba", status READY, has 1 handler(s) for thisservice

Handler(s):

"DEDICATED" established:0 refused:0 state:ready

LOCAL SERVER

Service "pdbcndba" has 1instance(s)

Instance "cndba", status READY, has 1 handler(s) for thisservice

Handler(s):

"DEDICATED" established:0 refused:0 state:ready

LOCAL SERVER

The command completed successfully

[oracle@Ora12c /]$

通过这些service,就可以远程连接CDB。

--EZCONNECT

C:\Users\Dave>sqlplussystem/oracle@192168110:1521/cndba

SQLPlus: Release 112010 Production on 星期三 4月 30 11:36:48 2014

Copyright (c) 1982, 2010, Oracle All rights reserved

连接到:

Oracle Database 12c Enterprise EditionRelease 121010 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

SQL>

--通过TNSNAMESORA连接:

在tnsnamesora 中配置如下:

cndba =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192168110)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = cndba)

)

)

--连接:

C:\Users\Dave>sqlplussystem/oracle@cndba

SQLPlus: Release 112010 Production on 星期三 4月 30 11:40:01 2014

Copyright (c) 1982, 2010, Oracle All rights reserved

连接到:

Oracle Database 12c Enterprise EditionRelease 121010 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

SQL>

2 在不同Container database中切换

在12c的架构中,因为有CDB和 PDB的存在,所以会有很多不同的container,所以在连接到不同的container时,就需要进行切换。

--查看当前的container:

SQL> show con_name

CON_NAME

------------------------------

CDB$ROOT

SQL> SELECT SYS_CONTEXT('USERENV','CON_NAME') FROM dual;

SYS_CONTEXT('USERENV','CON_NAME')

--------------------------------------------------------------------------------

CDB$ROOT

SQL> set lin 140

SQL> select con_id, dbid,guid, name , open_mode from v$pdbs;

CON_ID DBID GUID NAME OPEN_MODE

---------- ------------------------------------------ ---------- ----------

2 4088301206 F7C1E3C96BBF0585E0430A01A8C05459 PDB$SEED READ ONLY

3 426143573F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA READ WRITE

4 1231796139 F812DE1B6A8F363AE0430A01A8C0C759 PCNDBA2 READ WRITE

--切换container:

SQL> alter session setcontainer=pcndba2;

Session altered

SQL> show con_name

CON_NAME

------------------------------

PCNDBA2

3 连接到PDB

--EZCONNECT:

C:\Users\Dave>sqlplussystem/oracle@192168110:1521/pcndba2

SQLPlus: Release 112010 Production on 星期三 4月 30 11:54:30 2014

Copyright (c) 1982, 2010, Oracle All rights reserved

连接到:

Oracle Database 12c Enterprise EditionRelease 121010 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

SQL>

--TNSNAMESora

在tnsnamesora 中添加如下内容:

pcndba =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192168110)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pcndba2)

)

)

C:\Users\Dave>sqlplussystem/oracle@pcndba

SQLPlus: Release 112010 Production on 星期三 4月 30 11:55:50 2014

Copyright (c) 1982, 2010, Oracle All rights reserved

连接到:

Oracle Database 12c Enterprise EditionRelease 121010 - 64bit Production

With the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing options

SQL>

以上就是关于谁知道VC产生的程序数据库 (PDB) 文件有什么用什么时候用怎么用全部的内容,包括:谁知道VC产生的程序数据库 (PDB) 文件有什么用什么时候用怎么用、Oracle.12.1.0.1.0中的一个pdb数据库拔出后插入到Oracle.12.1.0.2.0数据库容器中后打开数据库时报错!、如何配置Hibernate连接oracle12c 的PDB和CDB数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9865468.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存