Oracle的安装及使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/flower_CSDN/article/details/79954005

安装

Oralce的版本号
8i–9i—针对互联网应用的解决方案
10g–11g—针对网格计算的解决方案
12c—针对云计算的解决方案
我安装的是Oracle11g企业版
问题:
运行setup.exe之后,出现环境不满足最低要求的问题
解决途径:
打开你的解压后的database文件夹,找到stage,然后cvu,找到cvu_prereq.xml文件,用记事本打开,增添下面内容

<OPERATING_SYSTEM RELEASE="6.2">
           <VERSION VALUE="3"/>
           <ARCHITECTURE VALUE="64-bit"/>
           <NAME VALUE="Windows 10"/>
           <ENV_VAR_LIST>
               <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
           </ENV_VAR_LIST>
</OPERATING_SYSTEM>

安装完成后,由于Oracle相关服务的内存占用过大,可以将相关服务改为手动
安装的时候就一路傻瓜式安装了,最后装完发现登录的时候不知道该输什么密码,可把人给折腾坏了
看网上的各种说法,输入sqlplus/nolog,默认用户默认密码什么的都没用,气的我想吧它卸载了,后来发现自己之前创建数据库的时候,配置了一个全局的口令,这才进去、
等进去之后,赶紧创建了一个自己的新用户,心累。

Oracle的一些知识点

其实学了一种数据库之后,其他的都差不多啦
常见命令
进入命令行
dbca按照导航创建数据库—一般不建议针对项目创建数据库,而是在同一个数据库中通过用户名【schema】进行区分使用
连接到oracle
sqlplus
切换用户
conn username
常见的命令
查看当前用户 show user
Oracle中所有数据库对象的管理都是基于用户【schema】的,Oracle在安装过程会默认创建3个用户:
sys/change_on_install这个用户具有数据字典的基表,是最高权限用户,不能充当normal用户登录,这个用户一般是供超级系统管理员使用
system/manager这个用户具有数据字典的视图,是次高权限用户,可以充当normal用户登录使用,这个用于一般也是供系统管理员使用
scott/tiger这是用于是一个示例用户,默认处于锁定状态,如果需要使用则应该先进行解锁操作

创建用户
create user 用户名称 identified by 口令;
例如create user yanjun identified by 123456;
用户如果需要进行操作则必须有对应的权限
grant 权限名称 to 用户;
例如grant create session to yanjun;
但是由于权限的颗粒度太小,授予权限的操作太多繁琐,所以Oracle提供了角色。所谓的角色可以理解为一组权限的别名。
dba具有管理员的权限,一般授予给管理人员
resource具有操作资源的权限,一般授予给开发人员
connect只具有最基本的连接等权限,一般授予给最终用户
grant connect,resource,dba to yanjun;
回收权限
revoke 权限名称 from 用户
注意: 授予权限的参数with admin option/with grant option的区别,面试题
oracle:
当给一个用户授予系统权限时带上with admin option,他可以把此权限授予给其他用户、角色,而在revoke授予给这个用户的系统权限时不会级联回收他授予给其他用户的权限。如授予给A用户p系统权限时带有with admin option参数,此时A把系统权限p授予给用户B,然后revoke收回了授予A用户的p权限,这时A授予给B的p权限不会被级联收回,就是说B还拥有p系统权限。
而对象权限的参数with grant option却会级联收回对象权限。如授予给A用户o对象权限时带有with grant option参数,A把o对象权限grant给用户B,此时如果revoke授予给A的o对象权限,会把B被授予的o对象权限也revoke。
mysql:
mysql中只有with grant option,对A用户进行的授权,A可以授予给其他用户,当收回对A的授权时,A授予给其他用户的权限不会被级联收回。注意with grant option也可以被授予给其他用户。重点内容

解锁/锁定用户
alter user 用户名称 account unlock解锁/lock锁定;锁定的用户下的所有数据库对象仍旧存在,但是这个用户不能登录系统

删除用户
drop user 用户名;删除要求用户下不能包含任何数据库对象,否则删除失败。 drop user 用户名 cascade;级联删除

查看当前用户下的所有表
select * from tab;
这个操作也可以通过访问数据字典进行获取。数据字典一般是供系统使用的表,不建议用户直接进行修改操作

查看其它用户下的数据库对象
用户名称【schema】.数据库名称

查看指定表的结构
desc 表名称[;]

Oracle数据类型

1,number整数类型
2,number(p,s)浮点数类型
(刚开始看这可把我纠结死了,网上搜的文章感觉看起来一看就写的很棒的那种结果我测是出来就是不对,只好自己总结了。懒得截图了,先测试的自己试试。)
p,数存储到数据库的最大总宽度,不包括左右两边的0
s,数存储在数据库的精确位数,对输入的数进行四舍五入.s=0时表示整数.
小数点前最多有p-s位,小数点后可以有任意多位.

3,字符类型

针对长度限制允许带有单位[byte默认/char] 一般1个中文占两个byte
定长串 char(n) [1,2000]
如果使用单位char则不区分中英文,每个字符对应一个长
4,变长串varchar2(n [byte/char]) [1,4000]
针对空串的处理:
空串” 和null都视为null
超长串 long 上限是2G
5,日期类型
date日期类型,时间精度到s
默认时间格式为dd-MON-yy。系统函数sysdate可用于获取系统当前时间
2个方式定义时间格式
修改会话时系统的默认格式
时分秒格式
alter session set nls_date_format=’yyyy-MM-dd hh24:mi:ss’;
insert into t4 values(‘2018-04-15 17:16:59’);

Oracle提供了两个系统函数用于自定义格式的日期处理:
to_char
select to_char(coulumnName,’yyyy-MM-dd’) from table;
to_date
insert into tableName vlaues(to_date (‘2019-4-13’,’yyyy-mm-dd’));
dual
在oracle中select sysdate;会出现语法错误,在Oralce的SQL语句中不允许没有from。假设需要计算1+2,这时from应该是谁?
当系统中执行某个计算,但是又没有from对象时,sys用户提供了一个特殊的表sys.dual,同时又定义为公共同义词dual,所有的用户可以直接使用,这个特殊的表可以看作是一个计算器,一般称之为哑元表

Timestamp(n)    [1,9]时间戳类型,时间精度最高允许小数点后9位的秒,一般供系统使用 

6、二进制类型:用于存放二进制数据,一般不使用
raw(n) [1,2000]
long raw 2G

7、大对象类型Lob 上限是4G 分表
Blob 二进制大对象,一般用于存放声音、图像、视频之类的数据
Clob文本大对象,一般用于存储长度较大的字符内容,例如小说
Bfile文件大对象,在数据库中只存放文件指针,具体的数据存放在os管理的文件中.

阅读更多

没有更多推荐了,返回首页