分类:
Oracle(9)

版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk

目录(?)[+]

目录

软件环境

  • 操作系统

    • RHEL 6.1
  • 软件环境
    • Oracle10gr2

前言

在上一篇RHEL6.1 安装 Oracle10gr2 (图文、解析)中记录了如何成功的在RHEL6.1安装Oracle10gr2,但是在安装的过程中没有创建数据库,本篇主要记录了如果创建数据库和监听程序。

安装Oracle监听程序

Oracle Net Services Configuration:简称netca,也是启动其配置程序的指令名称。主要作用是配置监听程序、命名方法配置、本地net服务配置、目录使用配置。即可以配置一个监听程序和服务名,从而可以使oracle client连接至数据库进行相关操作。
监听的文件存放位置在:$ORACLE_HOME\NETWORK\ADMIN\listener.ora
服务名的文件存放位置在:$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora

以oracle用户登录并执行netca指令启动配置程序:

[oracle@jmilk database]$ netca
  • 1

选择配置监听程序

添加一个监听程序

设定一个监听程序的名称

选择监听程序的协议

选择监听程序的端口

还需要创建别的监听程序吗?

创建完成

点击Finsh

配置完成后的Output

Configuring Listener:LISTENER
Default local naming configuration complete.
Listener configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/u01/oracle/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Oracle Net Services configuration successful. The exit code is 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

测试

[root@jmilk bin]# pwd
/u01/oracle/bin
[root@jmilk bin]# ./lsnrctl status
  • 1
  • 2
  • 3

启动、停止监听程序

lsnrctl start   #启动
lsnrctl stop #停止
lsnrctl status #查看状态
  • 1
  • 2
  • 3

netca的执行文件

[root@jmilk bin]# pwd
/u01/oracle/bin
[root@jmilk bin]# vim netca
  • 1
  • 2
  • 3

创建数据库

DBCA程序可以执行创建数据库、删除数据库、管理数据库模板、配置现有数据库中的数据库选件
配置Database Configuration Assistant

[oracle@jmilk database]$ dbca
  • 1

创建数据库欢迎页面

选择创建一个数据库

选择创建一个通用数据库

输入要创建的数据库的名称

配置Enterprise Manager
可以配置Enterprise manager警告,警告的内容为:使用database
control配置数据库时,要求在当前oracle主目录中配置监听程序,必须运行Netca以配置并启动监听程序,然后才能继续。或者可以选择继续,但是不要使用database
control配置。

输入系统用户的全局密码,也可以单独的为每一个系统用户编辑不同的密码。
All Account:system、sys、sysdba

选择存储数据库的方式,这里选择存储在OS的File system中

选择创建数据库文件的位置,这里选择从数据库模板创建

指定数据库的快速恢复区域

选择数据库的字符集为UTF8,更好的支持中文

创建数据库,可以选择生产数据库创建脚本

dbca 建库时报错提示:ORA-27125:unable to create shared memory segment
解决方法

[oracle@jmilk database]$ cd $ORACLE_HOME/bin
[oracle@jmilk bin]$ mv oracle oracle.bin
  • 1
  • 2

vim oracle

#!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
  • 1
  • 2
  • 3
  • 4
[oracle@jmilk bin]$ chmod a+x oracle
[oracle@jmilk bin]$ id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)
[oracle@test bin]$ more /proc/sys/vm/hugetlb_shm_group
0
[oracle@test bin]$ su - root
Password:
[root@test ~]# echo "503" > /proc/sys/vm/hugetlb_shm_group
#将dba的gid写入hugetlb_shm_group
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

等待创建数据库完成

点击Password Management可以对系统用户进行配置,可以解锁、锁定一个用户,也可以为用户设定一个密码。
其中的SCOTT用户是Oracle公司的创始人之一,一般我们用这个用户来进行学习,他的默认的密码为tiger这个密码是SCOTT家中的一只猫的名字。

点击Exit完成数据库的创建

测试:输入 用户名/密码 能够成功登陆表示数据库创建成功。

[oracle@jmilk ~]$ sqlplus system/fanguiju

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 18:10:04 2016

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options SQL>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

数据库名db_name

数据库名是用于区分不同数据库的内部标识,就像人的身份证号一样。
他用参数DB_NAME表示,如果一台Oracle Server上创建了多个数据库,那么每一个数据库都会有一个唯一的数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件/u01/admin/demo/pfile/init.ora.425201695953之中。
注意:
在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还会被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。

数据库参数文件:

[oracle@jmilk pfile]$ pwd
/u01/admin/demo/pfile
[oracle@jmilk pfile]$ vim init.ora.425201695953
  • 1
  • 2
  • 3

数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
有很多Oracle安装文件目录是与数据库名相关的
Example:

[oracle@jmilk demo]$ pwd
/u01/oradata/demo
  • 1
  • 2

查询当前数据名
方法一:

select name from v$database;
  • 1

方法二:

show parameter db
  • 1

方法三:查看参数文件。
vi init.ora.425201695953

db_name=demo
  • 1

数据库实例名instance_name

数据库实例名用于Oracle与OS之间的联系和用于Oracle Server与外部连接时使用,可以和数据库名一样,也可以不一样。该参数为instance_name,若OS要与数据库取得交互,必须使用数据库实例名。
Example:**Client要和某一个Oracle Server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据库安装或创建数据库之后,实例名可以被修改。数据库安装完成后,该实例名被写入数据库参数文件**pfile中,格式如下:

  db_name="demo"  # 一般不允许修改
db_domain=""
instance_name=demo # 可以修改,可以与db_name相同也可不同
  • 1
  • 2
  • 3

数据库名与实例名的关系

在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。数据库名和实例名共同确定一个数据库,一个数据库中可以有多个实例,相互运行不受影响。

查询当前数据库实例名
方法一:

select instance_name from v$instance;
  • 1

方法二:

show parameter instance
  • 1

方法三:在参数文件中查询

操作系统环境变量ORACLE_SID

在实际中,对于数据库实例名的描述有时使用实例名instance_name参数,有时使用ORACLE_SID参数。
这两个都是数据库实例名,它们有什么区别呢?
实例名instance_name、ORACLE_SID、Database、OS之间的关系

  (OS<---------------->  ORACLE  Database<--------(Instance_name(实例名))  
  • 1

虽然这里列出的两个参数都是数据库实例名,但:
instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查询到。
ORACLE_SID参数则是操作系统环境变量。

操作系统环境变量ORACLE_SID用于和操作系统交互,也就是说,从操作系统的角度访问实例,必须通过ORACLE_SIDORACLE_SID必须与instance_name的值一致,否则,你将会收到一个错误,在LinuxOS中是ORACLE not available,在winntOS中是TNS:协议适配器错误。此参数与ORACLE_BASEORACLE_HOME等用法相同。在数据库安装之后,ORACLE_SID被用于定义数据库参数文件的名称。
Example:

$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora
#或
/u01/admin/demo/pfile/init.ora.425201695953
  • 1
  • 2
  • 3

定义方法:

export   ORACLE_SID=demo

创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)的更多相关文章

  1. 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解)

    不多说,直接上干货! 环境: windows10系统(64位) 最好先安装jre或jdk(此软件用来打开oracle自带的可视化操作界面,不装也没关系:可以安装plsql,或者直接用命令行操作) Or ...

  2. 全网最详细的Windows系统里Oracle 11g R2 Client客户端(64bit)安装后的初步使用(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Client(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1)   打开服务(cmd— ...

  3. 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)安装后的初步使用(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 命令行方式测试安装是否成功 1)   打开服务(cm ...

  4. 全网最详细的PLSQL Developer + Oracle client的客户端 或者 PLSQL Developer + Oracle server服务端的下载与安装过程(图文详解)

    不多说,直接上干货! 环境说明: 本地没有安装Oracle服务端,oracle服务端64位,是远程连接,因此本地配置PLSQL Developer64位. Oracle database使用在本机部署 ...

  5. PLSQL Developer概念学习系列之如何正确登录连接上Oracle(图文详解)

    不多说,直接上干货! 进入PLSQL Developer 1.双击 2.得到 比如,我这里安装的是 全网最详细的Windows系统里Oracle 11g R2 Database服务器端(64bit)的 ...

  6. 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的完全卸载(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 若你不想用了,则可安全卸载. 完全卸载Oracle ...

  7. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

  8. Oracle数据库名、实例名、数据库域名、全局数据库名、服务名之间的区别

    数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据库 ...

  9. 查询oracle数据库的数据库名、实例名、ORACLE_SID

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

随机推荐

  1. 利用virt-manager,xmanager, xshell启动界面来管理虚拟机

    有时候我们需要搭建一套自己的简单环境来启动一个虚拟机,验证一些问题. 1.首先我利用vmware workstation来创建centos7虚拟机,然后开启虚拟化,如下图所示. 2.其次,启动虚拟机, ...

  2. STL学习笔记1--vector

    C++STL(Standard Template Library)标准模板库是通用类模板和算法的集合.包含一些标准的数据结构的实现如queues(队列),lists(链表),stacks(栈)等.ST ...

  3. 第二章 jquery的dom操作

    三个方面    dom核心,html-dom和css-dom 一. 1.dom core核心 document.getElementsByTagName("form")  获取表单 ...

  4. ASP.NET MVC下使用SWFUpload完成剪切头像功能

    首先介绍SWFUpload组件 SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术 为WEB开发者提供了一个具有丰富功能继 ...

  5. Django创建并连接数据库(实现增删改查)--第二版

    注意点一: url里面的地址,不只是html页面,准确说是views视图里面对应的函数方法 <!DOCTYPE html> <html lang="en"> ...

  6. TOJ4537: n阶行列式

    4537: n阶行列式  Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByteTotal Submit: 28       ...

  7. 【Luogu】P3356火星探险问题(费用流)

    题目链接 网络流一条边都不能多连?没道理呀? 不过单看这题的确是个sb题…… #include<cstdio> #include<algorithm> #include< ...

  8. IP地址资源的分配和管理

    IP地址资源的分配和管理 参考资料 https://wenku.baidu.com/view/3bdf94172cc58bd63086bd8c.html   http://www.iana.org/ ...

  9. 用SVGDeveloper制作svg地图

    项目中需要实现巴蜀地区图,并且将其分为川东.川西.川南.川北四个区域,鼠标悬浮对应区域的区块改变颜色.经过网上查询资料,并未找到现成的区域图,于是就利用SVGDeveloper工具绘制. 一.绘制地图 ...

  10. HDU——1020Encoding(水题,string过)

    Encoding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...