1、一般在本地使用PL/SQL 第三方工具操作Oracle数据库,首先你的机器上得有oracle的客户端client,下一个就行了,很小
2、首先找到你下载的oracle的客户端的包,找到tnsnames.ora这个文件打开,在里面配置上这些参数
lsrz =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.45)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
)
)
具体参数根据请情况配置
3、打开PL/SQL,Tools->preferences->
oracle home配置为oracle客户端的路径,我的是D:oralce10g client
oci library配置为oracle客户端中D:oralce10g clientoci.dll的路径
4、配置环境变量
我的电脑->属性->高级->环境变量->系统变量->新建
变量名:TNS_ADMIN
变量名为:D:oralce10g client
5、重新打开PL/SQL ,登录
Oracle数据库笔记
oracle的存储结构和mysql区别很大,作为数据库业界大牛,有些概念很绕口,也很烧脑,以前没怎么注意这些,借这次项目机会,参阅了许多博客之后,终于稍微有些拨云见日的感觉
如下是Oracle存储模型,逻辑结构在左,物理结构在右,编程人员只处理逻辑结构,让数据库去管理到物理结构的映射
Logical Physical
Database
Tablespace(表空间) -———————— OS file
Segment (段)
Extent(区)
Oracle data block(块) ———————— OS block
Database:数据库,一个数据库可以拥有若干个表空间
Tablespace:表空间,表空间不属于用户,用户在建表的时候需要指定这张表建在哪个表空间里,每个用户可以在不同的表空间里建表,这意味着表只需要知道表名和用户名(这张表属于哪个用户)就可以确定下来。同时,同一个表空间下可以有相同的表名,这里只是单独的表的名字,不是这张表的全名(用户名.表名)这个已经做过验证,让两个不同的用户在同一个表空间下建了两个同名的表
Segment :存在于表空间中,包含若干个区,其他的不做深入了解
Extent:由相邻的数据块组成
block:数据库中最小的I/O单元,db_block_size在创建库的时候给出,一般默认为8k,创建完之后一般不能再修改
重点讲讲表空间:
oracle表空间按照使用类型分为永久性表空间,临时性表空间和回滚表空间,和我们打交道最多的是前两种
oracle 10g版本创建数据库时初始表空间有5个SYSTEM,UNDOTBS1,SYSAUX,TEMP,USERS
(1)永久性表空间
包括创建数据库时系统默认创建的系统表空间以及用户创建的表空间
当用户没有指定表空间时,这个用户使用默认系统表空间(system),和默认临时表空间(temp).
设置默认(临时)表空间的命令:
alter database default [temporary] tablespace tblspace_name
查看用户默认使用的表空间的命令:
select username,default_tablespace,temporary_tablespace
from dba_users
where username = 'ZTSJ';//用户名要大写
查看所有表空间命令:
select * from dba_tablespaces
(2)、临时性表空间
临时性,简单的说,用来存放临时性的东西的,比如你查询的结果集,临时表,数据库复杂查询操作(比如排序分组查询等)经常要用到临时表空间,查询实例的临时表空间命令上面已经给出。
下面讲讲如何创建表空间,用户,及授权
创建完 数据库后并不能直接就开始建表,必须先创建该数据库的用户,然后给这个用户指定一个表空间
一个大的数据库中一般有几个表空间,需要给这个数据库创建几个用户并给每个用户指定表空间并授权,这样每个用户就可以独立操作自己的资源,互不干扰。这个和mysql基本上完全不同,不可以用mysql的方式去类比
1、假设现在建好了将oracle10g安装在了D盘,已经建好了一个名为YbTest的数据库,此时在D:/appAdministratororadata目录下会有一个YbTest目录。
2、创建用户之前要先创建临时表空间,若不创建则默认临时表空间为temp
CREATE TEMPORARY TABLESPACE YB_TEMP
TEMPFILE 'D:appAdministratororadataYbTestYB_TEMP.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MASIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
3.创建用户之前先创建数据表空间,若不创建则默认为永久性表空间system(系统表空间)
CREATE TABLESPACE YB_DATA //表空间名字,任意取名
LOGGING
DATAFILE 'D:appAdministratororadataYbTestYB_DATA.DBF' //存放位置。YB_DATA.DBF文件名任意取
SIZE 32M //表空间的大小
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
4、创建用户(用户名密码以及指定临时表空间和数据表空间)
CREATE USER YB IDENTIFIED BY 123123
ACCOUNT UNLOCK
DEFAULT TABLESPACE DB_DATA
TEMPORARY TABLESPACE DB_TEMP;
4、给YB授权
执行以下两个命令后便可让你建表了
GRANT CONNECT,RESOURCE TO YB; --表示把 connect,resource权限授予YB
GRANT DBA TO YB; --表示把 dba权限授予给YB