Oracle数据库建立(oracle数据库建立只读用户)
mhr18 2024-09-17 23:21 26 浏览 0 评论
实验名称:
Oracle数据库建立
实验目的:
1. 掌握Oracle数据库软件安装方法;
2. 熟练掌握SQL plus工具的使用;
3. 掌握手工创建和修改数据库的方法;
4. 加深理解数据库体系结构和参数信息及其查询方法。
实验内容及要求:
1. Oracle数据库软件安装;
2. SQL plus工具的使用:包括启动、连接、常用命令及SQL,报表功能等;
3. 利用SQL plus工具建立Oracle数据库及实例,要求建立SYSETM、SYSAUX、TEMP、USER、UNDO等表空间;
4. 在新建数据库中,创建新用户并为其建立专用默认表空间和临时表空间,数据文件大小自动增长,本地盘区管理方式。为新用户赋权,以新用户身份登录,建立至少一个表对象;
5. 分别利用手工命令和OEM软件两种方式查询新建数据库的信息:(1)初始化参数信息;(2)体系结构信息,包括逻辑结构、物理结构和内存结构等。
实验环境:
操作系统:Windows XP以上
数据库:Oracle 11g windows版(32位/64位)
客户端工具:SQL plus
虚拟机:VMWare Workstation V9以上(可选)
实验原理:
1. 手工创建数据库分为三步:第一步创建新的数据库实例,即实例服务;第二步:建立数据库的物理结构;第三步:创建系统表空间中的数据字典表、动态性能视图及内部存储过程
实验步骤:
1. Oracle 11g环境的搭建
(在此就不详细对Oracle 11g的安装作介绍了,在上一篇文章对此有具体操作解释)
2. 手工创建新数剧库
1. 首先要设置环境变量,创建一个数据库的实例名,例如 set oracle_sid=xukkk
2. 在home/database下创建初始化参数文件INITxukkk.ora
3.在dos环境下执行home/BIN目录下的ORADIM程序创建实例,代码如下:
>oradim -new -sid xukkk -startmode manual -pfile C:\app\Administrator\product\11.2.0\dbhome_1\database\INITxukkk.ora
实例创建成功后,可以在windows的计算机管理中看到新建的服务:OracleServicexukk
4.启动SQLPlUS,以SYSDBA身份连接到ORACLE,只有SYSDBA才有权创建数据库:
>sqlplus /nolog
>sqlplus>conn / as sysdba
5.建立服务器参数文件SPFILE,ORACLE为服务器端提供了二进制初始化参数文件,是在服务器端,除此之外可以减少手工更新初始化参数文件的工作,也使得ORACLE服务器的自我调节功能得以实现。
SQL>create spfile from pfile='C:\app\Administrator\product\11.2.0\dbhome_1\database\INITxukkk.ora'
6.启动实例,但不加载数据库,此时仅仅创建了实例的内存结构SGA:
SQL>startup nomount
7. 建立create database建库脚本,脚本如下,将脚本建立在c盘的根目录下,建立完脚本后在dos环境下运行该脚本进行建库:
create database xukkk
USER SYS IDENTIFIED BY 87654321
USER SYSTEM IDENTIFIED BY 87654321
LOGFILE
GROUP 1 ('C:\app\Administrator\oradata\xukkk\redo01.log') size 100m,
GROUP 2 ('C:\app\Administrator\oradata\xukkk\redo02.log') size 100m,
GROUP 3 ('C:\app\Administrator\oradata\xukkk\redo03.log') size 100m
MAXINSTANCES 1
MAXLOGFILES 5
MAXLOGMEMBERS 2
MAXLOGHISTORY 100
MAXDATAFILES 100
archivelog
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'C:\app\Administrator\oradata\xukkk\system01.dbf' size 325M REUSE EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'C:\app\Administrator\oradata\xukkk\sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users DATAFILE 'C:\app\Administrator\oradata\xukkk\users01.dbf' size 325M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE 'C:\app\Administrator\oradata\xukkk\temp01.dbf' size 32M
REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs DATAFILE 'C:\app\Administrator\oradata\xukkk\undotbs01.dbf' size 325M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED ;
8.调用Oracle提供的脚本文件catalog.sql创建数据字典表,这个文件放在/home/RDBMS/ADMIN文件夹下面。
SQL>@C:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql
9.调用Oracle提供的脚本文件catproc.sql创建内部程序包。
SQL>@C:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql
3. 创建新用户并且为其设置单独的默认表空间
1. 创建数据表空间
SQL>create tablespace newusertbs datafile 'C:\app\Administrator\oradata\xukkk\newusertbs.dbf'
size 32m autoextend on extent management local;
2. 创建临时表空间
SQL>create temporary tablespace newusertemptbs tempfile 'C:\app\Administrator\oradata\xukkk\newusertemptbs.dbf'
size 32m autoextend on extent management local;
3. 创建新用户同时设定默认表空间
SQL>create user xu identified by 87654321 default tablespace newusertbs
temporary tablespace newusertemptbs
4. 为新用户赋权,赋权后才能为该用户创建方案对象
SQL>grant connect,resource to xu
5. 测试新用户创建成功并获得了相应的权限
SQL>conn xu/87654321
SQL>create table unit(unit_no varchar(20) primary key,
unit_name varchar(100) , memo varchar(100));
SQL>select table_name from user_tables;
异常原因分析及解决办法:
1.在配置OEM时,出现下图所示问题:
解决办法:打开数据库net manager进行配置数据库的监听服务即可解决此问题
2. 当遇到问题断开与数据库的连接时要重新启动服务,或者在dos环境下用sys登录输入shutdown指令,再重新连接数据库实例
3. 当想要删除新建的数据库实例服务时可以输入如下指令:
oradim -delete -sid <sid>
4. 连接数据库时出现适配器错误。解决办法:主要是没有开启数据库服务,去控制面板的服务中打开相应的数据库服务
5. 每次关闭cmd窗口再次启动时要记得设置环境变量,连接数据库实例,打开数据库
总结和体会:
用手工创建Oracle数据库相比较于用图形界面要麻烦许多,并且在一些细节上要更加注意,这需要我们要有足够的耐心和我们对Oracle数据库操作的指令要更加熟悉,因为开始对此不熟悉走了不少弯路,出现问题就会想到从头再来,重新建库,所以花费了不少时间,虽然说现在感觉比较难或者是比较麻烦,但是当用这种方法成功创建完数据库的时候的喜悦之情要比用图形界面创建成的喜悦之情多得多。
对于在这个过程中遇到的问题要自己去寻求解决的方法,当然百度就是一个很好的途径,应该学会自我学习,并且要多与人交流,因为有的问题可能自己思考了半天也不定会发现到底是哪出现了什么问题,但是当我们与他人交流的时候说不定就是别人之前遇到过这个问题,使得我们的问题能够更快的解决,闭门造车是不可取的。
总之手工创建数据库对于我们初次接触确实感觉挺难的,但是的确是很有意思的,所以要多学习一些相关的知识,在操作上要更加注意下细节,不要怕失败。
相关推荐
- Java面试宝典之问答系列(java面试回答)
-
以下内容,由兆隆IT云学院就业部根据多年成功就业服务经验提供:1.写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出的和以总和显示的SQL。SELECT...
- ADG (Active Data Guard) 数据容灾架构下,如何配置 Druid 连接池?
-
如上图的数据容灾架构下,上层应用如果使用Druid连接池,应该如何配置,才能在数据库集群节点切换甚至主备数据中心站点切换的情况下,上层应用不需要变动(无需修改配置也无需重启);即数据库节点宕机/...
- SpringBoot多数据源dynamic-datasource快速入门
-
一、简介dynamic-datasourc是一个基于SpringBoot的快速集成多数据源的启动器,其主要特性如下:支持数据源分组,适用于多种场景纯粹多库读写分离一主多从混合模式。支持...
- SpringBoot项目快速开发框架JeecgBoot——项目简介及系统架构!
-
项目简介及系统架构JeecgBoot是一款基于SpringBoot的开发平台,它采用前后端分离架构,集成的框架有SpringBoot2.x、SpringCloud、AntDesignof...
- 常见文件系统格式有哪些(文件系统类型有哪几种)
-
PART.01常见文件系统格式有哪些常见的文件系统格式有很多,通常根据使用场景(Windows、Linux、macOS、移动设备、U盘、硬盘等)有所不同。以下是一些主流和常见的文件系统格式及其特点:一...
- Oracle MySQL Operator部署集群(oracle mysql group by)
-
以下是使用OracleMySQLOperator部署MySQL集群的完整流程及关键注意事项:一、部署前准备安装MySQLOperator通过Helm安装Operator到Ku...
- LibreOffice加入"转向Linux"运动
-
LibreOffice项目正准备削减部分Windows支持,并鼓励用户切换到Linux系统。自Oracle放弃OpenOffice后,支持和指导LibreOffice开发的文档基金会对未来有着明确的观...
- Oracle Linux 10发布:UEK 8.1、后量子加密、增强开发工具等
-
IT之家6月28日消息,科技媒体linuxiac昨日(6月27日)发布博文,报道称OracleLinux10正式发布,完全二进制兼容(binarycompatibility...
- 【mykit-data】 数据库同步工具(数据库同步工具 开源)
-
项目介绍支持插件化、可视化的数据异构中间件,支持的数据异构方式如下MySQL<——>MySQL(增量、全量)MySQL<——>Oracle(增量、全量)Oracle...
- oracle关于xml的解析(oracle读取xml节点的属性值)
-
有时需要在存储过程中处理xml,oracle提供了相应的函数来进行处理,xmltype以及相关的函数。废话少说,上代码:selectxmltype(SIConfirmOutput).extract...
- 如何利用DBSync实现数据库同步(通过dblink同步数据库)
-
DBSync是一款通用型的数据库同步软件,能侦测数据表之间的差异,能实时同步差异数据,从而使双方始终保持一致。支持各种数据库,支持异构同步、增量同步,且提供永久免费版。本文介绍其功能特点及大致用法,供...
- MYSQL存储引擎InnoDB(八十):InnoDB静态数据加密
-
InnoDB支持独立表空间、通用表空间、mysql系统表空间、重做日志和撤消日志的静态数据加密。从MySQL8.0.16开始,还支持为模式和通用表空间设置加密默认值,这允许DBA控制在这些模...
- JDK高版本特性总结与ZGC实践(jdk高版本兼容低版本吗)
-
美团信息安全技术团队核心服务升级JDK17后,性能与稳定性大幅提升,机器成本降低了10%。高版本JDK与ZGC技术令人惊艳,且JavaAISDK最低支持JDK17。本文总结了JDK17的主要...
- 4 种 MySQL 同步 ES 方案,yyds!(两个mysql数据库自动同步的方法)
-
本文会先讲述数据同步的4种方案,并给出常用数据迁移工具,干货满满!不BB,上文章目录:1.前言在实际项目开发中,我们经常将MySQL作为业务数据库,ES作为查询数据库,用来实现读写分离,...
- 计算机Java培训课程包含哪些内容?其实就这六大块
-
不知不觉秋天已至,如果你还处于就业迷茫期,不如来学习Java。对于非科班小白来说,Java培训会更适合你。提前了解下计算机Java培训课程内容,会有助于你后续学习。下面,我就从六个部分为大家详细介绍...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Java面试宝典之问答系列(java面试回答)
- ADG (Active Data Guard) 数据容灾架构下,如何配置 Druid 连接池?
- SpringBoot多数据源dynamic-datasource快速入门
- SpringBoot项目快速开发框架JeecgBoot——项目简介及系统架构!
- 常见文件系统格式有哪些(文件系统类型有哪几种)
- Oracle MySQL Operator部署集群(oracle mysql group by)
- LibreOffice加入"转向Linux"运动
- Oracle Linux 10发布:UEK 8.1、后量子加密、增强开发工具等
- 【mykit-data】 数据库同步工具(数据库同步工具 开源)
- oracle关于xml的解析(oracle读取xml节点的属性值)
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)