zoukankan      html  css  js  c++  java
  • oracle使用指南

    3个默认的帐户:
    		sys        	 change_on_install      网络管理员		[as sysdba]
    		system  	 manage			   本地管理员
    		scott          tiger			   超级用户
    创建用户、授权和撤消权限
    
    登录oracle:
    		sqlplus / as sysdba
    		
    启动监听:
    		lsnrctl start
    		
    启动数据库的实例:
    		oradim -startup -sid orcl
    		
    SQL> show user;			//显示当前用户
    
    SQL> create user lisi identified by lisi;		//创建一个用户
    
    SQL> grant create session to lisi;			//给用户授予会话权限
    
    SQL> sqlplus lisi/lisi					//用创建的用户进行登录
    
    SQL> grant unlimited tablespace  to lisi			//给用户授予表空间权限
    
    SQL> grant create table to lisi;				//给用户创建表的权限
    
    SQL> create table mytable (id int);		//创建表
    
    SQL> insert into mytable values (1);		//插入数据
    
    SQL> select * from mytable;			//查询数据
    
    SQL> drop table mytable				//删除表
    
    
    SQL> revoke create table from lisi;     	//撤消对表操作的权限
    
    SQL> select * from user_sys_privs;     //查询当前用户拥有哪些权限
    
    SQL>revoke unlimited tablespace from lisi;		//撤消对表空间操作的权限
    
    丢失管理员密码怎么办?
    用sys用户进行修改
    
    sqlplus / as sysdba
    
    alter user scott Identified by tiger;
    
    oracle 9
    更改口令文件
    把原有口令文件删掉
    E:\oracle\ora92\database\pwdora9i.ora;
    orapwd file=E:\oracle\ora92\database\pwdora9i.ora password=sys entries=10;
    
    select * from v$pwfile_users;
    
    oracle 10+
    更改口令文件
    把原有口令文件删掉
    E:\oracle\ora92\database\PWDorcl.ora;
    orapwd file=E:\oracle\ora92\database\PWDorcl.ora  password=sys  entries=10;
    
    select * from v$pwfile_users;
    
    角色管理
    角色就是一个权限的集合。
    
    show user;        显示当前用户
    
    create role myrole;			创建一个角色
    
    grant create session to myrloe;			给角色授予session权限
    
    grant create table to myrole;				给角色授予表操作权限
    
    create user zhangsan identified by zhangesan;		创建一个用户
    
    grant myrole to zhangsan;		把角色授予给用户
    
    sqlplus zhangsan/zhangsan		用户登录
    
    drop role myrole;			删除角色
    
    grant unlimited tablespace to myrole;		这个权限比较大,不能通过角色授权,只能授权给用户
    
    权限的传递
    
    show user:		查看当前用户
    
    select * from user_sys_privs     查看当前用户的系统权限
    
    grant alter any table to lisi;      sys可以授权给李四
    
    grant alter any table to wangwu;		但是李四不能授权给王五
    
    grant alter any table to lisi with admin option; 		//现在李四可以授权给王五了
    
    grant alter any table to wangwu with admin option; 		//让王五也可以传递权限
    
    create table A(id int);			//在sys中创建一个表A
    
    grant select On A to lisi;		//把表操作权限传递给李四,但李四不能传递权限
    
    grant select On A to lisi with grant option;			//现在李四可以传递权限了
    
    grant select on sys.A to wangwu with grant option;;			//让王五也可以传递权限。
    
    系统权限与对象权限
    
    SQL> create user wanwu identified by wangwu
    
    SQL> grant create session to wangwu;
    
    SQL> sqlplus wangwu/wangwu
    
    SQL> grant create table,unlimited tablespace to wangwu;
    
    SQL> create table mytab(id int);
    
    SQL> insert into mytab values(2);
    
    用lisi访问wangwu 的表,不能访问
    SQL> select * from wangwu.mytab;
    
    用sys用户访问wangwu 的表,可以,要执行两次
    SQL> select * from wangwu.mytab;
    SQL> select * from wangwu.mytab;
    
    让lisi可以访问wangwu的表
    SQL> grant select on mytab to lisi;		//把查询权限授予李四
    
    SQL> grant insert on mytab to lisi;		//把插入权限授予李四
    
    SQL> commit;		//提交后才显示数据
    
    SQL> grant all on mytab ot lisi;		// 把操作表的最大权限授予李四
    
    SQL> revoke all on mytab from lisi;    // 撤消李四对表操作的权限
    
    
    
    SQL> disconn
    
    SQL> conn wangwu/wangwu
    
    SQL> commit:    //每次对表操作后要提交
    
    SQL> alter table mytab add name varchar(50);
    
    SQL> insert into mytab values(1,'zhang');
    
    SQL> insert into mytab values(2,'li');
    
    SQL> insert into mytab values(3,'wang');
    
    SQL> commit;
    
    SQL> grant update(name) on mytab to lisi;    	//让李四只有更新name列的权限
    
    SQL> grant insert(id) on mytab to lisi;			//让李四只有插入id列的权限
    
    SQL> update wangwu.mytab set name='lihuoming' where id=1;
    
    
    帐户管理细节
    
    1.三个常用的系统用户:
    		scott(一个数据库的普通用户)
    		conn scott/tiger
    		
    		manager(数据库管理员)
    		conn system/manager
    		
    		sys(数据库对象的拥有者权限最高)
    		conn sys/change_on _install as sysdba
    		
    创建用户的完整格式:
    		create user 用户名 identified by 密码
    		default tableSpace 表空间
    		Temporary TableSpace 表空间
    		Quota 整数[ K | M | Limited | unlimited ] on 表空间
    		
    		例子:
    		create user abc
    		identified by 123
    		default tablespace Users
    		Temporary tablespace Temp
    		Quota 50M on Users
    		
    		
    限制用户:
    		用户加锁 	--	alter user 用户名 account lock
    		用户解锁  --	alter user 用户名 account unlock
    		用户口令即刻失效 --	 alter user 用户名 password expire
    		
    删除用户:
    		drop user 用户名 [CasCade]
    		CasCade表示删除用户所有对象
    		
    		示例:
    		drop user abc cascade;
    

      

  • 相关阅读:
    Oracle基础知识整理
    linux下yum安装redis以及使用
    mybatis 学习四 源码分析 mybatis如何执行的一条sql
    mybatis 学习三 mapper xml 配置信息
    mybatis 学习二 conf xml 配置信息
    mybatis 学习一 总体概述
    oracle sql 语句 示例
    jdbc 新认识
    eclipse tomcat 无法加载导入的web项目,There are no resources that can be added or removed from the server. .
    一些常用算法(持续更新)
  • 原文地址:https://www.cnblogs.com/zfc2201/p/2143436.html
Copyright © 2011-2022 走看看