zoukankan      html  css  js  c++  java
  • 问题及解决方法

    问题及解决四:
    如何查看windows系统下 oracle的版本

    若以我的笔记本是window7系统为例,前提安装了oracle数据库,
    但是由于某种原因想要知道版本号
    启动 oracle服务(有可能安装完时候选择自动启动,
    如果是自动启动则开机后oracle服务就是启动的,也有可能安装完不是自动那么需要手动启动服务)

    在桌面上找到计算机,右键管理,点击服务和应用程序,双击服务,找到oracle的四个服务,
    这里我们只需要启动两个即可
    点击电脑左下角的开始--运行,输入sqlplus,回车。
    出现命令窗口
    用户名填写scott 回车
    密码填写scott,等待几秒
    以上就是成功连接上Oracle数据库
    执行 select * from v$version ;
    以上就是查看oracle 数据库的版本号


    问题及解决五:
    PLSQL Developer报“动态执行表不可访问,本会话的自动统计被禁止”的解决方案
    现象:
    第一次用PLSQL Developer连接数据库,若用sys用户登录并操作则正常,若用普通用户比如haishu登录并
    创建一个表则报错“动态执行表不可访问,本会话的自动统计被禁止。
    在执行菜单里你可以禁止统计,或在v$session,v$sesstat和v$statname表里获得选择权限。”
    原因分析:
    从报错提示就可以看出,原因在于动态性能表相关的权限没有被授权给当前用户
    解决方法一(推荐):
    根据提示,在执行菜单里禁止统计,具体操作方法:
    在顶部的菜单中选择“工具”-->“首选项”-->“选项”-->“自动统计”。
    把“自动统计”前面默认的√去掉。
    解决方法二:
    根据提示,用sys身份给haishu用户授权
    grant select on V_$session to haishu;
    grant select on V_$sesstat to haishu;
    grant select on V_$statname to haishu;
    或给所有用户授权
    grant select on V_$session to public;
    grant select on V_$sesstat to public;
    grant select on V_$statname to public;

    问题及解决六:
    oracle    使用pl/sql创建用户,删除用户

    创建模式:
    create user 用户名
      default tablespace 表空间名;
    举例:
    create user ACCOUNT
      identified by ""
      default tablespace ACCOUNTS
      temporary tablespace TEMP
      profile DEFAULT;
     
    -- Grant/Revoke role privileges
    grant connect to ACCOUNTS;
    grant resource to ACCOUNTS
    -- Grant/Revoke system privileges
    grant unlimited tablespace to ACCOUNT;

    删除用户:
    oracle中
    1 查出用户的session:
    SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME='ICDPUB';
    2 杀掉用户ICDPUB的session:
    ALTER SYSTEM KILL SESSION 'SID, SERIAL#';
    3 删掉用户ICDPUB
    DROP USER ICDPUB CASCADE;
    ps:如何查看当前登录数据库的用户:
    SELECT * FROM V$SESSION WHERE TYPE='USER';


    附:
    PL/SQL 创建新用户、删除用户及用户权限的开通
    PL/SQL DBA 创建用户权限
    ORACLE有三大系统角色:connect,resource,dba;
    创建新用户
    利用PL/SQL工具创建,File--->New--->user,打开创建新用户界面,所界面上内容,
    依次输入 NAME,PASSWOERD,DEFAULT TABLESPACE,TEMPORARY TABLESPACE 内容后,
    下面"APPLY"按钮会显示,点击“APPLY”后,新用户就创建OK;
    給用户开通权限命令:
    Grant
    Create session,create table,select any table,update any table,insert any
    table,delete any table To user_name

    Grant
    Connect,create table,select any table,update any table,insert any
    table,delete any table To user_name
    注: 创建新用户时 create session 或connect 必须创建,否则,用户无法登陆PL/SQL;
    create session与connect的区别:
    create session 是权限,
    connect是角色,
    当查询用户权限时, 权限可以看到,而角色是看不到的!
    给用户开通个别表权限
    Grant select on tablename to username;
    刪除y用户权限命令:
    Revoke
    create table,select any table,update any table,insert any table,delete
    any table,sysdab
    From user_name
    查询用户权限:
    显示已被授予的全部对象特权:Select * From sys.dba_sys_privs
    显示已被授予权限的用戶特权:
    Select * From sys.dba_sys_privs a Where A.grantee='username';
    查询询当前运行的SQL 語句
    Select a.machine, a.program, B.piece, b.sql_text
    From v$session a, v$sqltext b, v$process c
    Where a.paddr = c.addr
    and a.sql_hash_value = b.hash_value
    Order by B.piece
    移除不用的用户
    Drop uses username cascade;
    注:此移除会移除该用户下以前所有对数据Create操作过的东西(不要轻易用此命令),移除后该用户下的东西都将会删除 !!!
    创建角色
    除了前面讲到的三种系统角色----connect、resource和dba,
    用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。
    为了创建role,用户必须具有create role系统权限。下面给出一个create role命令的实例:
    create role student;
    这条命令创建了一个名为student的role。
    一旦创建了一个role,用户就可以给他授权。
    给role授权的grant命令的语法与对对用户的语法相同。
    在给role授权时,在grant命令的to子句中要使用role的名称,如下所示:
    grant select on class to student;
    现在,拥有student角色的所有用户都具有对class 表的select权限。
    删除角色
    要删除角色,可以使用drop role命令,
    drop role student;
    指定的role连同与之相关的权限将从数据库中全部删除。

    备注:随笔中内容来源于网上资料整理,仅供参考。

  • 相关阅读:
    第36课 经典问题解析三
    第35课 函数对象分析
    67. Add Binary
    66. Plus One
    58. Length of Last Word
    53. Maximum Subarray
    38. Count and Say
    35. Search Insert Position
    28. Implement strStr()
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/Alanf/p/7446858.html
Copyright © 2011-2022 走看看