IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle 数据库学习 -> 正文阅读

[大数据]Oracle 数据库学习

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
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:34:29  更:2022-11-05 00:37:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 -2025/5/1 9:20:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码