目录

  • Oracle 数据库学习
    • 1. Oracle数据库
      • 1.1 简介
      • 1.2权限分类:
    • 2. 用户管理
      • 2.1用户操作
      • 2.2表操作
      • 2.3关闭数据库
      • 2.4其他操作
    • 3. Oracle 重要文件
      • 3.1参数文件
      • 3.2控制文件
      • 3.3 Redo日志管理

Oracle 数据库学习

1. Oracle数据库

1.1 简介

  1. Oracle是用户创建模式空间,区别于MySQL
  2. 用户用于连接数据库,并管理用户下的对象(tables,views,indexes等)
  3. Oracle可以通过角色授权
  4. 进入Oracle环境:
    su - oracle
  5. 进入SQL环境:
    sqlplus /as sysdba

1.2权限分类:

  1. DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
  2. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
  3. CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
    例:select,update,alter,index,delete都是权限

2. 用户管理

2.1用户操作

  1. 创建用户:
    create user 用户名 identified by 密码
  2. 查询用户:
    select username,default_tablespace,temporary_tablespace from dba_users
  3. 视图:dba_xxxs,user_xxxs数据字典视图 v$xxx 动态性能视图
    select tablespace_name from dba_tablespaces
  4. 查用户:
    查看用户会话信息:
    select username,sid,serial#,machine from v$session
    删除用户会话信息:
    alter system kill session ‘sid,serial#’
  5. 创建表空间:
    create tablespace 名字
  6. 授权用户:
    grant ... to 名字
  7. 修改用户密码:
    alter user 名字 identified by 密码
  8. 锁定用户:
    alter user 用户名 account lock
  9. 解锁用户:
    alter user 用户名 account unlock
  10. 删除用户
    drop user 用户名
  11. 取消用户授权
    revoke RESOURCE from 用户名

2.2表操作

  1. 创建表:
    create table 表名(id member(7),name varchar(11))
  2. 插入数据:
    insert into TEST(id,name) values (33,'Jihome')
  3. 查看角色权限:
    select * from dba_sys_privs where grantee in ('RESOURCE','CONNECT') order by 1
    select * from dba_role_privs a where a.grantee ='用户名'
  4. 查看对象权限:
    select * from dba_tab_privs a where a.grantee = '用户名'
  5. 查询系统权限:
    select * from dba_sys_privs a where a.grantee = '用户名'

2.3关闭数据库

  1. 立即关闭数据库(最快)
    shutdown immediate
  2. 正常关闭数据库
    shutdown normal
  3. 直接关闭数据库(一般不操作)
    shutdown abort

2.4其他操作

  1. 设置输出格式:
    set linesize 200
  2. 重复上一行语句:
    sql > /
  3. 指定列显示长度
    col member for a30

3. Oracle 重要文件

3.1参数文件

  1. spfile:动态的二进制参数文件,在线参数文件 spfile<sid>.ora
  2. pfile:静态的文本类型参数文件,离线的 init<sid>.ora
    注:这两个文件可以相互转换
  3. 查看:
    show parameters spfile
    注:如果有值,说明基于spfile启动的,如果无值,说明基于pfile启动的。
  4. 互相转换:
    create pfile from spfile
    create spfile from pfile
  5. 一般修改,维护,主要是操作pfile
SQL>shutdown immediate
SQL>create spfile='/uo1/app.../dbs/spfileorcd.ora’ from pfile = '/tmp/initorcd.ora'
SQL>startup

注:sfile参数文件里,包含了控制文件路径,归档文件路径,进程数量等重要参数

  1. 数据库启动的三个阶段
    nomount --> mount -->open
    注:读完参数文件进入nomount状态;读完控制文件进入mount状态
  2. 手动制定pfile启动数据库
shutdown immedate
startup pfile='/tmp/aa.ora'

注:如果参数文件丢失,可以手动创建参数文件,指明控制文件路径,启动数据库

  1. 修改参数文件的三种模式
    alter system set process = 300 scope spfile
    注:scope=both(默认,立即启动,全部修改);spfile(下次启动修改);memory(立即生效,但下次启动失效)

3.2控制文件

  1. 主要内容
  • 数据文件和日志文件列表
  • 表空间信息
  • 当前重做日志文件序列号(SCN)
  • 归档日志信息
  • 数据库名称和SID标识
  • 检查点信息
  • 备份数据文件信息
  • 回滚段的起始和结束
  1. 查看控制文件
SQL> select name from v$controlfile
SQL> show parameter controlfiles

注:控制文件一般有多个,每个都是一样的

  1. 控制文件备份
    cp control01.ctl /u01/controlbak/control02.ctl
    注:先shutdown,然后拷贝文件至其他目录即可。控制文件很重要,一定要做好备份。控制文件存放在多个地方,放入启动参数文件中更安全,不怕会丢失启动不了数据库。

  2. 查看数据文件

SQL> desc dba_data_files
SQL> select file_name from dba_data_files
  1. 查看日志文件
SQL> desc v$logfile
SQL> select group#,member from v$logfile

3.3 Redo日志管理

  1. 查看日志组信息
    select * from v$log
    注:redo是在线日志,不能直接备份,需刷写到ARC中,才可备份,用于恢复
    ARC是离线日志,可以理解为redo的副本
  2. 添加日志组
    alter database add logfile group4('/oradata/orcl/redo04a.log','/oradata/orcl/redo04b.log) size 200M
  3. 添加日志成员
    alter database add logfile member '/oradata/redo04c.log' to group4
    注:为什么添加日志?实际工作中,随着业务量增大,操作数据库变得频繁,日志文件读写切换太快,导致出现检查点等待问题,一般通过增加或增大重做日志文件,或者直接一起增加日志文件组来解决性能问题。
  4. 实例:全库备份脚本
vim fullbak.sh
export ORACLE_BASE = /u01/app/oracle/
export ORACLE_HOME = $ ORACLE_BASE/product/11.3/db_1
export ORACLE_SID = testdb
export NLS_LANG = AMERICAN_AMERICA.ZHS16GBK
export PATH = $ORACLE_HOME/bin:$PATH
rman target /log/u01/backup/rman_full.log append<<EOF
run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup database filesperset 4 format '/u01/backup/full_%d_%T_%s_%p';
sql' alter system archive log current;
sql' alter system archive log current;
sql' alter system archive log current;
backup archivelog all format 'u01/backup/arch_%d_%T_%s_%p' delete input;
backup current controlfile format 'u01/backup/arch_%d_%T_%s_%p' delete input;
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt exired archivelog all;
}
EOF

Oracle 数据库学习相关推荐

  1. oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限

    查询用户拥有的权限: 1.查看所有用户:select *from dba_users;select *from all_users;select *from user_users; 2.查看用户或角色 ...

  2. oracle修改分区表的默认空间,Oracle数据库学习_Oracle分区表的分区占用空间为什么是8M?如何修改分区的初始空间?...

    Oracle数据库学习_Oracle分区表的分区占用空间为什么是8M?如何修改分区的初始空间? 现象一描述: 在oracle12c下创建一个分区表T_A_TRADING,新建一个分区P1,P1里没有任 ...

  3. Oracle数据库学习:PL/SQL(详解)

    Oracle数据库学习:PL/SQL 什么是PL/SQL PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的扩展语言; 使用PL/SQL 可以编写具 ...

  4. oracle数据库学习小记一

    oracle数据库学习小记 数据库函数 一.日常函数 二.数学函数 三.聚合函数(常用于group by从句的select查询中) 四.字符串函数 五.日期和时间函数 六.加密函数 七.控制流函数 八 ...

  5. Oracle数据库学习基础

    1.Oracle简介 数据:data 数据库:database DB 数据库管理系统 database Management system DBMS 数据库系统 database system DBS ...

  6. oracle数据库系统学习,Oracle数据库学习第二天

    1.伪表,伪列 1.1.伪表dual 概念: 就是一个不真实存在的虚拟表.伪表的作用就是用来构造一个符合sql规则的select语句.简单来说,伪表就是为让select语句不出现错误. 应用场景 用来 ...

  7. oracle数据库学习(ZT)

    oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路. 一.定位  ...

  8. 数据导不进oracle数据库,学习笔记:Oracle逻辑导出/导入 数据逻辑导出时跳过指定表不进行导出...

    天萃荷净 Oracle数据库逻辑exp导出时,跳过指定某些表,对其表中数据不进行导出 有一个需求,某个用户有很多张表,但是只能使用exp导出,而且想跳过其中某几张表,其他对象包括依赖关系都需要.针对这 ...

  9. oracle数据库学习总结

    前言 这是本人复习兼学习两周oracle数据库后整理的一些知识,适合查询oracle的一些语法,也可以当作一个oracle数据库的知识架构梳理. 鉴于数据库语法繁琐,知识点繁多,还有很多知识点没有纳入 ...

最新文章

  1. 【点云论文速读】最佳点云分割分析
  2. 分享一个WM上绘制饼图、柱形图、折线图的控件类
  3. module compiled against API version 0xb but this version of numpy is 0xa
  4. springmvc国际化
  5. python大数据后期教学_大数据处理之道(十分钟学会Python)
  6. leetcode 95 python
  7. [HDU 2191] 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
  8. 数据库原理mysql_数据库原理:MySql的安装
  9. Multisim 10软件介绍
  10. jquery form表单提交
  11. 惠普传真服务器位置,HP打印机ip地址设置及添加
  12. Python学习17(GUI图形用户界面编程)
  13. 自下而上与自上而下的归并排序
  14. 如何在手机上查看SQLite文件
  15. 前后端对接及接口管理平台浅析
  16. 港科夜闻|广州市市长郭永航先生与香港科大校董会廖长城先生一行举行座谈交流...
  17. java8写一个word count
  18. oppo手机怎么查计算机记录,oppo怎样查通话记录(oppo手机怎么查以前的通话记录)...
  19. Android学习——Shortcut
  20. 线下停摆,线上狂欢,疫情下“云健身”火了!

热门文章

  1. mac下的免费UML建模工具
  2. 2022杭电多校联赛第八场 题解
  3. 索骥馆-思维训练之最佳记忆方法-王洪礼的奇象记忆思维技术与方法 》扫描版[PDF]
  4. 如何使用 Django 进行分页
  5. union和union all的区别,hive遇到Schema of both sides of union should match处理办法
  6. AE中的各种报错提示的原因和解决方案
  7. 沃尔沃自动驾驶卡车Vera开始在瑞典港口运货 最高时速40公里
  8. 天文学论文写作时需要注意的点
  9. 转载_ASK,OOK,FSK,GFSK简介
  10. 俄勒冈大学计算机科学专业,俄勒冈大学计算机与信息科学详解 热门专业还等什么...