创建Oracle数据库实例

转自oracle数据库创建实例

数据库已经安装完成,可以正常登陆查看用户等操作。

system用户只能用normal身份登陆em。除非你对它授予了sysdba的系统权限或者syspoer系统权限。

sys用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。

sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。

system用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。

一、检查数据库

[root@oracle12c ~]# su – oracle
[oracle@oracle12c ~]$ lsnrctl start
[oracle@oracle12c ~]$ lsnrctl status

二、创建实例

1、首先设置要创建的ORACLE的SID

 [oracle@oracle12c ~]$ export ORACLE_SID=addb

2、创建相应目录

可参考博客ORACLE_BASE、ORACLE_HOME有什么区别

[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/admin/addb/{a,b,c,u}dump
[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/admin/addb/pfile
[oracle@oracle12c ~]$ mkdir -p $ORACLE_BASE/oradata/addb

3、在$ORACLE_HOME/dbs目录下创建初始化文件

可参考博客ORACLE的init.ora配置文件中参数详解

命名方法:init实例名.ora 本例中initaddb.ora

[oracle@oracle12c ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle12c dbs]$ cp init.ora initaddb.ora
[oracle@oracle12c dbs]$ vi initaddb.ora
db_name='addb'
memory_target=1G
processes = 150
audit_file_dest='/usr/local/Oracle/admin/addb/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/usr/local/Oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/usr/local/Oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

注意不要用原来的<ORACLE_BASE>作为路径,修改为对应的绝对路径,否则会报错

4、创建密码文件

可参考博客oracle orapwd命令使用说明

[oracle@oracle12c dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwaddb password=p@ssw0rd entries=5 force=y

5、创建oracle的建库脚本 createdb.sql,内容如下,将其放在了$ORACLE_BASE/oradata/addb下面

[oracle@oracle12c dbs]$ cd $ORACLE_BASE/oradata/addb
[oracle@oracle12c addb]$ vi createdb.sql
CREATE DATABASE addb
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE '/usr/local/Oracle/oradata/addb/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile '/usr/local/Oracle/oradata/addb/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile '/usr/local/Oracle/oradata/addb/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile '/usr/local/Oracle/oradata/addb/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/usr/local/Oracle/oradata/addb/redo1.dbf') size 10m,
GROUP 2 ('/usr/local/Oracle/oradata/addb/redo2.dbf') size 10m,
GROUP 3 ('/usr/local/Oracle/oradata/addb/redo3.dbf') size 10m
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;

6、执行建库和数据字典脚本

以sysdba进入:

sqlplus / as sysdba

依次执行以下命令

startup nomount;
@$ORACLE_BASE/oradata/addb/createdb.sql
@?/rdbms/admin/catalog.sql;
@?/rdbms/admin/catproc.sql;
@?/rdbms/admin/catexp.sql;

7、修改监听配置文件listener.ora

到$ORACLE_HOME/network/admin目录下:vi listener.ora

[oracle@oracle12c addb]$ cd $ORACLE_HOME/network/admin
[oracle@oracle12c admin]$ vi listener.ora addb =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle12c)(PORT = 1522))
)
)
)
SID_LIST_addb =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = addb)
(ORACLE_HOME = /usr/local/Oracle/Product/11.2.0/)
(SID_NAME = addb)
)
) [oracle@oracle12c admin]$ lsnrctl start addb
[oracle@oracle12c admin]$ lsnrctl status addb

8、创建user表空间

SQL> select name from v$database;
SQL> CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/usr/local/Oracle/oradata/addb/user01.dbf' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
SQL> ALTER DATABASE DEFAULT TABLESPACE "USERS";
SQL> create spfile from pfile;
使用system用户编译:
SQL> @/usr/local/Oracle/Product/11.2.0/sqlplus/admin/pupbld.sql
SQL> @/usr/local/Oracle/Product/11.2.0/sqlplus/admin/help/hlpbld.sql helpus.sql SQL> select * from all_tab_comments;
SQL> select * from user_tab_comments;
SQL> select * from all_col_comments;

创建Oracle数据库实例的更多相关文章

  1. 详细说明手工创建oracle数据库实例

    手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构.手工建库须要经过几个步骤,每一个步骤都非常关键.它包括:1. 创建必 ...

  2. Linux服务器中创建Oracle数据库实例

    紧接上篇,在Linux服务器已经完成对Oracle数据库软件的安装后,接下来要创建Oracle实例,看图说话: [su – oracle echo $DISPLAY export DISPLAY=10 ...

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

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

  4. CentOS Linux 新建oracle数据库实例并连接

    CentOS Linux 新建oracle数据库实例 安装好oracle之后,首先想到的那就是自己建一个库来看看效果喽. 创建的过程如下文章所说,http://blog.chinaunix.net/u ...

  5. Oracle 数据库实例简介

      回到顶部 一:Oracle 数据库实例简介 1:数据库实例的启动顺序: 使用数据库其实就是访问内存.即:数据库实例.数据库的启动是顺序是 先 nomount ---->  mount --- ...

  6. Oracle 数据库实例

    Oracle- 数据库的实例,表空间,用户,表之间的关系 一.完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例 1.数据库是一些列物理文件的集合(数据文件,控制文件,联机文件, ...

  7. Oracle 数据库实例启动关闭过程

    Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载.Oracle数据启动的过程被划分为 几个不同的步骤,在不同的启动过程中,我们可以对其实现不同的操作,系统修复等 ...

  8. Java创建Oracle数据库表

    我们通常只用java执行DML(即:insert, update, delete, select)操作,很少用来执行DDL(create, drop, alert)操作.今天试了下如何用java来创建 ...

  9. Linux——oracle数据库实例启动关闭(转)

    -->Oracle 数据库实例启动关闭过程 --================================ [root@robinson ~]# su - oracle --查看未启动实例 ...

随机推荐

  1. IM服务器:开发一个高并发的IM服务器难在哪

    IM服务器要实现的最基本功能就是消息的转发.--好像是一句废话! 这就意味着IM服务器要为每个登录用户创建一个与该用户信息相关的内存上下文,为方便描述我们在这里称之为:user_context.use ...

  2. Java安全之Thymeleaf SSTI分析

    Java安全之Thymeleaf SSTI分析 写在前面 文章首发:https://www.anquanke.com/post/id/254519 最近看了一遍Thymeleaf,借此机会学习一下Th ...

  3. 五(一)、spring 声明式事务注解配置

    一.事务概述: 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用:比如 用户购买图书:购买动作之前需要确认 ①图书的数量是否足够:②用户账号余额是否足够 ...

  4. Jenkins file一行代码部署.NET程序到K8S

    什么是Jenkins共享库 随着微服务的增多,每个项目的都需要pipline文件,这样的话Pipeline代码冗余度高,并且pipeline的功能越来越复杂. jenkins可以使用Shared Li ...

  5. Java测试开发--sts安装Lombok(七)

    1.sts安装Lombok的步骤: 下载最新的lombok.jar包,进入cmd窗口,切到Lombok下载的目录,运行命令: java -jar lombok.jar,会出现如下界面: 已经默认选好了 ...

  6. uni-app路径规划(打开第三方地图实现)

    百度网盘链接:https://pan.baidu.com/s/1-Ys13GFcnKXB1wkJotcwMw 提取码:16gp 把js文件放在common目录下 引入:    import pathP ...

  7. mybatis中<![CDATA[]]>和转义字符

    在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]&g ...

  8. cgdb | 一起边看源码边调试gdb吧

    简介 cgdb是一款轻量级的基于gdb的命令行可视化工具,关系大致如下: 尽管gdb本身可以通过layout src的命令显示源码布局,但是其功能还是过于简陋. 使用cgdb并不需要你重新去学习过多额 ...

  9. 站长管理服务器必读:Ftp、Ftps与Sftp三兄弟的不同与区别以及部署全指引

    文章标题: 站长管理服务器必读:Ftp.Ftps与Sftp三兄弟的不同与区别以及部署全指引 关键字 : ftp,sftp,freesshd,ftps 文章分类: 教程 创建时间: 2020年3月23日 ...

  10. ES6基础知识(Generator 函数)

    1.next().throw().return() 的共同点 next().throw().return()这三个方法本质上是同一件事,可以放在一起理解.它们的作用都是让 Generator 函数恢复 ...