Oracle学习笔记-WINDOWS

来源:互联网 发布:数据库表外键约束 编辑:程序博客网 时间:2024/06/16 11:02

1.下载地址:http://www.oracle.com

2.硬件要求:1G内存,20G硬盘(最低要求)

3.Windows下安装注意事项:

①【创建启动数据库】勾选表示在安装Oracle数据库软件同时创建一个数据库并启动;

②“正在检查网络配置需求”在未联网情况下,注意勾选后面的复选框;

③安装结束界面记录“Database Control URL”可以再WEB页面对Oracle进行管理和监控。

4.常看数据库是否安装成功

select status from v$instance;--OPEN

5.登入数据库的两种认证方式

①操做系统认证:默认情况下,在本机服务器登入oracle数据,可以不用数据用户名和密码

如:开始->cmd->sqlplus “/as sysdba”

②用户密码认证:远程连接数据库,需要输入数据库用户名和密码认证。

6.配置环境变量

path下添加oracle安装目录

新建环境变量:ORACLE_HOME和ORACLE_SID

7.启动数据库服务

①OracleService数据库实例名:启动数据库的实例进程,启动数据库。

②OracleOraDb10g_home1TNSListener服务:Oracle的监听程序,专门负责数据库用户远程访问数据库。

8.启动/关闭数据库命令

startup/shutdown immediate

9.查看数据库实例名:SQL> show parameter db_name;

10.查看用户信息:SQL> select * from dba_users;

11.对用户解锁:SQL> alter user scott account unlock;

12.设置查询数据的日期格式:SQL> alter session set nls_date_format='MM-DD-YYYY';

13.SQL> select round((sysdate-hiredate)/365,0) from emp;

函数round(X,Y)四舍五入,X表示原始数据,Y表示在哪位上四舍五入,round(34.5,0)=36、round(34.567,2)=36.57

14.SQL> select * from emp where sal between 1500 and 2450; between...and...是闭区间

15.SQL> select sal+nvl(comm,0) from emp ; nvl(X,Y)如果X有值,则取X;如果X为NULL,则取Y;

16.Oracle数据库的5种约束:

①主键 alter table dept add constraint PK_dept primary key(deptno);

②外键  alter table EMP
  add constraint FK_DEPTNO foreign key (DEPTNO)
  references DEPT (DEPTNO);

 ③非空 NOT NULL

④唯一  UNIQUE

⑤条件 如年龄在18-28之间。

17.建表时添加主键和外键

SQL> create table Business(
  2  BusiNo number(2) constraint PK_BusiNo primary key,
  3  BusiName varchar(32) not null,
  4  ItemNo number(2), constraint FK_Business foreign key(itemno)
  5  references items(itemno),
  6  starttime date);

18.表中列的操作:添加、修改、删除

①alter table dept add (manager,varchar2(6));

②alter table dept modify (manager,varchar2(8));

③alter table dept drop column manager;

 19.创建用户、授权、回收、改密、删除用户

①create user andy identified by 123;

②grant connect to andy;

③revoke connect from andy;

④alter user andy identified by andy;

⑤drop user andy [cascade-删除用andy用户相关联的表]

20.把scott表的增删改查权限赋给andy

grant insert,delete,update,select on emp to andy;

 20.查看当前用户权限、角色、角色权限

①select * from session_privs;

②select * from user_role_privs;

③select * from dba_sys_privs where grantee='DBA';

21.创建视图

CREATE view avgsal as
   select d.dname as  "部门",  --双引号
          round(avg(e.sal), 2) as "平均公司",
          count(*) as "人数" from dept d, emp e
    where d.deptno = e.deptno
    group by dname;

查看用户视图 select * from user_views;

22.创建sequence序列

create sequence id
       start with 1        
       increment by 1
       minvalue 1
       maxvalue 999999
       nocache
       nocycle;

23.创建函数

CREATE or replace function get_emp_sal(emp_no in number) return number is
  emp_sal number(7, 2);--数据类保持一致
begin
  select sal into emp_sal from emp where empno = emp_no;
  return(emp_sal);
end;

24.创建存储过程

create or replace procedure delemp(emp_no in number) is
begin
  delete from emp where empno = emp_no;
  commit;
end delemp;

25.创建索引

create index id_data on emp(empno);

create index 索引名 on 表名(要建立索引的字段名);

26.同义词synonym

grant create any synonym to scott;

grant public synonym to scott;

create synonym sg for salgrad;

create public synonym emp fro scott.emp;

27.oracle数据库中函数和存储过程的区别

①函数必须有返回值,存储过程没有;

②函数可以单独执行,存储过程需要cxcute执行;

③函数可以嵌套在sql中执行,存储过程不能。

28.数据库启动过程

数据库启动时,先找到初始化文件(spfile或者pfile)处于nomount状态->根据初始化文件找到控制文件(control file)处于mount状态->

根据控制文件找到到数据文件(data file)、重做日志文件(redo file)处于open状态。

29.数据库关闭的的4个命令

①shutdown immediate 不允许新的连接,不等待会话结束,不等待事务结束,做一个检查点并关闭数据文件。启动时不用实例恢复;

②shutdown abort 不允许新的连接,不等待会话结束,不等待事务结束,不做检查点且没有关闭数据文件。启动时实例自动恢复;

③shutdown transactional 不允许新的连接,不等待会话结束,等待事务结束,做一个检查点并关闭数据文件。启动不恢复;

④shutdown normal 不允许新的连接,等待会话结束,等待事务结束,做一个检查点并关闭数据文件。启动时实例不用恢复。

30数据的nomount和mount及open状态

①显示初始化文件位置:show parameter spfile;

②根据spfile生成pfile:create pfile='D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\pfile.ORA' from spfile;

③启动到nomount状态:startup nomount [pfile='D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\pfile.ORA' ];

④nomount->mount:alter database mount;

⑤把控制文件显示在trace中:alter database backup  controlfile to trace as 'd:\ctl.trc';

⑥显示控制文件位置:select name from v$controlfile;

⑦启动数据库到mount状态:startup mount;

⑧mount->open:alter database open;

 ⑨数据文件位置:select name from v$datafile;

⑩重做日志位置:select member from v$logfile;

31.数据密码文件位置

①windows下$ORACLE_HOME\database\PWDorcl.ora

②linux下$ORACLE_HOME\dbs\orapworcl

32.是否允许远程登入

show parameter remote_login_passwordfile;

EXCLUSIVE:允许;

NONE:禁止。

startup force 强制重启。

33.查看数据库表空间

 select tablespace_name as "表空间名",
        block_size / 1024 as "大小",
        status as "状态",
        contents as "类型",
        logging as "是否有日志"
   from dba_tablespaces;
34.数据文件的表空间、大小、扩展

select t.tablespace_name "表空间",
       t.file_name "文件名",
       t.bytes / 1024 / 1024 "大小",
       t.autoextensible "是否自动扩展",
       t.maxbytes / 1024 / 102 "文件最大值"
  from dba_data_files t;
35.重做日志

select * from v$logfile;

 

 

 

 

 

 

 

0 0
原创粉丝点击