- 浏览: 44584 次
- 性别:
- 来自: 福建
最新评论
//修改会话格式;
alter session set nls_date_format='yyyy-mm-dd';
//用系统管理员,查看当前数据库有几个用户连接:
SQL> select username,sid,serial# from v$session;
//如果要停某个连接用
SQL> alter system kill session sid,serial#;
//启动或停止监听;
lsnrctl start/stop;
//启动或停止实例;
net start/stop oracleserviceORA10G;
//约束字段输入内容
alter table stu modify sex char(2)check(sex in ('男',‘女’));
------------------------------------------------------------------------------------------------------------------------------------------------------------
//删除表中的一个字段;
alter table stu drop column XX;
//修改表中的一个字段
alter table [表名] rename column 旧的字段名 to 新的字段名;
alter table [表名] modify column not null、、、;
//修改表所属表空间
alter table table_name move tablespace tablespace_name;
-------------------------------------------------------------------------------------------------------------------------------------------------------------
//用户加锁就是不让被加锁的用户连接数据库;
alter user test account lock;
//约束(constraint)
主键约束 -- 每个表要有主键,唯一的标识一行数据 primary key;
非空约束 not null;
唯一性约束 unique;
外键约束 references 外键表的字段;
检查约束 check(字段 in/between and);
//在加约束的同时给约束取名:
alter table student add constrait 约束名 check(sex in('男','女'))
//删除约束:
alter table student drop constraint 约束名;
//撤销对象权限
revoke select on stu from ll;
//创建用户并分配表空间;
create user mven identified by OracleUserMven
default tablespace mven
temporary tablespace mven_temp;
//删除用户;
drop user army cascade
//查看一个用户有哪些权限;
select * from dba_tab_privs/dba_role_privs where grantee=upper('ll');
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字 ----------------------------------------用户可以赋于他什么权限;
//decode用法
select a.studentid,studentname,subjectname,decode(sign(mark-60),1,'及格',-1,'不及格',0,'刚好') from 表;
//删除表时。应该注意的要点;
drop table books;的指令会将表放到回收站里用 。
flashback table "BIN$1Oiy3qm/QJubov1BwBUOgw==$0" to before drop;//就能恢复原来被你删除的表。
删除表:
drop table books purge;是绕过回收站,彻底删除
建议你先
purge recyclebin;
清除当前用户的回收站,不会影响其他用户的回收站
//创建序列(sequence)-----------------------------------------------------------------------------------------------第三天里有讲;
create sequence seq1 with start(初始值) 0 increment(步长) by 1 maxvalue 100 minvalue 0 cycle(到100后回到1开始);
用法:select seq1.nextval,studentid from student;
//删除序列;
drop sequence seq1;
//同义词
create synonym mtest for mk.test; //为表建立的
//可以为任何对象建立同义词
select * from mtest; //相当于select * from mk.test;
//查数据库中所有的用户;
select user#,name,password from user$;
------------------------------------------------------------------------------------------------------------------------------------------------------------
//数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
//数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
//通过explain plan for可以查看到语句的执行速度;-----------------------------------------
exp: explain plan for select * from stu;
select * from table(DBMS_XPLAN.DISPLAY);
SET SERVICEOUTPUT ON; ------------使用DBMS_OUTPUT.PUT_LINE();先启动这个服务;
-------------------------------------------------------------------------------------------------------------------------------------------------------------
设置保存点:SAVEPOINT 名字; 回退保存点:ROLLBACK TO 名字;
查看过的源码:SELECT text FROM user_source WHERE name='过程名';
查看当前用户所有信息用:user_objects 包括:表、视图、索引、过程、函数和包等。查询类别:object_type
用show errors可以显示错误的原因和位置。如show errors procedure 过程名;
//恢复本机某个时间点的数据库
recover database until time '2008-06-19 13:45:02'; /*恢复*/
//配置归档文件位置:
查看系统是否处于归档模式:archive log list;
//切换归档模式
alter database archivelog;---开启归档;
alter database noarchivelog;----关闭归档;
1.可以配置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,最多只能配置两个归档位置;
2.可以配置LOG_ARCHIVE_DEST_n,最多可以配10个。可以是本地的,也可以是远程的。但不能和上面两个一起使用。
例子:
ALTER SYSTEM SET log_archive_duplex_dest='';
ALTER SYSTEM SET log_archive_dest='';
ALTER SYSTEM SET log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
ALTER SYSTEM SET log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
ALTER SYSTEM SET log_archive_dest_4='service=standby'; //配置远程归档位置时,SERVICE选项需要指定远程数据库的网络服务名(在tnsnames.ora文件中配置);
数据库只读设置:
1.在打开时用:startup open read only;
2.在mount下设置(不能在open下修改):alter database open read only;
查看某表空间中包含有哪些表:
select table_name from dba_tables where tablespace_name=upper('表空间名');
查看字符集:
select * from sys.nls_database_parameters;--查看数据库参数
select * from sys.nls_instance_parameters; --查看客户端参数
select * from sys.nls_session_parameters; --查看会话的参数
如何禁止某IP访问ORACLE?
在$ORACLE_HOME/network/admin/中创建protocol.ora文件╋其?容如下?
tcp.validnode_checking=yes
#下面两行取其一:
tcp.invited_nodes=(ip1,ip2,....) #允许访问的IP
tcp.excluded_nodes=(ip1,ip2,...) #禁止访问的IP
关闭操作系统认证方式:
在sqlnet.ora中开一行
sqlnet.authentication_services=(none);
oracle 优化器优化方式:
4种方式:rule,choose,first_rows,all_rows;
含义:
Rule:不用多说,即走基于规则的方式。
Choolse:这是我们应观注的,默认的情况下Oracle用的便是这种方式。指的是当一个表或或索引有统计信息,则走CBO的方式,如果表或索引没统计信息,表又不是特别的小,而且相应的列有索引时,那么就走索引,走RBO的方式。
First Rows:它与Choose方式是类似的,所不同的是当一个表有统计信息时,它将是以最快的方式返回查询的最先的几行,从总体上减少了响应时间。
All Rows:也就是我们所说的Cost的方式,当一个表有统计信息时,它将以最快的方式返回表的所有的行,从总体上提高查询的吞吐量。没有统计信息则走基于规则的方式。
可通过两种方式设置:
1.修改init.ora文件中的optimizer_mode=rule;
2.alter session set optimizer_mode=rule;
alter session set nls_date_format='yyyy-mm-dd';
//用系统管理员,查看当前数据库有几个用户连接:
SQL> select username,sid,serial# from v$session;
//如果要停某个连接用
SQL> alter system kill session sid,serial#;
//启动或停止监听;
lsnrctl start/stop;
//启动或停止实例;
net start/stop oracleserviceORA10G;
//约束字段输入内容
alter table stu modify sex char(2)check(sex in ('男',‘女’));
------------------------------------------------------------------------------------------------------------------------------------------------------------
//删除表中的一个字段;
alter table stu drop column XX;
//修改表中的一个字段
alter table [表名] rename column 旧的字段名 to 新的字段名;
alter table [表名] modify column not null、、、;
//修改表所属表空间
alter table table_name move tablespace tablespace_name;
-------------------------------------------------------------------------------------------------------------------------------------------------------------
//用户加锁就是不让被加锁的用户连接数据库;
alter user test account lock;
//约束(constraint)
主键约束 -- 每个表要有主键,唯一的标识一行数据 primary key;
非空约束 not null;
唯一性约束 unique;
外键约束 references 外键表的字段;
检查约束 check(字段 in/between and);
//在加约束的同时给约束取名:
alter table student add constrait 约束名 check(sex in('男','女'))
//删除约束:
alter table student drop constraint 约束名;
//撤销对象权限
revoke select on stu from ll;
//创建用户并分配表空间;
create user mven identified by OracleUserMven
default tablespace mven
temporary tablespace mven_temp;
//删除用户;
drop user army cascade
//查看一个用户有哪些权限;
select * from dba_tab_privs/dba_role_privs where grantee=upper('ll');
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字 ----------------------------------------用户可以赋于他什么权限;
//decode用法
select a.studentid,studentname,subjectname,decode(sign(mark-60),1,'及格',-1,'不及格',0,'刚好') from 表;
//删除表时。应该注意的要点;
drop table books;的指令会将表放到回收站里用 。
flashback table "BIN$1Oiy3qm/QJubov1BwBUOgw==$0" to before drop;//就能恢复原来被你删除的表。
删除表:
drop table books purge;是绕过回收站,彻底删除
建议你先
purge recyclebin;
清除当前用户的回收站,不会影响其他用户的回收站
//创建序列(sequence)-----------------------------------------------------------------------------------------------第三天里有讲;
create sequence seq1 with start(初始值) 0 increment(步长) by 1 maxvalue 100 minvalue 0 cycle(到100后回到1开始);
用法:select seq1.nextval,studentid from student;
//删除序列;
drop sequence seq1;
//同义词
create synonym mtest for mk.test; //为表建立的
//可以为任何对象建立同义词
select * from mtest; //相当于select * from mk.test;
//查数据库中所有的用户;
select user#,name,password from user$;
------------------------------------------------------------------------------------------------------------------------------------------------------------
//数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
//数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
//通过explain plan for可以查看到语句的执行速度;-----------------------------------------
exp: explain plan for select * from stu;
select * from table(DBMS_XPLAN.DISPLAY);
SET SERVICEOUTPUT ON; ------------使用DBMS_OUTPUT.PUT_LINE();先启动这个服务;
-------------------------------------------------------------------------------------------------------------------------------------------------------------
设置保存点:SAVEPOINT 名字; 回退保存点:ROLLBACK TO 名字;
查看过的源码:SELECT text FROM user_source WHERE name='过程名';
查看当前用户所有信息用:user_objects 包括:表、视图、索引、过程、函数和包等。查询类别:object_type
用show errors可以显示错误的原因和位置。如show errors procedure 过程名;
//恢复本机某个时间点的数据库
recover database until time '2008-06-19 13:45:02'; /*恢复*/
//配置归档文件位置:
查看系统是否处于归档模式:archive log list;
//切换归档模式
alter database archivelog;---开启归档;
alter database noarchivelog;----关闭归档;
1.可以配置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,最多只能配置两个归档位置;
2.可以配置LOG_ARCHIVE_DEST_n,最多可以配10个。可以是本地的,也可以是远程的。但不能和上面两个一起使用。
例子:
ALTER SYSTEM SET log_archive_duplex_dest='';
ALTER SYSTEM SET log_archive_dest='';
ALTER SYSTEM SET log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
ALTER SYSTEM SET log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
ALTER SYSTEM SET log_archive_dest_4='service=standby'; //配置远程归档位置时,SERVICE选项需要指定远程数据库的网络服务名(在tnsnames.ora文件中配置);
数据库只读设置:
1.在打开时用:startup open read only;
2.在mount下设置(不能在open下修改):alter database open read only;
查看某表空间中包含有哪些表:
select table_name from dba_tables where tablespace_name=upper('表空间名');
查看字符集:
select * from sys.nls_database_parameters;--查看数据库参数
select * from sys.nls_instance_parameters; --查看客户端参数
select * from sys.nls_session_parameters; --查看会话的参数
如何禁止某IP访问ORACLE?
在$ORACLE_HOME/network/admin/中创建protocol.ora文件╋其?容如下?
tcp.validnode_checking=yes
#下面两行取其一:
tcp.invited_nodes=(ip1,ip2,....) #允许访问的IP
tcp.excluded_nodes=(ip1,ip2,...) #禁止访问的IP
关闭操作系统认证方式:
在sqlnet.ora中开一行
sqlnet.authentication_services=(none);
oracle 优化器优化方式:
4种方式:rule,choose,first_rows,all_rows;
含义:
Rule:不用多说,即走基于规则的方式。
Choolse:这是我们应观注的,默认的情况下Oracle用的便是这种方式。指的是当一个表或或索引有统计信息,则走CBO的方式,如果表或索引没统计信息,表又不是特别的小,而且相应的列有索引时,那么就走索引,走RBO的方式。
First Rows:它与Choose方式是类似的,所不同的是当一个表有统计信息时,它将是以最快的方式返回查询的最先的几行,从总体上减少了响应时间。
All Rows:也就是我们所说的Cost的方式,当一个表有统计信息时,它将以最快的方式返回表的所有的行,从总体上提高查询的吞吐量。没有统计信息则走基于规则的方式。
可通过两种方式设置:
1.修改init.ora文件中的optimizer_mode=rule;
2.alter session set optimizer_mode=rule;
发表评论
-
索引组织表
2012-08-14 08:54 0因为表的数据分布跟索引不匹配,造成了很高的CLUSTERING ... -
oracle设置字符集
2010-11-10 13:33 1237查看字符集: select * from sys.nls_d ... -
ORA-01092 数据库打不开的问题原因(数据库升级不成功的问题)
2010-11-10 11:26 7181Oracle10.2.0.1到10.2.0.4升级,升级完成后 ... -
数据热恢复文档
2010-09-28 20:11 996热备份 热备份是在数据库运行的情况下,采用archi ... -
关于JOB
2010-09-27 20:30 834-- ---------------------------- ... -
JOB突然停止工作了
2010-09-26 09:59 3409本文通过一次Oracle Job任务异常案例诊断,分析其原 ... -
SQL语句经典集
2010-08-30 10:50 835用ROWNUM,取表的某段值: select * from ( ... -
LINUX下安装ORACLE 10G步骤详解
2010-07-24 08:50 926相关的安装操作 -
LINUX下ORACLE9I的RMAN的备份和恢复操作
2010-07-24 08:15 9611、转换服务器归档模式,如果已是归档模式可跳过此步: ... -
ORACLE安全原则
2010-07-10 08:09 854一、数据库安全原则 1.只安装oracle必须的组件 ... -
oracle 常用命令
2010-07-01 10:51 667oracle 常用命令文件 -
没有备份数据文件,只有归档文件的完整恢复
2010-06-17 08:52 1206前提条件 1. 归档模式下。 2. 数据 ... -
oracle修改归档模式
2010-06-11 16:30 1055首先查看数据库现有模式可使用以下语句 select name ... -
数据库恢复相关问题
2010-05-30 22:18 665当只有归档日志文件,某个文件丢失时: 采用alter data ... -
用SQL*LOADER,将文本数据导入数据库中
2010-05-11 17:15 991用SQL*LOADER... 首先要写个CTL文件, ... -
oracle调用外部程序小例
2010-05-10 18:24 2395例如: 调用java的存储过程: SQL> crea ... -
oracle 函数结构示例
2010-05-08 10:40 1004FUNCTION 写法: CREATE OR REPLACE ... -
ORACLE EXECUTE IMMEDIATE 用法
2010-05-08 10:21 175312月1日 ORACLE EXECUTE IMMEDIATE ... -
oracle 查看当前用户所有表之间的主外键关系和约束,删除约束
2010-05-08 09:36 4229user_constraints:包括约束的所有信息; use ... -
Oracle 添加外键时的on delete cascade 和on delete set null功能
2010-05-05 18:18 3097------------------------------ ...
相关推荐
总的来说,李兴华Oracle全部笔记是一份全面且深入的Oracle学习资料,不仅适合初学者入门,也对有经验的DBA有着很高的参考价值。通过这份笔记,读者可以系统地学习Oracle数据库的各个方面,提升自己的专业技能。
Oracle数据库是世界上最流行的数据库管理系统之一,特别适合于...通过熟练掌握这些概念,初学者可以逐步深化对Oracle数据库的理解,并提升编程能力。学习和实践这些知识点,将有助于你在Oracle开发领域打下坚实的基础。
Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一..."Oracle培训18天老师笔记"这样的资料将覆盖这些主题,帮助你逐步掌握Oracle的精髓。在实践中不断巩固和提升,才能真正成为Oracle数据库的熟练使用者。
《韩顺平Oracle课堂笔记》是一份详尽的Oracle数据库学习资料,涵盖了多个关键知识点,旨在帮助学习者深入理解并掌握Oracle数据库系统的核心...无论是初学者还是经验丰富的开发者,这份笔记都将提供宝贵的参考和指导。
Oracle初学者笔记.chm 自己写的,全部是都很基础,出血者很有帮助的
本笔记主要面向Oracle初学者,旨在帮助你全面理解并掌握Oracle的基础知识和核心功能。 1. **SQL语句查询**:SQL(Structured Query Language)是用于管理关系数据库的语言。在Oracle中,你可以学习如何插入、更新、...
Oracle是世界上最广泛使用的数据库管理系统之一,它提供了丰富的功能和组件,包括数据存储、查询优化、安全性、并发控制等。...对于初学者来说,通过阅读学习笔记,结合实践操作,可以逐步深入理解Oracle的各个方面。
这个“个人学习Oracle笔记”文件很可能是作者在深入学习Oracle数据库的过程中积累的知识点总结,旨在帮助初学者从基础开始逐步掌握Oracle的核心概念和技术。 Oracle数据库的基础知识包括以下几个主要方面: 1. **...
这份"Oracle实用笔记 命令 文档 PDF"很可能是对Oracle数据库管理、查询和维护的一份详细指南,涵盖了各种关键的Oracle命令和操作技巧。下面我们将深入探讨其中可能涉及的一些重要知识点。 1. **Oracle SQL语法**:...
这篇笔记旨在帮助初学者系统地理解和掌握Oracle技术。 首先,Oracle是全球最大的企业级数据库管理系统之一,广泛应用于大型企业的数据存储和处理。它的强大功能包括事务处理、数据仓库、数据集成和安全性等。 在...
### Oracle初学笔记知识点梳理 #### 一、Oracle 基础操作与概念 ##### 1. SQL 基本操作 - **CRUD**(Create Read Update Delete):这是数据库中最基本的操作,用于创建(Create)、读取(Read)、更新(Update)...
描述中提到这些笔记“适合初学者的Oracle教材”,意味着内容应该是按照由浅入深的顺序进行编排,初学者可以不用依赖其他更高级的资料就能理解其中的大部分内容。同时,它还指出这些笔记可以“配合网上的2011版李兴华...
2. **01-Oracle简介、安裝、配置.pdf**:这部分将涵盖Oracle数据库系统的基础概念,如何安装Oracle软件,以及配置数据库环境,这对于初学者来说是入门的重要步骤。 3. **02-简单查询、限定查询、单行函数.pdf**:这...
根据提供的文件内容,以下是对“李兴华--oracle课堂笔记(全)”所包含知识点的详细说明: 1. Oracle 数据库版本信息 文件内容中提到了多个Oracle数据库的版本号,如Oracle10g、Oracle8i、Oracle9i等。这些是Oracle ...
《Oracle经典笔记》是一份深度探讨Oracle数据库管理系统的综合学习资料。这份笔记涵盖了从Oracle PL/SQL编程到SQL查询语言的广泛主题,旨在帮助读者深入理解Oracle数据库的运作机制和应用技巧。 首先,我们来看看...
总的来说,“MSDN Oracle学习笔记”是一份全面的资源,涵盖了Oracle数据库从基础到进阶的各个方面,无论你是初学者还是有经验的DBA,都能从中受益。通过深入学习和实践,你可以提升自己的Oracle技能,为在实际工作中...
Oracle数据库是全球最广泛使用...李兴华的课堂笔记全面深入地探讨了这些主题,对于初学者和有经验的DBA来说都是宝贵的资源。通过阅读这份笔记,读者可以系统地了解和掌握Oracle数据库的各个方面,提升自己的专业技能。
### Oracle初学者笔记知识点解析 #### SQLplus登录与基本概念 - **登录方式**:通过SQLplus连接Oracle数据库,常用的方式有两种。一是使用程序组,输入用户名(如scott或system),密码(如tiger),以及主机字符...