小编ato*_*pas的帖子

通过 Oracle 12c 中的角色授予用户权限的问题

我开始学习 Oracle 12c,所以请原谅我用的不好的术语。我编写了这个基本脚本来设置用户和权限:

CREATE USER wertyq_db_usr IDENTIFIED BY justatest ACCOUNT UNLOCK DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" PROFILE "DEFAULT";
ALTER USER wertyq_db_usr QUOTA 100M ON USERS;
GRANT RESOURCE, CONNECT TO wertyq_db_usr;
GRANT EXECUTE ON CTX_DDL TO wertyq_db_usr;
GRANT EXECUTE ON "CTXSYS"."CTX_DDL" TO wertyq_db_usr;
GRANT UNLIMITED TABLESPACE TO wertyq_db_usr;
CREATE ROLE wertyq_usr_role;
GRANT CREATE PROCEDURE TO wertyq_usr_role;
GRANT CREATE TRIGGER TO wertyq_usr_role;
GRANT CREATE SESSION TO wertyq_usr_role;
GRANT CREATE VIEW TO wertyq_usr_role;
GRANT wertyq_usr_role TO wertyq_db_usr;
Run Code Online (Sandbox Code Playgroud)

目标是创建用户和角色,然后为角色授予权限,然后将角色分配给用户,以便用户继承权限。我还应该提到我可以以SYSTEM用户身份连接到数据库。

但是,我也在使用一个第三方应用程序,它应该使用上面创建的这个用户连接到我的 Oracle …

oracle permissions role oracle-12c

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

更改内核数时出现 SQL Server 2008 错误

我有一台装有 Windows Server 2003 和 SQL Server 2008 的虚拟机(virtualbox),运行 4 个内核。我想使用 6 个内核,但是当我更改机器配置时,由于某种原因 SQL Server 停止工作。我无法启动该服务 - 它给了我一个未处理的异常,没有任何额外的数据。

有谁知道解决方法?我可以使用 4 个内核,但我真的想升级到 6 个。

(我知道是这个设置,因为我一回到 4 核 SQL Server 又开始工作了)

我认为必须有一种无需重新安装即可升级机器的方法。

sql-server-2008 sql-server

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

ORA-00984: 此处不允许列

我正在运行 Oracle 10g。我正在编写将在 SQL*Plus 中执行的脚本(基于创建的数据库的增量脚本)。需要修复一个错误。

我需要知道表中是否存在一行,如果不存在,则插入它。所以我开始:

BEGIN
    DECLARE
        COL_EXIST NUMBER(10);
    BEGIN
        -- Reset ET_SEVERITY_LEVEL
        UPDATE ET_SEVERITY_LEVEL 
        SET ID_SEVERITY_LEVEL = 5
        WHERE CODE='FATAL';

        UPDATE ET_SEVERITY_LEVEL 
        SET ID_SEVERITY_LEVEL = 4
        WHERE CODE='ERROR';

        UPDATE ET_SEVERITY_LEVEL 
        SET ID_SEVERITY_LEVEL = 3
        WHERE CODE='WARNING';

        UPDATE ET_SEVERITY_LEVEL 
        SET ID_SEVERITY_LEVEL = 2
        WHERE CODE='INFO';

        -- Insert ET_SEVERITY_LEVEL register DEBUG
        SELECT COUNT(*) INTO COL_EXIST
        FROM ET_SEVERITY_LEVEL
        WHERE CODE like 'DEBUG';

        IF COL_EXIST = 0 THEN
            EXECUTE IMMEDIATE 'INSERT INTO ET_SEVERITY_LEVEL(ID_SEVERITY_LEVEL, CODE, DESCRIPTION) VALUES (1, "DEBUG", "Debugging")';   
        END IF;
    END; …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-10g

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

如何卸载oracle数据库?

根据oracle docs,在关机期间,执行3个步骤:

  • 关闭数据库。
  • 卸载数据库。
  • 关闭实例。

    是否可以只进行前两个步骤?

  • oracle shutdown

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

    如何在 SQL Server 中添加 1100 列

    我在一个表中需要 1100 列。我在同一个表中已经有 928 列,现在我需要添加新的 150 列。

    我知道 SQL Server 最多允许 1024 列。

    现在我不会创建新表。如果我创建新表并加入我的 require 表,我需要在很多地方进行更改,这对我来说是不可能的。所以我想在同一个表中添加所有列(需要表)。我知道这很难执行这个表,但目前我需要满足这个要求。

    sql-server

    0
    推荐指数
    4
    解决办法
    9915
    查看次数