文档章节

Oracle Database基础

bithup
 bithup
发布于 2017/08/09 13:06
字数 1052
阅读 11
收藏 0

一、安装与连接

1.下载Oracle Database express edition

可用Oracle账号

2425859797@qq.com

lyhJ0070998

2.安装,安装过程会提示设置system用户的密码

3.CMD登录,输入sqlplus命令,使用system用户登录

4.使用navicat连接

在navicat中新建Oracle连接,填写连接属性

Connection Name: 任填

Connection Type: Basic(还有一种类型TNS)

Host Name/IP Address: localhost(IP或主机名)

Port: 1521(默认,可在listener.ora文件中修改)

Service Name/SID: ORCL(listener.ora文件中没有这个SID连接,需要手动添加,expression版默认是XE)

User Name: system

Password: 123456

错误

错误一:ORA-12514: TNS:listener does not currently know of service requested in connect descriptor。原因是listener.ora文件中没有SID为ORCL的连接信息,需要添加。

错误二:ORA-12518:TNS:listener could not hand off client connection因为使用的是expression版,Service Name应该改为XE。

二、Oracle中的用户角色与权限

  • sys 的角色是sysdba;system 的角色是sysoper
  • sys 具有create database的权限 system没有该权限
  • dba是一种role对应的是对Oracle实例里对象的操作权限的集合。
  • sysdba不是权限,当用户以sysdba身份登陆数据库时,登陆用户都会变成sys。
  • sysdba 是系统权限,dba是用户对象权限;sysdba身份登陆可以打开,关闭数据库,dba不行。
  • sysdba,是管理oracle实例的
  • Oracle数据库中Schema和User的关系是一一对应的;决定用户访问的表的范围。
  • Oracle中的tablespace(表空间),对应一个数据文件,如 .ora文件;一个用户只属于一个表空间

CMD中使用sys用户登录,用户名后加“as sysdba”:sys as sysdba

问题:哪些用户登录时可以使用as sysdba或者as dba选项?

新建Oracle实例

用户默认密码

system 密码:manager
sys 密码:change_on_install
scott 密码:tiger(默认未解锁)

显示当前用户:show user

登录sys或system用户,创建自己的用户

create user scott identified by tiger;

授权

grant dba to scott; --授予dba(database administrator)权限
grant connect, resource to scott;
grant unlimited tablespace to scott;--授予不限制的表空间
grant select any table to scott; --授予查询任何表
grant select any dictionary to scott;--授予 查询 任何字典 

删除用户

cascade为可选,级联删除用户下对象

drop user scott [cascade];

查看Oracle实例有哪些用户(dba_users表)

desc dba_users;
select username,account_status from dba_users;
查看当前用户和所有用户
select * from all_users;
select * from user_users;
查看角色(登录用户)权限
select * from role_sys_privs;
查看用户或角色权限
select * from dba_sys_privs;
select * from user_sys_privs;
查看所有角色
select * from dba_roles;
查看那些用户具有sysdba或sysoper系统权限
select * from v$pwfile_users

解锁用户(例如:解锁OUTLN用户)

alter user outln account unlock;
alter user outln identified by outln;

查看用户有哪些表

select * from tab;

/*或*/

select table_name from user_tables where [rownum<=3];

user_tables 是查自己所有表
all_tables 全部表
dba_tables 全部表

三、创建表空间,用户和表

创建表空间

CREATE TABLESPACE [表空间名称] 
LOGGING DATAFILE [文件路径/文件名.ora] 
SIZE [初始容量,M为单位,如500M] 
autoextend on next [扩展容量大小] 
maxsize [最大容量]
[extent management local];

创建用户并指定表空间 

CREATE USER [用户名称]
PROFILE default 
IDENTIFIED BY [用户密码] 
DEFAULT TABLESPACE [授权访问的表空间名称] 
TEMPORARY TABLESPACE temp 
ACCOUNT UNLOCK;

为用户指定表空间

ALTER USER [用户名] DEFAULT TABLESPACE [表空间名];

1、一个用户只能属于一个表空间
2、同一个数据库用例中,用户名是不能重复的
3、不同用户中可以创建同名的表
4、表空间创建后需要创建用户后才能使用,因为任何数据库对象都需要建立在一个数据用户上
5、连接dba权限的用户可以直接访问其他用户的数据库对象,否则需要相关用户授权
6、访问其他用户的数据库对象是时需要加上对象所属用户的用户名

查看Oracle实例下的所有表空间

select tablespace_name from dba_tablespaces;

 创建表

CREATE TABLE student(
id number(2) NOT NULL PRIMARY KEY,
name varchar2(30) default ' ' NOT NULL);

插入一条记录,查询表

INSERT INTO student (id,name) VALUES (001,'jim');
SELECT * FROM student;

 

© 著作权归作者所有

共有 人打赏支持
bithup
粉丝 8
博文 101
码字总数 82172
作品 0
西城
程序员
私信 提问
Oracle数据库学习的福利来啦——最佳入门经验分享

适用人群:从事数据库技术实施或售后工程师,准备参加OCA,OCP认证考试 通过学习对Oracle数据库的相关基础知识进行梳理,最终共同提炼出必须最先掌握的那部分知识,无论你是数据库开发、管理、...

让往事随风
2016/04/13
34
0
Oracle基础篇 --- 数据库启动

启动Oracle DB 实例 ![此处输入图片的描述][1] 1.1 NOMOUNT 在创建数据库期间、重新创建控制文件期间,或执行某些备份和恢复方案期间,通常只在NOMOUNT 模式下启动实例。 启动实例过程包括执...

wangbinbin0326
2015/05/26
0
0
资料整理——Oracle基本概念、术语(Glossary from Oracle Concepts)——第九部分

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpdlzu80100/article/details/84872664 《Oracle Concepts》是介绍oracle数据库的基础概念的入门书籍,学习这...

预见未来to50
12/07
0
0
冷水泡茶/docker-oracle11g

项目介绍 基于Oracle Linux 7.5实现了Oracle Database 11gR2 企业版容器化运行; 本脚本仅用作研究如何把oracle database制作成镜像,请勿作商用,谢谢. 有疑问请联系:rancococ@qq.com 前期准备...

冷水泡茶
05/13
0
0
ORACLE字符集基础知识

概念描叙 ORACLE数据库有国家字符集(national character set)与数据库字符集(database character set)之分。两者都是在创建数据库时需要设置的。国家字符集主要是用于NCHAR、NVARCHAR、NCL...

breakawaylove
2014/10/13
78
1

没有更多内容

加载失败,请刷新页面

加载更多

自定义 Maven 的 repositories

有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的<repositories>。 ...

waylau
29分钟前
1
0
徒手写一个es6代码库

mkdir democd demonpm initnpm install -g babelnpm install -g babel-clinpm install --save-dev babel-preset-es2015-node5 在项目目录创建两个文件夹 functional-playground ......

lilugirl
30分钟前
2
0
linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

1.jps找出进程号,找到对应的进程号后面才好继续操作 2.linux查看进程详细信息 ps -ef | grep 进程ID 3. dump内存信息 Jmap -dump:format=b,file=YYMMddhhmm.dump pid 4.top查看cpu占用信息 ...

noob_chr
30分钟前
1
0
Android TV开发-按键焦点

写在前面 按键焦点过程了解 2.1 dispatchKeyEvent 过程了解 2.2 焦点查找请求过程了解 1.2.1 第一次获取焦点 1.2.3 按键焦点 焦点控制 焦点记忆 应用场景 参考资料 [TOC] 1. 写在前面 工...

冰雪情缘l
30分钟前
1
0
java框架学习日志-3

这章主要是补充一些ioc创建对象的方式,ioc容器在写好<bean></bean>的时候就已经创建对象了。在之前的例子中,一直都是无参的构造方法。下面给出有参的构造方法的对象的创建,没有什么难点重...

白话
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部