Oracle学习笔记总结

1. create user beyond  identified by beyond;创建用户
    刚创建的用户没有任何权限,包括的登录
2. drop user beyond [cascade]: 是否级联删除
3. grant connect to beyond ;给beyond用户授予连接权限
4. grant resource to beyond:  授予创建的权限
5. grant select on emp to beyond:授于beyond select 权限
    select * from system.emp;
6. 角色权限和自定义权限
7. 角色权限:connect, resource, dba
8. 自定义权限:select ,insert, delete,等 
9. revoke all on emp from beyond: 收回beyond对emp 的所有权限
10. grant select on emp to beyond with grant option 如果是对象权限,可以把权限传递给其他人
11. grant connect to beyond with admin option 如果是系统权限,可以把权限传递给其他人
12. 当自己的权限被回收率,其传递给其他人的权限也被回收
13. create profile beyondLock limit failed_login_attempts 3 password_lock_time 2;
    alter user beyond profile beyondLock;
    创建名为 beyondLock 的口令限制,输错3次密码,锁定2天
14. alter user beyond account unlock;
    为beyond 用户解锁;

15. create profile beyondLimit limit password_life_time 10 password_grace_time 2;
    alter user beyond profile beyondLimit;
    要求 beyond 每隔10天修改登录密码,宽限期为2天
16. create profile beyondLimit limit password_life_time 10 password_grace_time 2 password_reuse_time 10
    .....新密码不能和老密码一样,10天后老密码可重新用 
17. drop profile beyondLimit [cascade] 删除beyondLimit【级联】
18.	Oracle 必须启动的服务:
		OracleOraHome90TNSListener java连接oracle的服务名;
		OracleServiceXX这个服务也必须启动;
19.	char好处: 查询极快
20. blob 存大数据Max(4G)用途:对机密的大数据存
21. 表修改:
		添加一个字段: 		alter table student add(classId  number(2));
		修改字段的字段:	alter table student modify(xm  varchar2(30));
22. Oracle 默认的日期格式为: 日-月-年,如果不进行日期转换的话,那么,插入日期的格式为(‘12-12月-2013’)
23. 修改 Oracle  默认的日期格式:
		alter session set nls_date_format='YYYY-MM-DD';
		即:修改日期的默认格式为: 2012-12-12 这种格式了
24. 设置保存点: savepoint aa;
		回复保存点: rollback to aa;		

25. Oracle 分页有三种:
					insert into student select * from student;  
			  
			select ROWNUM,t.* from student t where rownum <5;  
			  
			select count(*) from student;--786432条,  
			--查 78000~78030 速度由快到慢:1-2-3-4  
			--1.按rownum 来分  
			select  *                  --0.094S              
			  from (select rownum as rn , st.*  
			          from (select * from student) st  
			         where rownum <78030) t  
			 where rn > 78000;  
			--2.按rownum 来分  
			select *                   --0.343S       
			  from (select rownum as rn, st.* from (select * from student) st)  
			 where rn between 78000 and 78030;  
			--3 按rowid来分   
			select *                   --0.359S   
			  from student  
			 where rowid in  
			       (select rid  
			          from (select rownum rn, rid  
			                  from (select rowid rid, classid from student order by classid)  
			                 where rownum < 78030)  
			         where rn > 78000)  
			 order by classid;     
			--4 按分析函数来分  
			select *                 -- 0.624S     
			  from (select t.*, row_number() over(order by classid) rk from student t)  
			 where rk < 78030  
			   and rk > 78000;   	
	
26.	建立保存点: savepoint one 后可以做任何非提交的操作,
							 savepoint two 后可以做任何非提交的操作,
		回滚到保存点:可以用 rollback to one/two 回滚到one 或者two 保存点
		提交保存点: commit 提交保存点
		
27.	直接执行 .sql 文件: start D:\Oracle_SQL\first.sql

28. set transaction read only  :设置只读事务
		只读事务是指:只允许执行查询的操作,而不允许执行任何其他DML(增、删、改)操作的事务,使用只读事务可以确保用户只能取得某时间点的数据。
		
29.	lower(char):将字符串转换为小写的格式
		upper(char):将字符串转换为大写的格式
		length(char): 查询字符串的长度
		substr(char,m,n):	查字符串的子字符串,从第 m 个字符开始取 n 个
		eg: 以首字母大写的方式显示员工姓名
			1. select upper(substr(name,1,1))||subStr(name,2) from users
			2. select upper(substr(name,1,1))||substr(name,2,length(name)-1) from users
		replace(char,A,B):	在char 里,用B替换成A
		
30.	round(n,[m]):	执行四舍五入。
			省掉m,四舍五入到整数; 
			如果m是正数,四舍五入到小数点的m位后;
			如果m是负数,四舍五入到小数点的m位前。
			
		trunc(n,[m]):	该函数用于截取数字。
			省略m,就截去小数部分;
			如果m是正数,就截取到小数点的m位后;
			如果m是负数,就截取到小数点的前m位
			trunc(n) = floor(n)
			
		eg: round(55.67,1):	55.7
				trunc(55.67,1):	55.6
				floor(55.67):		55
				ceil(55.67):		56
		
		abs(n):	 返回绝对值
	
31.	日期函数:
		sysdate:	返回系统时间
		add_months(d,n):	从D日期开始,再加N个月
		last_day(d):	返回 d 月的最后一天
			eg:eg:	select sysdate,add_months(sysdate,1) from dual; 
					2013/12/26 21:53:10			2014/1/26 21:51:29	2013/12/31 22:02:34
					
32.	系统函数:
		sys_context
		1.terminal:	当前会话客户所对应的终端的标识符
		2.language: 语音
		3.db_name:	当前数据库名称
		4.nls_date_format:	当前会话客户所对应的日期格式
		5.session_user:	当前会话客户所对应的数据库用户名
		6.current_schema:	当前会话客服所对应的默认方案名
		7.host:	返回数据库所在主机的名称
		eg:
			select sys_context('USERENV','db_name') from dual;
			userenv,是固定的字

33.	管理数据库的用户主要是 sys 和 system
		sys:	所有Oracle的数据字典的基表和视图都存放在 sys用户中,这些基表和视图对于 Oracle 的运行是至关重要的,有数据库自己维护,任何用户都不能手动更改。
					sys 用户拥有 dba,sysdba, sysOper 角色货权限,是Oracle权限最高的用户。
		system:	用于存放次一级的内部数据,如Oracle 的一些特性或工具的管理信息,system 用户拥有 dba, sysdba 角色或系统权限
		sys用户必须以 as sysdba 或者 as sysoper 形式登录,不能以 normal 方式登录
		system如果正常登录,它其实就是一个普通DBA用户,但是如果以 as sysdba 登录,其结果实际上它是作为sys用户登录的
		

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle是一种关系型数据库管理系统,广泛用于企业级应用程序中。学习Oracle需要全面了解其结构、基本概念和操作技巧。 首先,了解Oracle数据库的体系结构非常重要。Oracle数据库由实例和数据库组成。实例是数据库在内存中的运行实体,数据库是磁盘上存储数据的地方。了解实例和数据库之间的关系以及它们各自的功能对于后续学习非常重要。 其次,掌握SQL语言对于学习Oracle至关重要。SQL是结构化查询语言的缩写,用于与数据库进行交互。学习SQL语言,包括基本的SELECT、INSERT、UPDATE和DELETE语句,以及高级的聚合函数、连接查询和子查询等操作,可以帮助我们有效地访问和操作Oracle数据库。 此外,熟悉Oracle数据库的基本概念也是学习的关键。如表、视图、索引、约束、触发器等一系列数据库对象的使用和管理,以及事务的概念和ACID特性的重要性等。 了解Oracle的性能调优也是学习Oracle的必备知识之一。通过优化查询、索引和存储结构等手段来提高数据库的性能可以使数据库系统更加高效地运行。 最后,了解Oracle的高级特性和功能也是学习的重点。如分区表、数据泵、分布式数据库、备份和恢复等高级功能,在复杂的企业级环境中能够更好地应对各种需求。 总之,学习Oracle需要综合掌握数据库的结构、SQL语言、基本概念、性能调优和高级特性等。通过理论学习和实践操作相结合,逐步积累经验,才能够成为熟练的Oracle数据库管理员或开发人员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值