标签: oracle12c

如何在Oracle 12c中使用时间有效性?

如何在Oracle 11g中设计一个表,以便以后与Oracle 12c中新的"时间有效性"功能兼容?

Oracle 12c的联机文档指定了如何在SQL语言指南中定义时间有效性(http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_7002.htm#CJADHJHB)

ALTER TABLE my_table ADD (PERIOD FOR my_valid_time (my_valid_start, my_valid_end) );
Run Code Online (Sandbox Code Playgroud)

因此,可以使用11g中已有的旧的valid_from和valid_till列,并在12c中将它们加强到适当的时间段,对吧?

我继承了使用固定的魔法日期"因为始终"和"永远",例如数据库DATE '1900-01-01'DATE '3999-12-31'.显然,12c使用了NULL.

那么,我们是否必须放弃使用固定的魔法日期并切换到NULL日期?

sql oracle oracle11g oracle12c

6
推荐指数
1
解决办法
2041
查看次数

SQL错误:ORA-02000:创建基于身份列的表时缺少ALWAYS关键字

我尝试在表上创建一个自动递增的列,正如我在这篇文章中看到的,有两种方法,使用Identity列的第二种实现是一种更优雅的解决方案,但是当我尝试实现它时,出现以下错误:

    Error at Command Line : 3 Column : 31
    Error report -
    SQL Error: ORA-02000: missing ALWAYS keyword
    02000. 00000 -  "missing %s keyword"
Run Code Online (Sandbox Code Playgroud)

实际的表脚本实现:

CREATE TABLE "PLATFORM"."AUTH_PERMISSION"
(
    ID NUMBER(19,0) GENERATED BY DEFAULT ON NULL AS IDENTITY, 
    -- ID NUMBER(19,0) PRIMARY KEY NOT NULL,
    NAME VARCHAR2(50) UNIQUE NOT NULL,
    ACTION_ID NUMBER(19,0) NOT NULL,
    RESOURCE_ID NUMBER(19,0) NOT NULL,
    ENVIRONMENT_ID NUMBER(19,0) NOT NULL,
    CONSTRAINT "ACTION_ID" FOREIGN KEY ("ACTION_ID")
      REFERENCES "AUTH_ACTION" ("ID") ENABLE,
    CONSTRAINT "ENVIRONMENT_ID" FOREIGN KEY ("ENVIRONMENT_ID")
      REFERENCES …
Run Code Online (Sandbox Code Playgroud)

java oracle oracle12c

6
推荐指数
1
解决办法
3万
查看次数

Visual Studio ODP非托管驱动程序 - 无法找到默认的tnsnames.ora文件(12c)

我正在Visual Studio 2013中开发一个连接到Oracle数据库的应用程序.我必须使用"非托管驱动程序".当我尝试在数据集中创建新连接时,当我选择"托管驱动程序"时,所有工作都正常:找到tnsnames.ora.但当我选择"非托管驱动程序"全部失败时,它会向我发送一条消息,如"找不到默认的tnsnames.ora文件"

我已经 - 卸载了所有旧的Oracle客户端 - 清理所有环境变量 - 重新安装了Oracle客户端,用于Visual Studio的ODP工具

似乎没什么用.有任何想法吗 ?

在此输入图像描述

odp.net visual-studio-2012 oracle12c

6
推荐指数
2
解决办法
8090
查看次数

Google OAuth 2.0 Server to Server:错误的请求

现在我已经在墙上敲了3天,试图让它发挥作用.

POST /oauth2/v3/token HTTP/1.1
Host: www.googleapis.com
Content-length: 495
Content-type: application/x-www-form-urlencoded
Authorization: Bearer ya29.cgEcY6meBrvaH6oe0nD_PtsFyMVqskiUYi7iJxapKHeEgPoIw8gMt0BJdIvRn1MfcEgzTS3_gTwI1w
grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI5MDgyOTgxNjA1NTktc2R1bGFpbWhsaGpxOTY5M2s1Z2E4c25pZjhh%0D%0ANzhlZ3BAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0%0D%0AdHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvYW5hbHl0aWNzLnJlYWRvbmx5%0D%0AIiwiYXVkIjoiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28vb2F1dGgyL3Rv%0D%0Aa2VuIiwiZXhwIjoxNDMxNTE0MDUyLCJpYXQiOjE0MzE1MTEwNTJ9.[Cert]

HTTP/1.1 400 Bad Request
Content-length: 67
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
Expires: Wed, 13 May 2015 10:08:00 GMT
Vary: Origin,X-Origin
Server: GSE
Cache-control: private, max-age=0
Date: Wed, 13 May 2015 10:08:00 GMT
X-frame-options: SAMEORIGIN
Content-type: application/json; charset=UTF-8
{
  "error_description": "Bad Request", 
  "error": "invalid_grant"
}
Run Code Online (Sandbox Code Playgroud)

所以,我在PL/SQL中创建它.Oracle 12c.我已经设法获得JWT标头和JWT Claim设置生成与google文档相同的输出.当我创建证书时,我认为是问题发生.

  1. 我需要"[----- BEGIN PRIVATE KEY -----"和----- END PRIVATE KEY ----- \n]作为SHA-256加密的一部分.我应该对"新行"做些什么吗?\n我应该用括号括起来吗?

  2. 我应该在什么时候进行URL编码?

  3. 以下示例中的代码是否足以用于加密?:http://jastraub.blogspot.co.uk/2009/07/hmacsha256-in-plsql.html

  4. 我已经附上了下面的功能,看看你是否可以发现任何问题?

谢谢你的帮助!

  FUNCTION get_JWT …
Run Code Online (Sandbox Code Playgroud)

plsql google-analytics-api google-oauth service-accounts oracle12c

6
推荐指数
1
解决办法
1076
查看次数

驱动程序更新到ojdbc7.jar会给oracle/security/pki/OraclePKIProvider带来错误

我之前一直在使用ojdbc14.jar,现在想将它升级到ojdbc7.jar以支持oracle12c.

但是,连接服务器时会出现"oracle/security/pki/OraclePKIProvider"的错误.

如果我将oraclepki.jar添加到类路径服务器正常启动而没有任何错误.

我想弄清楚在ojdbc7.jar中添加了哪些特殊内容,它要求我添加oraclepki.jar,与ojdbc14.jar一样,它从未要求我将oraclepki添加到我的类路径中.

有谁知道ojdbc7会导致这个错误的变化,以及可以做些什么来避免在classpath上添加oraclepki?

java oracle12c

6
推荐指数
1
解决办法
6268
查看次数

实体框架6 + Code First + Oracle 12c的示例

使用Entity Framework 6 + Code First + Oracle 12c的Visual Studio解决方案存在问题.我不确定它是否配置正确,或者我错过了一些简单的东西.

我试图寻找一个示例项目作为开始,但无法找到 - 谷歌搜索,stackoverflow等.

在某处有一个简约的示例项目,它试图在运行时创建数据库吗?

更新:为了确保,我不是要求任何人为我创建样本.在我做之前,我想确保确实没有现有的样本(这对我来说很奇怪,但很可能就是这种情况).

entity-framework code-first oracle12c

6
推荐指数
1
解决办法
1万
查看次数

从11g数据库导出时出现Oracle 12c datapump错误

我在cmd中使用以下内容。

expdp system/*****@11.11.1.11:1521/orcl schemas=HR directory=DATADIR
dumpfile=HR_20150625.dmp logfile=HR_20150625.log version=11.2
Run Code Online (Sandbox Code Playgroud)
  • 要从中导出架构的数据库为11g(11.2.0.1.0)
  • datapump实用程序为12c(12.1.0.1.0)

我收到以下错误

UDE-00018: Data Pump client is incompatible with database version 11.2.0.1.0
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

oracle11g datapump oracle12c

6
推荐指数
1
解决办法
4万
查看次数

Oracle 12c:如何将现有主键列修改为标识列?

我有一个表,其中包含一个主键列,该列从应用程序自动递增.如何将列修改为Oracle 12c中的标识列

以下提供样本案例 -

create table tmp_identity (
   id number(100) primary key,
   value varchar2(100)
);
Run Code Online (Sandbox Code Playgroud)

假设我们使用以下数据填充表格 -

ID        VALUE
---------------
1         Sample 1
2         Sample 2
3         Sample 3
Run Code Online (Sandbox Code Playgroud)

我们计划做的是将这个id专栏改为一个标识栏,该专栏将─

  • 自动递增1
  • 从4开始

我该怎么做?如果不可能,那么有没有可用的解决办法?

sql oracle oracle12c

6
推荐指数
2
解决办法
1万
查看次数

检索Oracle DB 12c中最新插入的标识

我想回到我(通过python中的cx_oracle)为我正在插入的行创建的Identity的值.我想我可以自己找出python位,如果有人可以请说明如何修改我的SQL语句以获取新创建的行的ID.

我有一个用以下内容创建的表:

CREATE TABLE hypervisor
  (
    id NUMBER GENERATED BY DEFAULT AS IDENTITY (
    START WITH 1 NOCACHE ORDER ) NOT NULL ,
    name       VARCHAR2 (50)
  )
  LOGGING ;
ALTER TABLE hypervisor ADD CONSTRAINT hypervisor_PK PRIMARY KEY ( id ) ;
Run Code Online (Sandbox Code Playgroud)

我有类似于以下内容的SQL:

insert into hypervisor ( name ) values ('my hypervisor')
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来获得id新插入的行?如果可能的话,我很乐意修改我的SQL语句以使其返回.

关于此问题的大多数谷歌点击是针对版本11及更低版本,它不支持自动生成的标识列,所以希望有人可以提供帮助.

python oracle oracle12c

6
推荐指数
2
解决办法
2065
查看次数

关于创建实体关系模型的指南的担忧

我目前正在参加在线Oracle Academy数据库设计课程,该课程简要介绍了不可转让关系的概念.我理解他们背后的概念,但课程的模糊细节给我留下了一些问题.

  1. 在与1:1或M:M关系相关的实体之间是否存在不可转移的关系?Oracle提供的所有示例都描述了1:M关系.

  2. 用于表示不可转让关系的钻石是否可以在关系的任何一端绘制,无论它们是可选的还是强制性的?我相信他们只能出现在关系的强制性结束,但我想确定.

  3. 同样,用于表示不可转让关系的钻石是否可能出现在关系的两端?

以下是Oracle Academy提供的几个示例: 例1 例题

entity-relationship-model oracle12c

6
推荐指数
1
解决办法
71
查看次数