1. 下载并安装oracle10。
(1)一路默认安装,设置好自己的密码。安装完成要运行database configration assistant图形工具创建数据库。有的是默认安装完就运行,如果默认不运行,自己在开始菜单中找到该选项运行(在windows下时)
2. 登录同机sqlplus客户端。
(1)打开命令行控制台,在其中输入sqlplus
命令。
(2)系统会提示输入登陆用户名和密码,一次输入。如用户名:SYSTEM 密码:yourpwd。
当出现 SQL> (在dos控制台下)时,表示登陆成功。
3.创建一个用户。
(1)在登陆sqlplu后,输入:create user somename identified by pwd;
即创建了一个用户名为somename,密码为 pwd 的用户
(2)为用户授予权限:
grant create session to
somename
;
//
授予
somename
连接数据的权限
或为用户授予角色:grant dba to
somename;
(3)修改用户密码:alter user somename identified by otherpwd;
(4)删除用户:drop user somename;
(5)显示用户所拥有的表:select table_name from dba_tables where owner='somename';
(6)显示所有用户:select username from dba_users;
4.查看当前登陆相关信息
(1)查看当前登录数据库
show parameter db_name;
或 select name from v$database;
(2)查看当前sid和servicename
select sid from v$mystat where rownum <=1;
show parameter service
(3)
查看数据库中的所有表 select * from tab;
(4)查看当前数据库版本 select * from product_component_version
5.新建表以及数据操作同标准sql在这里不再赘述。
(1)但是oracle很多地方还是很让人恶心的,比如设定主键自动增长机制。需要用的sequence和trigger,即序列和触发器。这要比起mysql的auto_increment和sql server的identity(1,1)的方便性比较,简直就是十分值得抱怨的事情。好了,现在说怎么实现orcale建表主键的自动增长的例子
a)建立表 create table xtest(id int not null primary key, name varchar(20));
b)建立序列
create sequence xtest_seq
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20;
c)建立触发器
create or replace trigger xtest_trigger before
insert on xtest for each row when(new.id is null)
begin
select xtest_seq.nextval into :new.id from dual;
end;
/
分析原理:主键自动增长是用sequence来完成的,这需要我们在插入的时候指定用哪个sequence来给予值。于是就需要触发器来做这些事情。触发器类似与存储过程,但负责监听。比如上面的触发器监听xtest表的插入事件。当然,我们也可以不用触发器,直接insert into xtest(id, name) values(xtest_seq.nextval, 'johntor');了事。但是谁又会喜欢去写如此的sql语句呢!
(2)显示表设计
desc 表名
这个mysql也有,不用多说。全称命令是describe。
(3)显示已经建立的sequence
select * from user_sequences;
可以有where语句如 where sequence_name = 'YOUR_SEQ_NAME'
(4)关于删除表
我们都会知道用sql如:drop table tablename; ok,执行后,数据库提示你执行成功了,但是在查询一下你的所有表select * from tab;会发现,多了一个类似“
BIN$YkN4S58dTPC/vBboMCNh0A==$0”名字的表
。奇怪吗,其实也不,自己在第一时间想到的就是oracle为了安全起见,让你恢复表数据用
的,事实也的确如此。
a)我们用flashback table "BIN$YkN4S58dTPC/vBboMCNh0A==$0" to before drop;命令乐意恢复我们刚才删除的表。也就是说,我们用的删除语句把一个结构相同而其重命名的表放进了回收站。
b)drop table tablename purge;
可以绕过回收站,直接删除。这样就不能恢复了。
c)执行 purge recyclebin;
命令可清空当前用户的回收站。执行purge table tablename;
命令可以清除回收站内指定的表。记住这里的tablename不是那个很长的字符串,而是自己原来删除前表的是进名字。
6.关于表空间
(1)查询现有表空间情况的sql语句如下:
select
total.tablespace_name tsname,
count(free.bytes) nfrags,
nvl(max(free.bytes)/1024,0) mxfrag,
total.bytes/1024 totsiz,
nvl(sum(free.bytes)/1024,0) avasiz,
(1-nvl(sum(free.bytes),0)/total.bytes)*100 pctusd
from
dba_data_files total,
dba_free_space free
where
total.tablespace_name = free.tablespace_name(+)
group by
total.tablespace_name,
total.bytes;
当然可以用一句话来看都有什么表空间 select tablespace_name from dba_data_files;
(2)表空间的概念:一个数据库从逻辑上来说是由一个或多个表空间所组成,表空间是数据库中物理编组的数据仓库。每一个表空间是由段所组成,一个表空间存放一个或多个数据库的物理文件。一个数据库中的数据被逻辑地存储在表空间上。
更直观一点说,表空间就是由一个或几个数据文件构成的逻辑存储单元。
(3)创建表空间:
create tablespace data01
datafile 'C:/data/data01.dbf' size 500M
uniform size 128k; #默认为64k
(4)删除表空间:drop tablespace data01 including contents and datafiles;
(5)修改表空间大小:alter database datafile 'C:/data/data01.dbf' resize 100M;
(6)移动表到另一个表空间:alter table ztest move tablespace data01;
上面ztest为表的名字data01为表空间的名字
(7)显示属于一个表空间的所有内容信息以及所有者:
select distinct owner,segment_name, segment_type
from dba_extents
where tablespace_name='DATA01';
(8)显示一个表属于哪个表空间:select tablespace_name from tabs where table_name = 'ZTEST';
通过上面关于表空间的一些讲述,我们就会想到在建表的时候,就为表直接指定表空间了,如下:
create table zztest(id int) tablespace USERS;
下面是我没有测试过的,但应该没有什么问题的技巧:
a)给表空间添加数据文件:alter tablespace date01 add datafile d:/data/date02.dbf size 50m;
b)设置数据文件自动扩展:
alter database datafile d:/data/date02.dbf autoextend on next 10m maxsize 500m;
分享到:
相关推荐
2012.9.Oracle三思笔记合集,供大家下载学习。压缩包里共32个PDF或DOC文件,都是整理版的,非常好阅读,谁下谁知道。 [三思笔记]drbd入门与应用.pdf [三思笔记]Linux5版本安装...[三思笔记]一步一步学Streams.pdf
总的来说,Oracle入门PPT1是为初学者提供的一份基础教程,涵盖了从基本的网络连接概念到实际的数据库连接方法,为深入学习Oracle数据库打下了坚实的基础。通过理解和实践这些内容,可以更好地掌握Oracle数据库的使用...
ORACLE 快速入门文档 作为一名 IT 行业大师,我将为您详细解释 Oracle 快速入门文档中的知识点。 首先,让我们从 Oracle 的基本概念开始。Oracle 是美国 Oracle 公司(甲骨文)提供的一组软件产品,以分布式数据库...
### 大数据技术分享 Oracle DataGuard基础入门教程 #### 一、Oracle DataGuard简介与应用场景 **Oracle DataGuard**是Oracle数据库的一项高级复制技术,它能够实现数据在主数据库(Primary Database)和辅助数据库...
接下来是连接Oracle数据库的具体步骤: 1. 首先需要安装Apache和PHP环境。 2. 然后安装Oracle Instant Client,这是一个轻量级的Oracle客户端,提供了连接Oracle数据库所需的基本组件。 3. 在php.ini文件中启用oci8...
### OracleDBA新手入门知识点详解 #### 一、OracleDBA简介 OracleDBA(Database Administrator)是指专门负责Oracle数据库管理的专业技术人员。他们主要负责Oracle数据库的安装、配置、优化、备份与恢复、性能监控...
最后,"[三思笔记]一步一步学RMAN(05)-rman基础知识补充(1).doc" 可能会涉及一些RMAN的高级特性,比如自动备份、备份集和映像副本的区别、RMAN的通道管理、以及如何利用RMAN进行数据库的性能分析和维护。 总的来说...
3. 《涂抹 Oracle 三思笔记之一步一步学 Oracle》 这是一本适合初学者的基础教程,详细介绍了Oracle的基本概念和操作,即使是已经有一定基础的读者也能从中获取新的见解,加深对Oracle数据库的理解。 4. 《基于成本...
非常好的oracle入门书籍,看完您就入门。 资源比较大,分次上传。
对于初学者来说,掌握Oracle数据库的基础知识是踏入IT行业的关键一步。以下是一些关于Oracle数据库入门的重要知识点: 1. **Oracle简介**:Oracle数据库是由美国Oracle公司开发的,它提供了强大的数据管理能力,...
本教程提供了一步一步的指导,旨在帮助用户在Ubuntu 16.04系统上安装Oracle 11gR2数据库。由于安装过程中可能遇到各种问题,建议在实际操作前详细阅读Oracle官方的安装文档,并准备好解决各种可能出现的问题。此外,...
### 一步一步学RMAN(写给初级入门者) #### RMAN简介 RMAN(Recovery Manager)是Oracle数据库管理系统提供的一款强大的数据备份与恢复工具。它不仅能够支持各种类型的备份需求,还能有效处理数据库级别的灾难恢复...
### Oracle 入门知识点详解 ...学习Oracle的基础知识对于从事IT行业的人员来说是非常重要的一步,它不仅能够帮助我们更好地理解和使用这一强大的数据库系统,还能为后续深入学习和研究打下坚实的基础。
在IT领域,数据库连接是应用程序与数据交互的基础。本资源主要涵盖了使用JDBC(Java Database Connectivity)和ODBC(Open Database Connectivity)连接Oracle数据库的方法,同时也涉及到如何处理文本、Access和...
- **SUN与Oracle合并背景**:2009年,Oracle宣布以74亿美元收购SUN Microsystems,此举被视为Oracle迈向云计算的重要一步。 - **云计算核心价值**:随着云计算在企业中的应用日益重要,数据成为核心资产。SUN在高...
在学习和使用Oracle的过程中,掌握视图的相关知识是非常关键的一步。视图不仅能够提高数据查询的效率,还能增强数据的安全性和隔离性。通过创建和使用视图,你可以根据业务需求定制数据的展现方式,使得数据库管理和...
- **SUN与Oracle合并背景**:2009年,Oracle宣布以74亿美元收购SUN Microsystems,此举被视为Oracle迈向云计算的重要一步。 - **云计算核心价值**:随着云计算在企业中的应用日益重要,数据成为核心资产。此次并购有...
总而言之,“Oracle从入门到精通”将带你走过Oracle数据库的每一步,从基础理论到实际操作,再到高级主题,助你在数据库管理领域建立起坚实的知识体系。通过深入学习和实践,你将能够熟练掌握Oracle数据库的使用,...
了解Oracle数据库的基本概念也是入门的重要一步。数据库由多个实体组成,包括表、索引、视图、存储过程等。表是数据的主要容器,而索引可以加速数据检索。视图是虚拟表,它可以根据需要从一个或多个表中选择数据。...
本教程“Oracle快速入门之Oracle初步体验”旨在帮助初学者快速掌握Oracle的基础知识和使用技巧。 首先,了解数据库使用人员的不同层次至关重要。一般用户需要掌握基本的数据库概念和SQL语言;应用开发人员则需要更...