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;
    

      

  • 相关阅读:
    奇妙的html 和 Css【关于html、Css 开发中重要的细节和一些小奇怪现象】
    JavaWeb项目img标签的图片无法加载的原因及解决方法
    批量建堆(二叉堆【完全二叉堆】)~~批量建堆
    为什么要面向对象(转)
    不从0开始序列的matlab卷积实验
    虚数、傅里叶变换中负频率的意义
    运动的6个自由度
    转载:关于Ω, f, w的前世今生
    利用matplotlib画用于机器学习的K线图练手任务
    信息工程学院——电子信息工程到底学什么?
  • 原文地址:https://www.cnblogs.com/zfc2201/p/2143436.html
Copyright © 2011-2022 走看看