目录
OracleOraDb11g_home1TNSListener(必须启动)
TIMESTAMP WITH LOCAL TIME ZONE类型
CLOB 类型(Character Large Object)
目录结构
admin目录
cfgtoollogs目录
checkpoints目录
diag目录
flash_recovery_area(闪回区)目录
oradata目录
orcl数据库文件
数据库中的文件介绍
product目录
Oracle 系统用户介绍
sys用户
system用户
sys和system用户在登录时的区别
scott用户
Oracle 启动与关闭
Oracle启动
OracleServiceORCL(必须启动)
OracleOraDb11g_home1TNSListener(必须启动)
如果使用客户端自带的sqlplus则该服务可以不启动
Oracle关闭
Oracle客户端工具
Oracle自带客户端工具SQL PLUS
关闭sqlplus黑窗口:quit或点右上角红色交叉
Oracle第三方工具 PL/SQL Developer
去西西软件园找就行了
其中重要步骤
打开后
关闭其他窗口,留住Object窗口
打开Command Window
打开窗口,可以查询
打开Sql WIndow
对比
command windows 显示字符串 一次一条命令
sql windows 可以看的更清晰 一次可以多条脚本
Oracle的使用
Oracle 的表空间
Oracle 的表空间分类
永久表空间
临时表空间
创建永久表空间命令
在PL/SQL Developer 中选用SQL windows
关键字会表色
路径要写绝对路径
之后创建新用户的时候就可以看到有BJSXT这个永久表空间了
对于临时表空间是不需要手动创建的
注意:只有在sys或system用户下才可以创建永久表空间
创建用户
使用PL/SQL Developer工具新建用户
右键点击new,即可创建用户
例如我们仍然使用上一节的BJSXT
Temporary tablespace和profile可以空
该用户就被添加过来了
我们尝试用这个新建的用户登录一下
发现无法登录,原因是因为oracle需要为每个用户分配权限
分配用户权限(在sys或system下)
上一节我们无法登录BJSXT这个用户,是因为没有授予权限,我们可以通过下面edit来查看和编辑权限
我们可以给该用户分配以下三种权限
对象权限(Object privileges)
角色权限(Role privileges)
系统权限(System privileges)
分配链接权限
为当前用户分配connect链接权限
分配完毕后登录发现可以登录,如下图
尝试创建表,发现权限不足
所以回到sys用户中,为BJSXT用户分配系统权限
分配系统权限
我们再试一次
此时虽然具备创建表的能力,但是不具备对表空间的使用权限
回到sys用户,分配无限制使用表空间权限
再来一次
创建成功
懒人方法(不安全,仅限学习阶段)
直接赋予dba角色权限,这样就不用一个个进行权限赋予了
Oracle 链接配置
文件位置
sqlnet.ora
比如:
(不区分大小写)
bjsxt是用户名
oracle是密码
@后面链接一个标识符,如果不写@,默认是orcl,若写的不是orcl也是可以的
tnsnames.ora
在该文件中内容如下:
即bjsxt链接的就是文件里的ORCL
我们修改一下该文件的内容
配置文件一旦修改,都要重启服务
重启完毕后,再次登录
此时的Database即标识符(刚刚链接的标识符),但是注意刚刚已经修改过了(此时已经是ORCL_TEST了)
果然是错误了,所以我们换成改了之后的
登录成功
ORCL
PROTOCOL
HOST
PORT
listener.ora
LISTENER
PROTOCOL
HOST
PORT
Net Configuration Assistant工具
配置监听程序
该工具会直接配置ora文件,如果选择监听配置,则会直接配置listener.ora这个文件。 即这个工具是可视化工具
Oracle 本地网络服务配置
配置本地网络服务要求
配置方法
服务名也就是上面提到的标识符
主机名是ip地址
网络服务最终都会被添加到tnsnames.ora这个文件中
配置完成后要重启oracle
之后在里面配置的信息,如添加表用户啥的都会映射到网络数据库中,在这里也就是NETORCL这个数据库
Oracle基本操作
数据类型
字符类型
CHAR类型
char是固定长度,如果按照以下的方法查询就会查不到a这个字符串
这是因为数据库中实际上是"a "后面会自动 补全空格
用的是unicode编码,也就是字母 数字 都是占1字符,而中文占3个字符
VARCHAR2类型
NVARCHAR2类型
一律都是使用字符单位来存,也就是字母 数字 中文都是1个字符
数字类型
NUMBER类型
INTEGER类型
浮点数
BINARY_FLOAT类型
BINARY_DOUBLE类型
日期类型
DATE类型
TIMESTAMP类型
TIMESTAMP WITH TIME ZONE类型
TIMESTAMP WITH LOCAL TIME ZONE类型
LOB 类型
CLOB 类型(Character Large Object)
BLOB 类型(Binary Large Object)
NCLOB 数据类型
LONG & RAW & LONG RAW 类型
LONG类型
LONG RAW 类型
RAW 类型
在Oracle中创建表
Oracle表名命名规则
使用带有特殊符号的表名
如果用了双引号指定,之后查表的时候也需要使用双引号指定
数据库中的约束
约束的作用
约束类型
主键约束(Primay Key Constraint)
唯一约束(Unique Constraint)
只能有一个空值
检查约束(Check Constraint)
非空约束(Not Null Constraint)
外键约束(Foreign Key Constraint)
其他约束都可以在创建表的同时配置,而外键约束只能在创建完的两个表后配置
约束操作
常规约束
将原有的列设置主键约束
检查约束
添加检查元素时在Checks中配置,如添加一个年龄的检查约束
非空约束
在Columns配置