oracle学习笔记(一)

来源:互联网 发布:mysql怎么创建数据库 编辑:程序博客网 时间:2024/06/05 12:04

1.Orcle启动 ->运行 services.msc->
   启动OracleServiceORCLlouy服务与OracleOraDb11g_home2TNSListener服务
2.运行->sqlplus.exe登录sql*Plus
3.要知道那个用户,输入命令:show users
4.PL/SQL Developer工具可以打开
5.连接命令:
  a.conn 用户名/密码  切换用户,例如:conn scott/targer
  b.disc[onnect]说明:该命令用来断开与当前数据库的连接。
  c.passw[ord]说明:该命令用于修改用户的密码,如果想修改其他用户的密码,需要用  sys/system登录。
  d.show user 说明:显示当前用户名;
  e.exit说明:该命令会断开与数据库的连接,同时推出sql*plus.

6.文件操作命令
  a.start 和@ 说明:运行sql脚本。
 案例:sql>@d:\a.sql或者sql>start d:\sql
  b.edit 说明:该命令可以编辑指定的sql脚本。
 案例:sql>edit d:\a.sql
  c.spool 说明:该命令可以将sql*plus 屏幕上的内容输出到指定文件中去。
 案例:sql>spool d:\b.sql 并输入sql>spool off
 
7.交互式命令
   a.& 说明:可以替代变量,而该变量在执行时,需要用户输入。
 案例:sql>select * from emp where Job='&job'
   b.edit 说明:该命令可以编辑指定的sql脚本
 案例:sql>eidt d:\a.sql
   c.spool 说明:该命令可以将sql*plus屏幕上的内容输出到指定的文件中去。
 案例:sql>spool d:\b.sql 并输入 sql>spool off
8.显示和设置环境变量
  概述:可以用来控制输处的各种格式,set show如果希望永久的保存相关的设置,可以去修改glogin.sql脚本。
    a.linesize 说明:设置显示行的宽度,默认是80个字符
 案例:sql>show linesize;sql>set linesize 90
    b.pagesize 说明:设置每页显示的行数目,默认是14,用法和linesize一样。
9.创建一个用户
   概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
   案例:SQl>create user louy identified by m123;
10.给用户修改密码
   概述:如果给自己修改密码可以直接使用sql>password 用户名
   如果给别人修改密码则需要具有dba的权限,或者拥有alter user的系统权限
   案例:sql>alter user 用户名 identified by 新密码。
11.删除用户
   概述:一般以dba的身份去删除某个用户,如果用其他用户去删除用户需要具有drop user的权限.
   案例: drop user 用户名 【cascade】
12.给新用户授权(grant)
   (1)概述:给某个用于授予对某些对象的操作;权限有:select,update,insert,del,all,create index……
   案例:grant select on emp to scott(对用户scott授予对emp表的查询操作)。
   (2)概述:希望某个用户可以去操作当前用户的某个对象的操作,并且该用户可以继续把这个权限授予别的用户;
   案例:grant select on emp to scott with grant option.
13.收回权限(revoke)
   概述:收回某个用户的某些操作权限
   案例:revoke select on emp from scott(收回用户scott对表emp的查询操作权限)
14.对某个用户进行解锁
   ALTER USER username ACCOUNT UNLOCK;
15.系统权限的授予
   grant connect to xiaoming with admin option.
16.使用profile管理用户口令
   概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile.当建立用户没有指定profile选项,那oracle就会default分配给用户。
   (1).账户锁定 
        概述:指定该用户登录时最多可以输入密码的次数,也可以指定用户锁定的     时间(天)一般用dba的身份去执行该命令。
        案例:指定scott这个用户最多只能尝试3次登录,锁定时间为2天。
  创建profile文件:
  sql>create profile lock_account limit filed_login_attempts 3 p
  assword_lock_time 2;
            sql>alter user tea profile lock_account;
   (2).给账户(用户)解锁
 案例:sql>alter user tea account unlock;
   (3).终止口令。
 概述:为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作。
 案例:给前面创建的用户tea创建一个profile文件,要求该用户没个10天要修改自家的登录密码,宽限期为2天,
 sql>create profile myprofile limit password_life_time 10 password_grace_time 2;
 sql>alter user tea profile myprofile
   (4).删除profile
 概述:当不需要某个profile文件时,可以删除
 案例:sql>drop profile password_history
17.操作表口令
 1).概述:添加一个字段
    案例:sql>alter table student add(classid number(2));
 2).概述:修改字段的长度
    案例:sql>alter table student modify(xm varchar2(30));
 3).概述:修改字段的类型/或是名字(不能有数据)
    案例:sql>alter table student modify (xm char(30));
 4).概述:删除一个字段
    案例:sql>alter table student drop column sal;
 5).概述:修改表的名字
    案例:sql>renam student to stu;
 6).概述:删除表
    案例:sql>drop table student;
 7).概述:查看表
    案列:desc student;
18.会话时间命令
 1).概述:指定操作所用的时间
 案例:set timing on;
 2).概述:唯一命令
 案例:select distinct 字段名 from 表名;
19.只读事物
     概述:设置只读事物 
     案例:set transaction read only
20.oracle操作函数
  abs(n) 返回数字n的绝对值
  scos(n) 返回数字的反余玄值
  asin(n) 返回数字的反正余弦值
  atan(n) 返回数字的反正切值
  exp(n) 返回e的n次幂
  log(m,n)返回对数值
  power(m,n)返回m的n次幂
  
 round(n,[m])概述:该函数用于执行四舍五入,如果省掉m,则四舍五入到整数,如果m是正数,则四舍五入到小数点的m位后.如果m是负数,则四舍五入到小数点的m位钱。
 trunc(n,[m])改函数用于截取数字.如果省掉m,就截去小树部分,如果m是正数就截取到小数点的m位后,如果m是负数,则截取到小数点的前m位
 floor(n)返回小于或是等于n的最大整数
 ceil(n)返回大于或是等于n的最小整数
21.表数据导出
 概述:在导出和导入的时候,要到orcle目录的bin目录下;
 案例:exp userid=scott/m123@myora1 tables=([用户名.]emp) file=d:\emp.dmp
22.导出表的结构
 概述:导出表的结构
 案例: exp userid=scott/m123@myora1 tables=([用户名.]emp) file=d:\emp.dmp rows=n
 概述:导出方案
导出自己的方安:exp userid=scott/m123@myoral owner=scott file=d:scott.dmp;
23.使用中介导出的方式
 案例:ext userid=scott/m123@myoral tables=([用户名.]emp) file=d:\e2.dmp direct=y;
23.数据库管理员(数据表的备份及恢复)
    1.管理数据库的用户主要是sys和system,区别是以下两点
 a.最重要的区别,存储的数据的重要性不同
 sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行时至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户。
 system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba角色或系统权限。
    2.其次的区别,权限的不同。
 sys用户必须以as sysdba或者as sysoper形式登录。不能以normal方式登录数据库。
 system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys 用户登录的,从登录信息里面我们可以看出来。
   sys/change_on_install as sysdba;system/manager
   dba没有启动数据库(startup)和关闭数据库(shutdown)的权限
24.数据库管理员
 1.管理初始化参数 (案例:显示初始化参数:show parameter命令)
 2.对数据库(表)的逻辑备份和恢复
  a.逻辑备份是指使用
  b.导出分为:导出表,导出方案,导出数据库三种方式(再导入和导出的时候要在oracle的主目录下面去导)