
使用 /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数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)