- 浏览: 21614 次
- 性别:
- 来自: 深圳
文章分类
启动监听:lsnrctl start/stop
启动服务:
su oracle
sqlplus /nolog
connect /as sysdba
(启:)startup (停:)shutdown immediate
oemapp dbastudio 打开企业管理器图形界面
opemapp console 打开企业管理器图形界面(和上面的命令效果一样。)
sqlplus / as sysdba 登陆到本机的数据库
lsnrctl start/stop 打开/关闭端口监听
dbca 添加数据库实例(图形界面)
hostname 查看主机名称
netca 配置监听(图形界面)
1、oracle会话设置默认的日期格式:
alter session set nls_date_format = 'yyyy-mm-dd';
2、返回当前会话的数据库时区:
select sessiontimezone from dual;
3、查询数据库时区:
select dbtimezone from dual;
4、查看会话时区中的当前日期:
select current_date from dual;
5、获取时区的时差:
select tz_offset('pst') from dual; --'pst' 表示太洋标准时间
6、子查询中不能包含 ORDER BY 子句
查看数据库相关的文件:
select name from v$datafile;
select name from v$logfile;
select name from v$controlfile;
数据库:就是保存数据的物理文件
数据库实例:就是oracle的进程和内存
可以从多个实例访问一个数据库,但是一个实例一次只能访问一个数据库。也就是一个实例的一生只能装载并打开一个数据库。
1、数据操作语言(DML):INSERT,UPDATE,DELETE 需要提交
2、数据定义语言(DDL):CREATE,ALTER,DROP,RENAME,TRUNCATE 会自动提交
3、事务控制(TC):COMMIT,ROLLBACK,SAVEPOINT
4、数据控制语言(DCL):GRANT(授权),REVOKE(防止其它用户访问数据库)
5、oracle左外链接:
select p.name,pt.name from products p,product_types pt where p.product_type_id = p.product_type_id (+) order by p.name;
等同于:
select p.name,pt.name form products p,product_types pt left join on p.product_type_id = p.product_type_id order by p.name;
oracle右外链接:
select p.name,pt.name from products p,product_types pt where p.product_type_id (+)= p.product_type_id order by p.name;
等同于:
select p.name,pt.name form products p,product_types pt right join on p.product_type_id = p.product_type_id order by p.name;
6、查看表的描述: describe 表名
7、oracle会话设置默认的日期格式: alter session set nls_date_format = 'yyyy-mm-dd';
8、创建用户:create user jason identified by siven;
create user jason identified by siven default tablespace users temporary tablespace temp;
授权:grant create session to jason;
修改用户密码:alter user jason identified by siven1; PASSWORD命令可以修改当前用户的口令;
删除用户:drop user jason;
9、系统特权:
CREATE SESSION:连接到数据库
CREATE SEQUENCE:
CREATE TABLE;
CREATE ANY TABLE:在任何模式中创建表
DROP ANY TABLE;
CREATE PROCEDURE;
EXCUTE ANY PROCEDURE:执行任何模式中的存储过程
CREATE USER;
CREATE VIEW;
10、授权:GRANT CREATE SESSION,CREATE USER,CREATE TABLE TO steve;
加上WITH ADMIN OPTION选项用户就可以该权限再授于其它用户:
GRANT EXCUTE ANY PROCEDURE TO steve WITH ADMIN OPTION;
将一种特权授于PUBLIC,这样,系统中的所有用户都具备这种特权了:
GRANT EXECUTE ANY PROCEDURE TO PUBLIC;
查询用户的系统特权:select * from USER_SYS_PRIVS order by privilege;
撤消用户的系统特权:REVOKE CREATE SESSION,CREATE TABLE FROM steve;
11、对象特权:SELECT,INSERT,UPDATE,DELETE,EXECUTE(执行存储过程)
查询用户已有的对象特权:select * from USER_TAB_PRIVS_MADE WHERE TABLENAME = 'employee';
撤消用户对象特权:REVOKE SELECT,INSERT ON employee FROM steve;
12、检查用户的角色:select * from USER_ROLE_PRIVS;
查询角色授于的系统特权:SELECT ROLE_SYS_PRIVS ORDER BY PRIVILEGE;
查询角色授于的对象特权:SELECT ROLE_TAB_PRIVS ORDER BY TABLE_NAME;
13、索引:
基本准则:当任何单个查询要检索的行小于或者等于整个表行数的10%时,索引就非常有用。
如果使用基于函数的索引,DBA必须将初始化参数QUERY_REWRITE_ENABLED设置为true(默认为false):
connect system/manager
alter system set QUERY_REWRITE_ENABLED = true;
查询用户所建的索引:select * from user_indexes;
rename to 更改索引名称
14、游标:
14.1、loop循环检索游标中的记录
declare
v_ruletype t_hosttype_rule.ruletype%type;
v_hosttypeid t_hosttype_rule.hosttypeid%type;
cursor v_t_hosttype_rule is
select ruletype,hosttypeid from t_hosttype_rule;
begin
open v_t_hosttype_rule;
loop
fetch v_t_hosttype_rule into v_ruletype,v_hosttypeid;
exit when v_t_hosttype_rule%notfound;
Dbms_Output.put_line(v_ruletype || '======' || v_hosttypeid);
end loop;
close v_t_hosttype_rule;
end;
14.2、for循环检索游标中的记录,for循环可以不显示打开关闭游标,它会自动打开和关闭游标
declare
cursor v_t_hosttype_rule is
select ruletype,hosttypeid from t_hosttype_rule;
begin
for v_rule in v_t_hosttype_rule loop
Dbms_Output.put_line(v_rule.ruletype || '======' || v_rule.hosttypeid);
end loop;
end;
14.3、open-for:可以在游标中检索自己想要的记录,REF CURSOR是一个指向游标的指针
declare
TYPE t_rule_cursor is ref cursor return t_hosttype_rule%rowtype; --声明了一个 ref cursor类型,并命名为t_rule_cursor
v_t_rule t_rule_cursor;
v_rule t_hosttype_rule%rowtype;
begin
open v_t_rule for
select * from t_hosttype_rule where ruletype = 'login';
loop
fetch v_t_rule into v_rule;
exit when v_t_rule%notfound;
Dbms_Output.put_line(v_rule.ruletype || '======' || v_rule.hosttypeid);
end loop;
close t_rule_cursor;
end;
15、异常:iteye已收藏
OTHERS 异常可处理所有的异常,即不知道将会发生什么异常时可以OTHERS异常
begin
dbms_output.put_line(1/0);
exception
when zero_divide then
dbms_output.put_line('除数为0');
when others then
dbms_output.put_line('除数为0======');
end;
16、存储过程:略
17、触发器:
查询用户的所有触发器:select * from user_tiggers;
禁止和启用触发器:
alter trigger triggerName disable;
alter trigger triggerName enable;
18、数据库对象:
--创建一个数据库对象
create type t_address as object
(
street varchar2(30),
city varchar2(30),
state char(2),
zip varchar2(5)
);
--在对象中引用对象
create type t_person as object
(
id integer,
first_name varchar(30),
last_name varchar2(30),
dob date,
phone varchar2(12),
address t_address
);
--给对象添加函数
create type t_product as object
(
id integer,
name varchar2(30),
description varchar2(30),
price number(5,2),
days_valid integer,
--get_sell_by_date() returns the date by which the product must be sold
member function get_sell_by_date return date
);
--对象函数的函数体
create type body t_product as
--get_sell_by_date() returns the date by which the product must be sold
member function get_sell_by_date return date is
v_sell_by_date date;
begin
select days_valid + sysdate into v_sell_by_date from dual;
return v_sell_by_date;
end;
--创建表并引用对象类型
create table products
(
product t_product,
quantity_in_stock integer
);
--向表中插入数据
insert into products (product,quantity_in_stock) values (t_product(1,'pasta','20 oz bag of pasta',3.95,10),50);
select * from products;
--创建对象并自定义松造函数
create type t_person2 as object
(
id integer,
first_name varchar2(30),
last_name varchar2(30),
dob date,
phone varchar2(12),
CONSTRUCTOR FUNCTION t_person2
(
p_id integer,
p_first_name varchar2(30),
p_last_name varchar2(30),
) RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION t_person2
(
p_id integer,
p_first_name varchar2(30),
p_last_name varchar2(30),
p_dob date
) RETURN SELF AS RESULT
);
启动服务:
su oracle
sqlplus /nolog
connect /as sysdba
(启:)startup (停:)shutdown immediate
oemapp dbastudio 打开企业管理器图形界面
opemapp console 打开企业管理器图形界面(和上面的命令效果一样。)
sqlplus / as sysdba 登陆到本机的数据库
lsnrctl start/stop 打开/关闭端口监听
dbca 添加数据库实例(图形界面)
hostname 查看主机名称
netca 配置监听(图形界面)
1、oracle会话设置默认的日期格式:
alter session set nls_date_format = 'yyyy-mm-dd';
2、返回当前会话的数据库时区:
select sessiontimezone from dual;
3、查询数据库时区:
select dbtimezone from dual;
4、查看会话时区中的当前日期:
select current_date from dual;
5、获取时区的时差:
select tz_offset('pst') from dual; --'pst' 表示太洋标准时间
6、子查询中不能包含 ORDER BY 子句
查看数据库相关的文件:
select name from v$datafile;
select name from v$logfile;
select name from v$controlfile;
数据库:就是保存数据的物理文件
数据库实例:就是oracle的进程和内存
可以从多个实例访问一个数据库,但是一个实例一次只能访问一个数据库。也就是一个实例的一生只能装载并打开一个数据库。
1、数据操作语言(DML):INSERT,UPDATE,DELETE 需要提交
2、数据定义语言(DDL):CREATE,ALTER,DROP,RENAME,TRUNCATE 会自动提交
3、事务控制(TC):COMMIT,ROLLBACK,SAVEPOINT
4、数据控制语言(DCL):GRANT(授权),REVOKE(防止其它用户访问数据库)
5、oracle左外链接:
select p.name,pt.name from products p,product_types pt where p.product_type_id = p.product_type_id (+) order by p.name;
等同于:
select p.name,pt.name form products p,product_types pt left join on p.product_type_id = p.product_type_id order by p.name;
oracle右外链接:
select p.name,pt.name from products p,product_types pt where p.product_type_id (+)= p.product_type_id order by p.name;
等同于:
select p.name,pt.name form products p,product_types pt right join on p.product_type_id = p.product_type_id order by p.name;
6、查看表的描述: describe 表名
7、oracle会话设置默认的日期格式: alter session set nls_date_format = 'yyyy-mm-dd';
8、创建用户:create user jason identified by siven;
create user jason identified by siven default tablespace users temporary tablespace temp;
授权:grant create session to jason;
修改用户密码:alter user jason identified by siven1; PASSWORD命令可以修改当前用户的口令;
删除用户:drop user jason;
9、系统特权:
CREATE SESSION:连接到数据库
CREATE SEQUENCE:
CREATE TABLE;
CREATE ANY TABLE:在任何模式中创建表
DROP ANY TABLE;
CREATE PROCEDURE;
EXCUTE ANY PROCEDURE:执行任何模式中的存储过程
CREATE USER;
CREATE VIEW;
10、授权:GRANT CREATE SESSION,CREATE USER,CREATE TABLE TO steve;
加上WITH ADMIN OPTION选项用户就可以该权限再授于其它用户:
GRANT EXCUTE ANY PROCEDURE TO steve WITH ADMIN OPTION;
将一种特权授于PUBLIC,这样,系统中的所有用户都具备这种特权了:
GRANT EXECUTE ANY PROCEDURE TO PUBLIC;
查询用户的系统特权:select * from USER_SYS_PRIVS order by privilege;
撤消用户的系统特权:REVOKE CREATE SESSION,CREATE TABLE FROM steve;
11、对象特权:SELECT,INSERT,UPDATE,DELETE,EXECUTE(执行存储过程)
查询用户已有的对象特权:select * from USER_TAB_PRIVS_MADE WHERE TABLENAME = 'employee';
撤消用户对象特权:REVOKE SELECT,INSERT ON employee FROM steve;
12、检查用户的角色:select * from USER_ROLE_PRIVS;
查询角色授于的系统特权:SELECT ROLE_SYS_PRIVS ORDER BY PRIVILEGE;
查询角色授于的对象特权:SELECT ROLE_TAB_PRIVS ORDER BY TABLE_NAME;
13、索引:
基本准则:当任何单个查询要检索的行小于或者等于整个表行数的10%时,索引就非常有用。
如果使用基于函数的索引,DBA必须将初始化参数QUERY_REWRITE_ENABLED设置为true(默认为false):
connect system/manager
alter system set QUERY_REWRITE_ENABLED = true;
查询用户所建的索引:select * from user_indexes;
rename to 更改索引名称
14、游标:
14.1、loop循环检索游标中的记录
declare
v_ruletype t_hosttype_rule.ruletype%type;
v_hosttypeid t_hosttype_rule.hosttypeid%type;
cursor v_t_hosttype_rule is
select ruletype,hosttypeid from t_hosttype_rule;
begin
open v_t_hosttype_rule;
loop
fetch v_t_hosttype_rule into v_ruletype,v_hosttypeid;
exit when v_t_hosttype_rule%notfound;
Dbms_Output.put_line(v_ruletype || '======' || v_hosttypeid);
end loop;
close v_t_hosttype_rule;
end;
14.2、for循环检索游标中的记录,for循环可以不显示打开关闭游标,它会自动打开和关闭游标
declare
cursor v_t_hosttype_rule is
select ruletype,hosttypeid from t_hosttype_rule;
begin
for v_rule in v_t_hosttype_rule loop
Dbms_Output.put_line(v_rule.ruletype || '======' || v_rule.hosttypeid);
end loop;
end;
14.3、open-for:可以在游标中检索自己想要的记录,REF CURSOR是一个指向游标的指针
declare
TYPE t_rule_cursor is ref cursor return t_hosttype_rule%rowtype; --声明了一个 ref cursor类型,并命名为t_rule_cursor
v_t_rule t_rule_cursor;
v_rule t_hosttype_rule%rowtype;
begin
open v_t_rule for
select * from t_hosttype_rule where ruletype = 'login';
loop
fetch v_t_rule into v_rule;
exit when v_t_rule%notfound;
Dbms_Output.put_line(v_rule.ruletype || '======' || v_rule.hosttypeid);
end loop;
close t_rule_cursor;
end;
15、异常:iteye已收藏
OTHERS 异常可处理所有的异常,即不知道将会发生什么异常时可以OTHERS异常
begin
dbms_output.put_line(1/0);
exception
when zero_divide then
dbms_output.put_line('除数为0');
when others then
dbms_output.put_line('除数为0======');
end;
16、存储过程:略
17、触发器:
查询用户的所有触发器:select * from user_tiggers;
禁止和启用触发器:
alter trigger triggerName disable;
alter trigger triggerName enable;
18、数据库对象:
--创建一个数据库对象
create type t_address as object
(
street varchar2(30),
city varchar2(30),
state char(2),
zip varchar2(5)
);
--在对象中引用对象
create type t_person as object
(
id integer,
first_name varchar(30),
last_name varchar2(30),
dob date,
phone varchar2(12),
address t_address
);
--给对象添加函数
create type t_product as object
(
id integer,
name varchar2(30),
description varchar2(30),
price number(5,2),
days_valid integer,
--get_sell_by_date() returns the date by which the product must be sold
member function get_sell_by_date return date
);
--对象函数的函数体
create type body t_product as
--get_sell_by_date() returns the date by which the product must be sold
member function get_sell_by_date return date is
v_sell_by_date date;
begin
select days_valid + sysdate into v_sell_by_date from dual;
return v_sell_by_date;
end;
--创建表并引用对象类型
create table products
(
product t_product,
quantity_in_stock integer
);
--向表中插入数据
insert into products (product,quantity_in_stock) values (t_product(1,'pasta','20 oz bag of pasta',3.95,10),50);
select * from products;
--创建对象并自定义松造函数
create type t_person2 as object
(
id integer,
first_name varchar2(30),
last_name varchar2(30),
dob date,
phone varchar2(12),
CONSTRUCTOR FUNCTION t_person2
(
p_id integer,
p_first_name varchar2(30),
p_last_name varchar2(30),
) RETURN SELF AS RESULT,
CONSTRUCTOR FUNCTION t_person2
(
p_id integer,
p_first_name varchar2(30),
p_last_name varchar2(30),
p_dob date
) RETURN SELF AS RESULT
);
发表评论
-
SQL优化规则
2013-01-10 14:47 01、尽量少用IN操作符 基本上所有的IN操作符都可以用 ... -
删除一张表的重复记录(案例)
2013-08-01 17:18 815删除一张表的重复记录(ID是自增唯一主键,重复记录:其他字段都 ... -
oracle查询时特殊字符处理
2013-01-10 14:20 0对于特殊符号可使用ESCAPE 标识符来查找 select * ... -
oracle常用Sql
2013-08-01 17:16 535--查询表空间使用情况 select b.file_id 文 ... -
ORACLE密码过期
2012-07-28 11:23 0---ORACLE密码过期--查询用户的profile信息se ... -
创建ORACLE定时器
2012-07-28 11:22 0--创建ORACLE定时器 --创建存储过程 CREATE o ... -
plsql打印出99乘法表
2012-05-31 14:40 1593declare x int; y in ... -
资源调度例子,存储过程实现
2012-04-19 10:53 0在某一段时间,一个资源(比如:会议室)只能被一个项目组使用: ... -
oracle中文乱码问题
2013-08-01 17:18 628--查询当前的语言环境select userenv('lan ... -
oracle表分区
2012-04-19 09:14 01 范围分区每个分区都由一个分区键值范围指定create ta ... -
oracle表空间、段、区、块之间的关系
2012-03-28 16:57 0oracle表空间、段、区、块之间的关系: (1)、数据库由 ... -
SQLPLUS下的常用命令
2012-02-15 11:24 01 show user 察看用户 2 ... -
oracel函数
2012-02-15 11:19 0函数--和存储过程很相似,区别在于,函数必须向调用其自身的语句 ... -
oracel存储过程
2012-02-15 11:17 0存储过程--一组SQL和PL/SQL语句的组合,使业务逻辑在数 ... -
oracel异常处理
2012-02-15 11:14 0异常--处理错误--EXCEPTION 块--常见异常 语法 ... -
使用 group by 和 having 子句
2012-02-15 10:29 0使用 group by 和 having 子句 原则: s ... -
日志服务器项目写的 存储过程
2011-12-31 11:51 0--update security_log_for_hostd ... -
linux下启动oracle服务与监听
2011-06-18 16:50 1483启动监听:lsnrctl start/stop 启动服务: ...
相关推荐
Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...
在Oracle学习笔记中,对安装卸载和配置的详尽讲解,不仅为学习者提供了操作指导,而且还涉及到了数据库管理的一些基础知识点。这些内容对于数据库管理员和开发人员来说都是十分重要的,因为它们是操作Oracle数据库的...
Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...
### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...
ORACLE学习笔记:日常应用、深入管理、性能优化.part1
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...
全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...
根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ...以上是基于提供的内容整理出的Oracle学习笔记中的关键知识点。通过理解这些基础知识,可以更好地管理和操作Oracle数据库。
### Oracle 学习笔记知识点详解 #### 一、Oracle 数据库简介 Oracle 是一款由美国甲骨文公司开发的关系型数据库管理系统。它以其强大的数据处理能力、高度的安全性及稳定性而闻名于世,在金融、电信、政府等领域...
Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...
在“MSDN Oracle学习笔记”中,我们可以期待找到关于Oracle数据库的详细讲解和实践指导。 首先,Oracle数据库的基础知识是必不可少的。这通常涵盖数据库系统的基本概念,如SQL(结构化查询语言)的使用,数据类型,...
oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记