一、Oracle11g 及 Client 客户端的安装和配置
连接之前,准备两样东西:

Oracle11g 和客户端 Client

Oracle11g 百度云链接,提取码:6qwbClient 客户端百度云链接,提取码:kbm2

考虑到安装也是一件麻烦事,推荐一个不错的安装教程。

Oracle11g 和 Client 客户端安装教程

不过人家最后用的可视化图形界面是 PL/SQL Developer,而我使用的是 Toad for Oracle。

这个教程非常的详细,唯一要注意一下的是Oracle客户端的配置问题:

几台电脑先后都使用 Net Configuration Assistant 进行过配置

toad连接postgresql_oracle


但是,都出现一个错误:无监听程序,所以没有配置成功。

toad连接postgresql_toad连接postgresql_02


因此,我采用的都是手动添加 tnsnames.ora文件来进行配置的,配置文件如下:

# tnsnames.ora Network Configuration File: D:\Oracle\product\10.2.0\db_1\network\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLE11G =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oracle11)
   (SID = oracle11)
    )
  )

新建记事本,将上面代码粘贴进去,另存,修改文件扩展名为 .ora。

显示文件扩展名方法如下:

WIN+R,输入control,进入控制面板,找到文件夹选项

toad连接postgresql_表空间_03


将箭头所指的地方的""去掉即可。

toad连接postgresql_表空间_04


将得到的 tnsnames.ora 文件粘贴到 D:\Oracle\product\10.2.0\db_1\network\ADMIN目录下即可。

(安装目录因人而异)

值得一提的是,Oracle从10开始,对 Windows 提供了 instantclient,也就是说,不用装客户端 Client,也能使用 PL/SQL Developer 或 Toad 连接数据库。

TOAD 连接 ORACLE 而不装 ORACLE 客户端的方法

按部就班,来到第二步。

二、下载安装 Toad for Oracle 13.0

主流工具之一,下载13.0足够了。

Toad for Oracle 13.0 百度云链接,提取码:wiro

Toad 安装教程

值得注意的是,初次安装配置 Toad for Oralce 需要首先配置Oracle客户端环境变量。

配置环境变量

设置环境变量:

右击——>我的电脑——>高级系统设置——>高级——>环境变量

toad连接postgresql_表空间_05


系统变量——>新建

toad连接postgresql_表空间_06


分别新建 TNS_ADMIN 、NLS_LANG、ORACLE_HOME 即可。

toad连接postgresql_oracle_07

四、安装,配置完成后,启动连接

打开 Toad for Oracle,自动弹出 “数据库登陆” 窗口

toad连接postgresql_oracle_08


如果在本机配置成功过,在 1 处下拉菜单会出现

toad连接postgresql_数据库_09


在 2 处下拉菜单会出现

toad连接postgresql_表空间_10


然后,user 和 password 使用超级管理员 sys + 密码,Connect as 设为 SysDBA

点击右下角Connect按钮, 连接至Oracle数据库。

注意: Toad确实允许您在“数据库登录”窗口中直接输入连接信息,但是此方法将强制您连接到数据库,并且只有在连接后才能输入一些其他连接信息。

要连接到Oracle Cloud Database,则必须使用“数据库登录”窗口创建和编辑数据库连接,以便通过建立SSH隧道然后通过隧道引导Toad连接来从Toad连接到云数据库。

创建或编辑连接:

1、选择 Session ——> New Connection

toad连接postgresql_toad连接postgresql_11


2、进入到 “ 数据库登陆” 窗口在 “数据库登录” 工具栏上,单击(Add Login Record)以创建连接记录

toad连接postgresql_数据库_12


或者单击(Edit Login Record)以编辑现有记录。

toad连接postgresql_表空间_13


3、添加登陆记录窗口

toad连接postgresql_oracle_14


1处>填写要创建的 用户/架构密码 字段2处>选择一种连接方式

toad连接postgresql_表空间_15


3,4,5处>配置其余参数

toad连接postgresql_表空间_16


6处>保存密码和自动登陆

toad连接postgresql_toad连接postgresql_17


连接成功,进入软件。

toad连接postgresql_toad连接postgresql_18

五、简单操作

(1)、点击左上角Schema Browser 按钮, 进入用户浏览器页面, 如图,出现用户下的所有表。

toad连接postgresql_表空间_19


(2)、点击左上角 Editor 按钮,打开 SQL Style。

toad连接postgresql_表空间_20


或者,Editor——>New Tab——>SQL Style

toad连接postgresql_表空间_21


(3)、写一段查询语句,点击执行:三种方式:

—— F9是直接运行,环境变量套用toad自己的

—— F5是新开启一个session,并会调用glogin.sql来执行

—— ctrl+回车没用过,试了下,和F9一样的

toad连接postgresql_oracle_22


执行结果如下:

toad连接postgresql_数据库_23

六、正题——创建表空间、创建用户并指定该用户的表空间、授权

第一步:创建表空间

(1)创建永久性表空间

存储数据库对象,以及表数据。与临时表空间最大的区别是数据永久性,不会被系统自动清空。

create tablespace tf_test --表空间名
logging 
datafile 'd:\oracle\oradata\orcl\tf_test.dbf' --数据存储地址
size 50m --初始大小
autoextend on --自动扩增
next 50m maxsize 20480m --50m的增,最大不超过20480m
extent management local; /*设置表空间的区管理为本地管理,
						 为的是减少分配extent的时候产生的内部递归sql
						 提高数据库分配空间的效率*/

(2)创建临时表空间

用作数据库运算过程中的数据存储,或临时表数据存储等。用完之后系统会自动清理。若不创建则使用系统默认的临时表空间TEMP。

create temporary tablespace temp1 --临时表名--
tempfile 'D:\oracle\oradata\orcl\temp1.dbf'
size 50m
autoextend on
next 32m maxsize 2048m
extent management local;

附录一:数据文件新增及修改

  • 为表空间添加数据文件

当表空间对应的数据文件已经增长到上限值(自己设置的上限值,或者32g),此时则需要为该表空间新增一个数据文件。

ALTER TABLESPACE DB_DATA ADD DATAFILE 'd:\oracle\oradata\orcl\tf_test.dbf' 
SIZE 50M
AUTOEXTEND ON NEXT 5M 
MAXSIZE 100M;
  • 已存在的数据文件属性修改
ALTER DATABASE DATAFILE 'd:\oracle\oradata\orcl\tf_test.dbf'
AUTOEXTEND ON NEXT 5M 
MAXSIZE 100M;
  • 已存在的数据文件大小调整
ALTER DATABASE DATAFILE 'd:\oracle\oradata\orcl\tf_test.dbf'
RESIZE 100M;

第二步:创建用户并指定表空间

sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限
system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限
登录系统用户(sys/system),创建一般用户。用户指定的profile是限制数据库用户使用资源的一种手段。

创建用户:
create user TFme identified by Tf2020 --设置用户名和密码

(1)指定表空间
DEFAULT tablespace tf_test; --指定到表空间
(2)指定到临时表空间
temporary tablespace temp1; --指定到临时表空间

第三步:给用户授予权限

oracle中权限分为系统权限和对象权限。可以直接授权,也可以通过授予角色得到角色的权限。对于表空间默认是无限额的,不建议让用户在其他表空间随意建表。一般授予
connect,resource即可。

--把角色授予用户,该用户也将拥有该角色的权限
grant connect to username; --连接数据库
grant resource to username; --创建数据库实体(表,过程等)
grant dba to username; --创建数据库结构
 
--针对表空间使用
grant unlimited tablespace to username; --用户可以再其他表空间随意建表,且无限额
 
--系统权限(此处列举几个)
grant create cluster to username;
grant create procedure to username;
grant create synonym to username;
grant create trigger to username;
grant create view to username;
grant create JOB to username;
grant drop any table to username;
 
--对象权限(此处列举几个)
grant delete any table to username;
grant update any table to username;
grant insert any table to username;
grant select any table to username;

附录二:删除

(1) 删除用户

注意,删除用户时,经常会碰到有人正在连接,无法删除。需要登录系统用户(sys/system)批量强制关闭连接。

--执行查询出来的内容即可
select 'alter system kill session' '' || sid || ',' || serial# || ''';'
from v$session 
where username = 'XXX'; --填写需要删除的用户名

清除连接之后,就可以在sys用户下删除用户了,若用户下已存在对象,则需要带上 cascade,否则执行报错。

drop user XXX cascade;

(2) 删除表空间

--删除表空间
drop tablespace XXX;
--删除表空间同时删除对应的数据文件
drop tablespace XXX including contents and datafiles;

注意:以上脚本执行顺序:创建表空间–>创建用户。删除用户–>删除表空间。

我写的比较简便,推荐一位写的比较全面的:

oracle表空间 数据文件 用户的创建及删除

over.