Oracle数据库的安装及使用教程

本教程主要根据慕课网视频:Oracle数据库开发必备利器之SQL基础 整理

一、Oracle数据库的下载

下载地址:https://www.oracle.com/index.html

(1)

不建议选择此页面的数据库客户端界面下载Oracle的Client,因为与数据库版本匹配一致的Client可能没有(主要是oracle11.2.0.1.0的客户端没有,所以想下载客户端请到1.2)

选择11g,点击进入选择数据库页面,注意选择下载的数据库版本

二、Oracle数据库的安装

参考文章:
(1)Oracle11g安装教程_Qxw1012的博客-CSDN博客_oracle下载安装教程

(2)推荐:Oracle 11 安装教程(桌面类) - 追梦滴小蜗牛 - 博客园

注意:Database Control URL是:https://localhost:1158/em   (是https,不是http)

普通管理员:system,密码:设置的口令

超级管理员:用户名:sys,密码:设置的口令

三、PL/SQL的下载、安装、配置

本次使用的是PL/SQL的解压版,无需安装。

PL/SQL解压后,找到plsqldev.exe双击打开,当显示登陆的时候,点击cancel,进入到PL/SQL界面后

然后配置与数据库版本一致的oci.dll,这里的Oracle Home和OCI Library都是可以手动输入的,所以手动输入oci的所在目录,然后点击OK完成配置。

重新启动PL/SQL,然后在登录界面输入

(1)username:用户名

(2)Password:口令

(3)Database:数据库地址,如果PL/SQL和Oracle在同一台电脑上,则不需要输入地址,只输入orcl即可;如果PL/SQL和Oracle不在同一台电脑上,则要加上Oracle所在电脑的IP地址。

(4)Connect as:以什么权限连接,如果是普通用户,Normal;一般默认即可。

用户名和口令,数据库,以什么权限连接

四、Oracle数据库的操作

4.1查看当前登录用户:

show user;

4.2查看表结构:

desc dba_users;

4.3启用锁定的用户:

alter user username(用户名) account unlock;

4.4表空间:

4.4.1表空间概述:

(1)理解表空间:

  • 表空间与数据库:表空间实际上是数据库逻辑上的存储空间,可以理解为在数据库中开辟一片空间用来存储数据。所以一个数据库可以有多个表空间来构成。Oracle的优化也是通过表空间来实现的。
  • 表空间与数据文件:表空间是由一个或多个数据文件来构成的,数据文件的大小和位置由用户来决定。我们往Oracle里存储的数据实际上是存储到表空间下的数据文件中的。

(2)表空间分类:

  • 永久表空间:用于存储需要永久存储的一些对象,比如:表、视图、存储过程等。
  • 临时表空间:用于存储数据库操作当中,中间执行的过程,执行完成之后就会被释放掉,它不会进行永久性的保存。
  • UNDO表空间:用于保存事务所修改数据的旧址(即修改之前的旧数据,便于回滚)。

4.4.2查看用户的表空间:

(1)dba_tablespaces、user_tablespaces数据表:

  • dba_tablespaces:系统管理员级查看的数据表。
//查看数据结构
DESC dba_tablespaces;
select tablespace_name[,status] from dba_tablespaces;

  • user_tablespaces:普通用户登录查看的数据表。
select tablespace_name from user_tablespaces;

(2)dba_users、user_users数据表:用来查询用户。

(3)设置用户的默认或临时表空间:

ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name;

注意:普通用户没有这个权限,管理员可以修改,也可以为普通用户设置。

4.4.3创建、修改、删除表空间:

(1)创建表空间:

//永久表空间
CREATE TABLESPACE tablespace_name DATAFILE 'xx.dbf' SIZE xx;

//临时表空间
CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE 'xx.dbf' SIZE xx;

DATAFILE:设置表空间数据文件,xx.dbf是数据文件的名称,最好设置数据文件的所在路径。

SIZE:设置数据文件大小。

//创建永久表空间,数据文件大小可扩展
CREATE TABLESPACE tablespace_name DATAFILE 'xx.dbf' SIZE 10M autoextend on next 50M maxsize unlimited;

追加:

创建用户  随便分配表空间

CREATE USER username IDENTIFIED BY "123456" DEFAULT TABLESPACE TEST profile DEFAULT ACCOUNT UNLOCK;

给用户最高权限

GRANT dba TO username;

查询目录:

SELECT * FROM dba_directories;

创建数据导入/出存储地址

CREATE DIRECTORY mydatas AS 'D:\oracleData';

导入数据:

impdp 用户名/密码@orcl transform=segment_attributes:n directory=mydatas[导入文件所在路径] dumpfile=XX.DMP remap_tablespace=TEST:XX remap_schema=ptuser:ptuser7 logfile=ims20171123.log  

注意:transform=segment_attributes:n忽略expdp导出时附带的相关表空间和存储子句约束  
注意:remap_schema 前者是导出用户后者是导入用户
注意:remap_tablespace=a:b 前者是导出表空间,后者是导入

导出数据:

expdp 用户名/密码6@orcl schemas=ptuser3 directory=mydatas dumpfile=xx.dmp version=11.2.0.1.0

注意Oracle数据库导入导出时需要保持数据库版本一致,所以在导出数据时,version必须设置对。

(2)查看永久表空间所在路径:

  • 查看数据文件所在数据表结构,在命令行中使用sqlplus使用此命令
DESC dba_data_files;
  • 查看数据文件及表空间信息
SELECT file_name,tablespace_name FROM dba_data_files;

(3)查看临时表空间所在路径:

  • 查看数据文件所在数据表结构,在命令行中使用sqlplus使用此命令
DESC dba_temp_files;

(4)修改表空间(永久表空间):

  • 修改表空间的状态

①设置在线或离线状态:(默认在线)

//在线
ALTER TABLESPACE tablespace_name ONLINE;

//离线
ALTER TABLESPACE tablespace_name OFFLINE;

②查看表空间的状态:

请看4.4.2查看用户的表空间节内容;

③设置只读或可读写状态:(默认可读写状态)

//只读
ALTER TABLESPACE tablespace_name READ ONLY;

//可读写
ALTER TABLESPACE tablespace_name READ WRITE;

注意:只有表空间是在线状态才能修改此处的状态。

  • 修改表空间数据文件

①查看表空间的数据文件:

dba_data_files 中可查看

②增加数据文件:

ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx;

③删除数据文件:

ALTER TABLESPACE tablespace_name DROP DATAFILE 'xx.dbf';

注意:不能删除默认的数据文件,即表空间中只有一个数据文件时无法删除。

(5)删除表空间:

//删除表空间,不删除表空间里的数据文件
DROP TABLESPACE tablespace_name;

//删除表空间,同时删除表空间里的数据文件
DROP TABLESPACE tablespace_name INCLUDING CONTENTS;

4.5数据表

4.5.1数据表概念

(1)数据表是存储在Oracle数据库的表空间中

(2)表是数据的基本存储单位

(3)二维结构:由行和列组成

4.5.2数据表中的数据类型

(1)字符型

CHAR(n):固定长度的类型,n最大为2000;

NCHAR(n):固定长度的类型,n最大为1000,按照Unicode格式来存放数据【常用来存储汉字】;

VARCHAR2(n):可变长度的类型,n最大为4000;

NVARCHAR2(n):可变长度的类型, n最大为2000;

(2)数值型

NUMBR(p,s):p代表几位有效数字,s代表保留几位小数;

FLOAT(n):保存二进制数据;

(3)日期型

DATE:表示范围—》公元前4712年1月1号到公元9999年12月31号,可以精确到秒;(常用)

TIMESTAMP:时间戳,可以精确到小数秒,比DATE更精确。

(4)其他类型

BLOB:存放二进制的数据,二进制数据一般指的是文件数据,包括音频、视频、文件等。

CLOB:以字符串形式存放二进制的数据;

4.5.3管理数据表

(1)创建表

同MYSQL的语法,略

(2)修改表

同MYSQL的语法,略

(3)删除表中数据

//删除表中全部数据
TRUNCATE table_name;

(4)删除表

//删除表中全部数据
DROP TABLE table_name;

五、其他SQL

5.1删除数据表的步骤:

5.1.1把已经禁止的外键打开:

SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints where CONSTRAINT_TYPE = 'R';

5.1.2拼接删除语句

SELECT 'DROP table '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;

5.1.3复制查询出的删除语句并执行

  • 36
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值