永利官网ylg客户端Oracle轻松的增加和删除改查

1.建新用户
create user xiaoming identified by m123;
但报错,没权限
2.转用户conn system/manager;
3.就可以了,但新建的xiaoming不能登录的。要用sys授权限
4.权限共二种:系统权限,对像权限
系统权限:对数据库使用,create table等等;
对像权限:用户对其他用户的数据对像的权限;(数据对像如table,view,trigger)
grant connect to xiaoming;便可登录
几个角色说明:
dba:最高的权限,重要
resource:在任何一个表空间建表
再加上一个connect

7>
各种事情都做好了,可以修改项目配置文件config.properties中的用户名密码,及IP地址等

   
用户本身管理
      
 增
            create user
C##jaovo identified by jaovo123;    //sys,system
          
 密码必须以字母开头
        删
          
 不能自己删除自己
          
 删除要门是DBA,或者drop user权限
            drop user
C##用户名 cascade;
          
 如果要删除的用户下已经有表,就必须带有参数cascade会把表和用户一起删除
        改
            修改自己密码:
password ;    //系统用户,或者有alter权限
          
 给别人修改密码,据需要权限:dba或者alter user权限
            alter user
c##scott identified by root;
            password
用户名(新版本不能使用)
        查
          
 当前用户下所有的表:select * from user_tables;
          
 显示当前数据库的所有表:select * from tab;
            select *
from dba_users;
查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from
all_users;  查看你能管理的所有用户!
select * from
user_users; 查看当前用户信息 !
    用户权限管理
      
 基本原理
          
 什么是权限:就是你能不能操作某条SQL语句
          
 系统权限(用户管理权限)
              
 140多个
          
 对象权限
              
 用户对不属于他的数据对象进行操作的权限(其他用户的数据操作的权限,跨部门)
              
 20多个
          
 授权关键字:grant
          
 创建关键字:create
        增
            grant connect
to C##用户名
            grant 操作名
on 表名 to 用户名;
              
 表操作:增删改查/所有,select,update,insert,delete,all
            grant 操作名
on 表名 to 用户名 with grant option;
              
 该权限可以有被授予者授予给别人
              
 权限的传递
        删
          
 收回赋予给某个用户的权限,(三个用户)
          
 级联授权的,会级联收回
            revoke 操作名
on 表名 from 用户名
          
 revoke select on emp from us_test;
    用户综合管理案例
        1
创建用户,默认创建在哪个数据库里面,但是默认没有任何权限,不能登录任何数据库的,需要授权
        2
为其制定相应的权限,需要sys/system用户赋予权限
grant connect to
miaoming
        4 grant resource
to xiaoming;
        grant unlimited
tablespace to xiaoming;
        select * from
user_tables
        3  create table
TestTable(userId varchar2(30),userName varchar2(30));
        5 查看表的列:desc
test;
        6 grant select on
c##scott.emp to xiaoming;(sys,system,表所有者,scott)
        insert into 
c##scott.emp(userId,userName) values(123,hello);
        7 select * from
c##scott.emp;
        8
收回权限(有权限的人都可以收回):revoke select on emp from
xiaoming
        9 权限传递:grant
select on emp to xiaoming with grant option
        10
如果授权在上级被会收,下一级也会被回收
        11
把测试用户删除掉:drop user C##用户名 cascade;
  
 用户密码管理(profile)
        profile:用户密码管理文件,用于强制对用户密码进行管理,步骤是创建文件,赋予文件
      
 数据库创建时,会自动创建默认的profile选项:default,建立用户是如果没有指定profile选项,就会分配default
        用户锁定
          
 创建规则,使用规则
              
 用户尝试3次锁定两天:lock_account:可变,3,2可变
                create
profile c##lock_account limit failed_login_attempts3
password_lock_time 2;
              
 指定限制给某个用户:alter user xiaoming profile aaa;
            解锁:alter
user 用户名 account unlock;解锁(系统用户)
      
 强制改密码(终止口令).dba身份
            create
profile 规则名 limit password_life_time 10 password_grace_time
天数;
            alter user
用户名 profile 规则名
      
 密码强度和密码历史
            create
profile password_history(规则名) limit password_life_time
10密码有效天数 password_grace_time 2宽限天数 password_reuse_time
10可再用天数;
            alter user
用户名 profile 规则名
        增
            create
profile 规则名称 limit failed_login_attempts 错误次数
password_lock_time 锁定天数
            alter user
用户名 profile 规则名;    //加锁
            alter user
用户名 account unlock;    //解锁
        删
            drop profile
password_history/名字 (cascade);    //所有用户不在约束
  
 密码管理综合案例
        create user
c##jaovo
        2
锁定密码
            1
创建规则
                create
profile drop profile password_history/名字 (cascade);t limit
failed_login_attempts3 password_lock_time 2;
            2
指定规则
                alter
user 用户名 profile 规则名
            3
输错密码
            4
级联删除规则:
                drop
profile password_history/名字 (cascade);
        3
强制修改密码
            1
创建规则
                create
profile password_history(规则名) limit password_life_time
10密码有效天数 password_grace_time 2宽限天数 password_reuse_time
10可再用天数;
            2
指定规则
                alter
user 用户名 profile 规则名
            4
级联删除规则:
                drop
profile password_history/名字 (cascade);    //所有用户不在约束
        4
删除用户
  
 基于角色的权限管理
        基本原理
          
 和linux操作系统权限控制差不多
          
 把各个权限打包,继承到某个角色上,给用户赋予这个角色,用户就拥有了这些权限.
        重要角色
          
 预定义角色
              
 resource
                  
 数据库内部资源操作权限
              
 connect
                  
 连接权限
              
 dba
                  
 数据库管理员权限
           

                  

scott是当前用户

 

题外话:
本人来自铁观音的发源地——泉州安溪,正宗安溪铁观音,有需要的友友欢迎加我Q:416501600。
茶叶淘宝店:

select * from SCOTT.EMP;[打他人的表要加前缀]

1、 oracle数据库部署经验;


希望xiaoming可以去查emp表;
grant select on emp to xiaoming;[sys,system,emp自主soctt可执行]
对像权限select insert update delete all create index…

(SERVER = DEDICATED)

Blog:
J2EE、Android、Linux、Oracle QQ交流群:142463980、158560018(满)

永利官网ylg客户端 1

5> 在SQL/plus中用创建的用户登录,导入数据库sql文件,

   

完装前:1。serivce有个listener,若未启动,刚不能使用pl/sql
developer;2.给scott解锁。

二、sql*plus工具简介
sql*plus是oracle自带的工具软件,主要用于执行sql语句,plsql块。
操作如下:
(1)、在D:devoracleproduct10.2.0db_1bin目录下的sqlplusw.exe。(D:devoracle为oracle安装目录)
(2)、在运行栏中输入“sqlplusw”即可

           

若要修改/插入/选择
grant all on emp to xiaoming;
5.也可撒撒回来
6.授权的传递
grant select an emp to xiaoming with grant option;
grant select an emp to xiaohong;
7如果是系统权 system给小明授权,则小明可以把权限再传递
系统权限grant connect to xiaoming with admin option
回收的要连在一起的

一、创建用户
概述:在oracle中要创建一个新的用户使用create
user语句,一般是具有dba(数据库管理员)的权限才能使用(即先用sys用户登录,去创建用户并授权SQL>grantconnect
to xiaoming;授权成功。,用户才能使用
create user 用户名 identified by 密码;
注意:oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户
eg、create user xiaomingidentified by oracle;

             

4)、显示和设置环境变量
概述:可以用来控制输出的各种格式,set show 如果希望永久的保存相关的设
置,可以去修改glogin.sql 脚本
1.linesize
说明:设置显示行的宽度,默认是80个字符
show linesize
set linesize 90
2.pagesize说明:设置每页显示的行数目,默认是14
用法和linesize 一样
至于其它环境参数的使用也是大同小异

四、权限
权限分为系统权限和对象权限。
何为系统权限?
用户对数据库的相关权限,connect、resource、dba等系统权限,如建库、建表、建索引、建存储过程、登陆数据库、修改密码等。
何为对象权限?
用户对其他用户的数据对象操作的权限,insert、delete、update、select、all等对象权限,数据对象有很多,比如表,索引,视图,触发器、存储过程、包等。
执行SELECT * FROM Dba_Object_Size;语句可得到oracle数据库对象。

6> PL/SQL Developer用户登录查看table文件夹,看到导入的表;

二、给用户修改密码
概述:如果给自己修改密码可以直接使用
SQL> password 用户名或passw
如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限
SQL> alter user 用户名 identified by 新密码
                 
三、删除用户
概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop
user的权限。
比如drop user 用户名 【cascade】
注意:在删除用户时,如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade,即把该用户及表一同删除;

四、权限
权限分为系统权限和对象权限。
何为系统权限?
用户对数据库的相关权限,connect、resource、dba等系统权限,如建库、建表、建索引、建存储过程、登陆数据库、修改密码等。
何为对象权限?
用户对其他用户的数据对象操作的权限,insert、delete、update、select、all等对象权限,数据对象有很多,比如表,索引,视图,触发器、存储过程、包等。
执行SELECT * FROM Dba_Object_Size;语句可得到oracle数据库对象。

五、角色
角色分为预定义角色和自定义角色。

 

           

 

六、用户管理的综合案例
概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。
为了讲清楚用户的管理,这里我给大家举一个案例。
SQL> conn xiaoming/oracle
ERROR:
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
SQL> show user
USER 为 “”
SQL> conn system/oracle
已连接。
SQL> grant connect to xiaoming;
授权成功。
SQL> conn xiaoming/oracle
已连接。
SQL>
注意:grant connect to
xiaoming;在这里,准确的讲,connect不是权限,而是角色。
                           
现在说下对象权限,现在要做这么件事情:
* 希望xiaoming用户可以去查询emp表
* 希望xiaoming用户可以去查询scott的emp表
grant select on scott.emp to xiaoming
* 希望xiaoming用户可以去修改scott的emp表
grant update on scott.emp to xiaoming
* 希望xiaoming 用户可以去修改/删除,查询,添加scott的emp表
grant all on scott.emp to xiaoming
* scott希望收回xiaoming对emp表的查询权限
revoke select on scott.emp from xiaoming

3)、交互式命令
1.&
说明:可以替代变量,而该变量在执行时,需要用户输入。
select * from emp where job=’&job’;

 

而with grant
option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with
grant option授权的用户对象权限时,权限会因传播而失效,如grant select on
table with grant option to
A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT
ON TABLE 权限。

七、权限的传递
//对权限的维护。
*
希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限传递给别人。
–如果是对象权限,就加入with grant
option
grant select on emp to xiaoming with grant option
我的操作过程:
SQL> conn scott/oracle;
已连接。
SQL> grant select on scott.emp to xiaoming with grant option;
授权成功。
SQL> conn system/oracle;
已连接。
SQL> create user xiaohong identified by oracle;
用户已创建。
SQL> grant connect to xiaohong;
授权成功。
SQL> conn xiaoming/oracle;
已连接。
SQL> grant select on scott.emp to xiaohong;
授权成功。
                            
–如果是系统权限。
system给xiaoming权限时:grant connect to xiaoming with admin option
问题:如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样?
答案:被回收。
下面是我的操作过程:
SQL> conn scott/oracle;
已连接。
SQL> revoke select on emp from xiaoming;
撤销成功。
SQL> conn xiaohong/oracle;
已连接。
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
结果显示:小红受到诛连了。。

4>
修改安装路径下的appAdministratorproduct11.1.0db_1NETWORKADMINlistener.ora
及tnsnames.ora文件的IP主机HOST配置 为安装数据库的主机IP地址;

一、创建用户
概述:在oracle中要创建一个新的用户使用create
user语句,一般是具有dba(数据库管理员)的权限才能使用。
create user 用户名 identified by 密码;
注意:oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户
eg、create user xiaoming identified by oracle;

发表评论

电子邮件地址不会被公开。 必填项已用*标注