如何通过Sqlplus创建一个oracle的user
1,通过system管理员连接到要添加USER的DB
或者通过以下命令: Connect system/manager@user_datebase AS SYSDBA ;以SYS登陆去创建用户
2,创建用户并分配权限
drop user asset cascade; 删除该用户下所有的表和视图
create user asset identified by asset;创建一个asset用户并设置密码
grant connect,resource,dba to asset;为用户分配权限
3,通过Sqlplus确认用户添加是否成功
或者通过以下命令:Connect asset/asset@user_datebase 以asset登陆 ......
ORACLE日期时间函数大全
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 ......
视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候, 只是重新执行SQL.
还有一种视图:物化视图(MATERIALIZED VIEW ),也称实体化视图,快照 (8i 以前的说法) ,它是含有数据的,占用存储空间。 关于物化视图,具体参考我的blog:
Oracle 物化视图
http://blog.csdn.net/tianlesoftware/archive/2009/10/23/4713553.aspx
一. 视图的特点
1. 集中用户感兴趣的数据. 通常用户只是对表中的某一部分数据感兴趣, 对其他的数据不是那么敏感, 所以用户通过视图就可以操 纵自己所需的数据. 对于开发人员来说, 也可以屏蔽一些数据.
2. 掩码数据库的复杂性. 通过视图机制将数据库设计的复杂性与用户屏蔽分开, 这样用户通过视图的操作就可以达到简化对数据库的复杂操作.
3. 简化用户的权限. 由于视图只是基表的逻辑表, 所以通过视图可以将视图的权限和基表权限分离.
4. 重组数据. 视图可以来自多个基表, ......
游标(CURSOR)也叫光标,在关系数据库中经常使用,在PL/SQL程序中可以用CURSOR与SELECT一起对表或者视图
中的数据进行查询并逐行读取。
Oracle游标分为显示游标和隐式游标。
显示游标(Explicit Cursor):在PL/SQL程序中定义的、用于查询的游标称作显示游标。
隐式游标(Implicit Cursor):是指非PL/SQL程序中定义的、而且是在PL/SQL中使用UPDATE/DELETE语句时,Oracle系统自动分配的游标。
一.显示游标
1.使用步骤
(1)定义 (2)打开 (3)使用 (4)关闭
2.使用演示
首先创建测试用表STUDENT,脚本如下:
CREATE TABLE "STUDENT" (
"STUNAME" VARCHAR2(10 BYTE),
"STUNO" VARCHAR2(4 BYTE),
"AGE" NUMBER,
"GENDER" VARCHAR2(2 CHAR)
)
(1).使用WHILE ......
1.建立存放字符串的数组类型
create or replace type Type_bind as table OF VARCHAR2(4000)
2.建立将字符串转成数组然后返回给Type_bind函数。
CREATE OR REPLACE FUNCTION F_PUB_BIND_IN(p_bind IN VARCHAR2)
RETURN TYPE_BIND AS
/*
创建时间:2008-8-26
运行周期:
涉及的表:
函数简述:
为了带IN的条件,使用绑定变量, 把字符串转成表类型
入参为()中的值,如:(1,2,3,4)则传入'1,2,3,4'
SELECT * from TABLE(F_PUB_BIND('66561000,62693920')) 也可调用
修改历程:
1.
*/
--往入参的后面加入逗号,便于分割
v_SqlStr LONG DEFAULT p_bind || ',';
--中间变量
v_Tmp NUMBER;
--分割后的值
v_Data TYPE_BIND := TYPE_BIND();
BEGIN
LOOP
v_Tmp := INSTR(v_SqlStr, ',');
EXIT WHEN(NVL(v_Tmp, 0) = 0);
--扩展数组大小 ......
有时候网络发生变动,必须手动修改一下RAC VIP地址,不仅是地址,也可以修改VIP所在的网卡,原则是VIP地址要和PUB地址在同一个网段内,方法其实是比较简单的,有人问到,我给一个示例如下:
1、关闭数据库
srvctl stop database -d db
2、关闭NOTEAPPA
srvctl stop nodeapps -n db2
每个节点上分别以root权限执行,一个节点一个节点执行
修改完成后,修改相应的每个节点本地的侦听lister.ora和tnsname.ora文件对应的IP,然后就是修改IP地址了,下面的例子修改到VIP 到ETH1设备上
db1#./srvctl modify nodeapps -n db1 -A 192.168.1.110/255.255.255.0/eth1
db2#./srvctl modify nodeapps -n db2 -A 192.168.1.210/255.255.255.0/eth1
3、重新启动RAC数据库就可以了
恢复原来的网卡设置
/oracle/product/102/crs/bin/srvctl modify nodeapps -n db1 -A 192.168.1.110/255.255.255.0/eth0
/oracle/product/102/crs/bin/srvctl modify nodeapps -n db2 -A 192.168.1.210/255.255.255.0/eth0 ......