我正在尝试安装 oracle 19c DB,但解压后 setup.exe 文件未执行。我已经用管理员权限试过了,还是不行。
因此,我们将 Oracle 12.2 迁移到 19c,连接到 Oracle 服务的 Asp.Net 应用程序现在失败,并出现以下错误:Oracle 12560:TNS 协议适配器错误
首先,我想确认 .net dll System.Data.OracleClient 是否适用于 Oracle 19c,或者我们是否正在考虑强制迁移到 ODP.Net?
如果两个事务尝试同时修改同一行会发生什么?通常,一旦该行被修改,另一个事务就会等待,直到第一个事务执行提交或回滚。但是,如果他们完全在同一时刻发送更新请求怎么办?
oracle query-optimization database-administration sqlperformance oracle19c
使用 Oracle 19c:
我有以下查询,其中子选择(通过 链接到主选择plans1_.ID)使用该JSON_ARRAYAGG函数。
select
... , /* Other columns... */
(SELECT
json_arrayagg(json_object('sentDate' value mh.sent_date,
'sentByEmail' value mh.send_by_email,
'sentBy' value mh.sent_by,
'sentByName' value mh.sent_by_name,
'sentToEmail' value mh.sendee_email) RETURNING CLOB)
from mail_history_t mh
where mh.plan_id = plans1_.id and mh.is_current_status = 'Y'
/*---This is the problem block: If I remove this ORDER BY the query works---*/
order by mh.sent_date desc
) as col_33_0_,
/* ... */
from TABLE_T table0_
left outer join PLANS_T plans1_
on table0_.SOME_ID=plans1_.SOME_ID
where …Run Code Online (Sandbox Code Playgroud) 大家好,Stackoverflowers 的朋友们,
TLDR:MVIEW 是否正在使用UPDATE或DELETE + INSERT在刷新期间?
前一段时间,当我在 Oracle 中摆弄物化视图时,遇到了一件晦涩难懂的事情。这是我的例子:
这是一个示例代码:
-- ========================= DDL section =========================
/* drop tables */
drop table tko_mview_test_tb;
drop table tko_mview_test2_tb;
/* drop mview */
drop materialized view tko_mview_test_mv;
/* create tables */
create table tko_mview_test_tb as
select 1111 as id, 'test' as code, 'hello world' as data, sysdate as timestamp from dual
union
select 2222, 'test2' as code, 'foo bar', …Run Code Online (Sandbox Code Playgroud) 全部
我正在尝试连接到 Oracle 19C 数据库。我安装了两个 Oracle 客户端(11g 和 12c),因为我们需要支持遗留程序。我可以通过 12c 客户端使用 sqlplus 与任何用户进行连接,没有任何问题。但是如果我对任何用户使用 11g (11.2.0) 客户端。我总是得到:
ERROR:
ORA-01017: invalid username/password; logon denied
Run Code Online (Sandbox Code Playgroud)
两个客户端都有完全相同的 sqlnet.ora 和 tnsnames.ora 文件,因此两个客户端都指向同一个数据库。
任何想法?我需要在 19c 服务器中设置一些特定配置吗?或者我需要在 11g 客户端中进行一些更改吗?这可能吗?
谢谢。
在 Liquibase 中, split 语句上可以有空行吗?
下面我想执行两条语句:
--changeset me:1 runAlways:false runOnChange:false failOnError:true splitStatements:true endDelimiter:;
update my_table
set col = 1
where col is null;
alter table my_table modify col not null;
Run Code Online (Sandbox Code Playgroud) 我有工作Oracle 19c在centos 7。安装 Oracle 后,我使用 DBCA创建了带有Plugguble Database (PDB) 的新容器数据库 (CDB)。
我正在与 port number=1522
[oracle@ol8-19 ~]$ lsnrctl start LISTENER_TST
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 17-AUG-2020 16:02:02
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Starting /opt/Oracle19c/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /opt/Oracle19c/network/admin/listener.ora
Log messages written to /opt/oraclebase19c/diag/tnslsnr/ol8-19/listener_tst/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ol8-19.localdomain)(PORT=1522)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ol8-19.localdomain)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias LISTENER_TST
Version TNSLSNR …Run Code Online (Sandbox Code Playgroud) 我正在使用 Spring boot(2.3.5)、Oracle19c DB 和 Hibernate(5.4)。
我试图建立多数据源连接,但我不断收到方言错误Couldn't determine Dialect for "oracle"。
在类路径资源 [org/springframework/boot/autoconfigure/data/jdbc/JdbcRepositoriesAutoConfiguration$SpringBootJdbcConfiguration.class] 中定义名称为“jdbcDialect”的 bean 创建时出错:通过工厂方法的 Bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.data.relational.core.dialect.Dialect]:工厂方法“jdbcDialect”抛出异常;嵌套异常是 org.springframework.data.jdbc.repository.config.DialectResolver$NoDialectException:无法确定 org.springframework.jdbc.core.JdbcTemplate@2ba9ed19 的方言。请提供方言。
我基本上按照本教程来配置多个数据源。
application.properties:
spring.datasource-primary.username=oracleprimary
spring.datasource-primary.password=oracleprimary
spring.datasource-primary.url=jdbc:oracle:thin:@//localhost:1521/orcl
spring.datasource-secondary.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource-secondary.username=oraclesecondary
spring.datasource-secondary.password=oraclesecondary
spring.datasource-secondary.url=jdbc:oracle:thin:@//localhost:1521/orcl
Run Code Online (Sandbox Code Playgroud)
主要配置:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "primaryEntityManagerFactory",
transactionManagerRef = "primaryTransactionManager",
basePackages = {"com.foo.primary.repository"})
public class PrimaryDataSourceConfiguration {
@Primary
@Bean(name = "primaryDataSourceProperties")
@ConfigurationProperties("spring.datasource-primary")
public DataSourceProperties primaryDataSourceProperties() {
return new DataSourceProperties();
}
@Primary
@Bean(name = "primaryDataSource")
@ConfigurationProperties("spring.datasource-primary.configuration")
public DataSource primaryDataSource(@Qualifier("primaryDataSourceProperties") DataSourceProperties primaryDataSourceProperties) {
return primaryDataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build(); …Run Code Online (Sandbox Code Playgroud) 我试图从表列中获取最低日期和最高日期。为此,我正在使用以下 SQL 查询。
select MIN(trunc(TO_DATE(MOD_BEGIN, 'YYYYMMDDHH24MISS'))) AS MIN_DATUM
, MAX(trunc(TO_DATE(MOD_END, 'YYYYMMDDHH24MISS'))) AS MAX_DATUM
from V_IPSL_PPE_MUC_AZEIT;
Run Code Online (Sandbox Code Playgroud)
仅供参考 - 在 PL/SQL 中使用此查询。从上面查询的输出中,我将生成日期范围。我们正在使用oracle 19c。
但问题是这些列MOD_BEGIN,MOD_END只有很少的无效值(例如:000000.01亿),由于这个当我执行上面的查询,收到错误消息说:
ORA-01843:无效月份
ORA-02063:来自 L_IPSL_PPE_MUC 的前一行
我们不允许清除这些无效数据。
如何处理这种情况?