日期:2014-05-16  浏览次数:20399 次

Oracle百问百答(二)

Oracle百问百答(二)

11 nvl函数有什么用?

NVL( string1, replace_with)

功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。

注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。

例:NVL(TO_CHAR(numeric_column), 'some string') 其中numeric_column代指某个数字类型的值。

12. 数据库名和数据库实例名有什么区别?

 数据库名是用于区分数据库的一个内部标识,是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。数据库创建后,它被写入数据库参数文件pfileSpfile中。格式如下:

db_name="orcl"

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

 数据库实例是操作数据库的实体,用户通过实例与数据库交互。实例名用来标识这个数据库实例。数据库创建后,实例名可以被修改。也在数据库参数文件pfileSpfile中。格式如下:

instance_name=orcl

service_names=orcl.dbcenter.toys.com

 数据库名与实例名可以相同。一个数据库对应一个实例的情况下设置成相同的便于标识数据库。

13.简述profile的作用?

profile是口令限制,资源限制的命令集合,当建立数据库的,oracle会自动建立名称为defaultprofile。当建立用户没有指定profile选项,那么oracle就会将default分配给用户。

账户锁定:
概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间()一般用dba的身份去执行该命令。
例子:指定scott这个用户最多只能尝试3次登陆,锁定时间为2天,让我们看看怎么实现。
创建profile文件
SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

SQL> alter user scott profile lock_account;

给账户解锁:
SQL> alter user tea lock_account unlock;

14.简述存储过程的用法?

创建:

create or replace procedure a_proc(a_name I