1. Round(number,[n])省略n,则四舍五入到整数,如果n是整数则四舍五入到小数点后n位,如果n为负数,则四舍五入到小数点前的n位。
2. trunc(number,[n])该函数用于截取数字,如果省略则只截取整数部分,如果为正数则截取到小数点后N位,如果为负数则截取到小数点前的n位。
3. mod(number,n)将数字number除以n,然后返回余数。
4. floor(n)返回小于或者等于n的最大整数。
5. ceil(n)返回大于或者等于n的最小整数。
6. add_months(date,n)将日期date增加n个月份。
7. last_day(d)返回日期date所在月份的最后一天。
8. 系统函数的sys_context的使用方法是固定的,如下:select sys_context(‘userenv’,’参数’) from dual;
参数包括terminal(当前会话客户使用的主机名称)、language(当前会话用户使用的语言)、db_name(当前数据库实例名称)、nls_date_format(当前会话客户所对应的日期格式)、session_user(当前会话用户对应的数据库实例的用户名)、host(返回数据库所在的主机名称)
9. 数据库管理员的职责包括: 安装和升级数据库;创建数据库、创建表空间、以及创建数据库表、视图和索引等;制定和实施数据库备份和恢复计划;数据库权限管理,调优,故障排除;对于高级DBA,要求能参与项目开发,会编写sql语句,存储过程、触发器、规则、约束、包。
10. 管理数据库的用户主要有sys和system两个。区别在于:存储的数据的重要性不同以及两个用户的权限不同。
11. Sys存储的数据:所有oracle的数据字典的基表和视图都存放在oracle的sys用户中,这些基表和视图对oracle的运行是至关重要的。由数据库自己进行维护。任何用户都不能手动更改。Sys用户拥有dba、sysdba、sysoper角色或权限,是oracle权限的最高用户。
System存储:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。
sys用户对应一个sys方案,该方案中包括相应的数据库基表和动态视图,并且还具有dba(数据库管理员角色)、sysdba(系统管理员)、sysoper(系统操作员)的角色。
system用户对应一个system方案,该方案中包括次一级的内部数据表、如oracle特性和管理工具的信息,并且还包括dba角色、sysdba角色,但是没有sysoper角色。
12. Sys和system用户的权限不同。
Sys用户必须以as sysdba或者as sysoper的形式登录,不能以normal的方式登录数据库。
System如果正常登录,它其实就是一个dba用户,但是如果以as sysdba 登录,结果就是作为sys用户登录。
13. Dba是指拥有dba角色的数据库用户,特权用户可以执行启动实例,关闭实例等操作。而dba用户只有在启动数据库后才能执行各种管理工作。
14. 疑问:随便建立一个能连接到数据库的用户,然后执行语句 conn name/password as sysdba 都可以立即以sysdba的身份进入到数据库中,并且具备这个数据库的最高权限,这不能保证oracle的安全。并且以sysdba的身份登录的时候,甚至连密码都不需要输入正确就可以以sysdba的身份登录到数据库中。当某个用户以sysdba的身份登录数据库中之后,已经使用命令shutdown关闭的数据库但是在计算机管理的服务列表中该数据库实例并没有显示关闭状态。
15. 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程。逻辑恢复是指使用import工具利用备份的文件把数据对象导入到数据库的过程。物理备份既可以在数据库打开的情况下进行备份,也可以在数据库关闭之后进行。逻辑备份只能在数据库打开的情况下使用。
16. 数据库导出备份包括导出表、导出方案、导出数据库三种方式。如果仅仅是导出该用户下的数据库表,则被称为导出表;如果导出该用户的方案,例如包括数据库表、存储过程、包等等,则被称为导出方案;如果想导出多个用户的多个方案的话,则被称为导出整个数据库。
17. 导出命令exp有很多很多选项,常用的选项有:userid、tables、owner、fully、inttype、rows、file。