oracle数据库创建实例

Streamoutput 2019-11-03

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

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

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

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

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

检查数据库

[ ~]# su – oracle

[ ~]$ lsnrctl start

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 03:04:10

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

启动/usr/local/Oracle/Product/11.2.0/bin/tnslsnr: 请稍候...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系统参数文件为/usr/local/Oracle/Product/11.2.0/network/admin/listener.ora
写入/usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
启动日期                  21-10月-2019 03:04:10
正常运行时间              0 天 0 小时 0 分 0 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora
监听程序日志文件          /usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
监听程序不支持服务
命令执行成功

[ ~]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 03:04:13

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
启动日期                  21-10月-2019 03:04:10
正常运行时间              0 天 0 小时 0 分 3 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora
监听程序日志文件          /usr/local/Oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
监听程序不支持服务
命令执行成功

创建新的实例

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

 [ ~]$ export ORACLE_SID=addb

2、 创建相应目录

[ ~]$ mkdir -p $ORACLE_BASE/admin/addb/{a,b,c,u}dump

[ ~]$ mkdir -p $ORACLE_BASE/admin/addb/pfile

[ ~]$ mkdir -p $ORACLE_BASE/oradata/addb

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

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

[ ~]$ cd $ORACLE_HOME/dbs

[ dbs]$ cp init.ora initaddb.ora

[ 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、创建密码文件

[ dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwaddb entries=5 force=y

有复杂度要求

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

[ dbs]$ cd $ORACLE_BASE/oradata/addb

[ 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;

[ addb]$ sqlplus / as sysdba

SQL> startup nomount;

oracle数据库创建实例

创建所需文件目录

[ addb]$ mkdir /usr/local/Oracle/fast_recovery_area

再次尝试

[ addb]$ sqlplus / as sysdba

SQL> startup nomount;

ORACLE 例程已经启动。

Total System Global Area 1073741824 bytes
Fixed Size                  8628936 bytes
Variable Size             679478584 bytes
Database Buffers          377487360 bytes
Redo Buffers

SQL> @$ORACLE_BASE/oradata/addb/createdb.sql

oracle数据库创建实例

SQL> @?/rdbms/admin/catalog.sql;

oracle数据库创建实例

SQL> @?/rdbms/admin/catproc.sql;

oracle数据库创建实例

SQL>@?/rdbms/admin/catexp.sql;

oracle数据库创建实例

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

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

[ addb]$ cd $ORACLE_HOME/network/admin

[ 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)
    )
  )

[ admin]$ lsnrctl start addb

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 04:15:14
Copyright (c) 1991, 2016, Oracle.  All rights reserved.
启动/usr/local/Oracle/Product/11.2.0/bin/tnslsnr: 请稍候...
TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系统参数文件为/usr/local/Oracle/Product/11.2.0/network/admin/listener.ora
写入/usr/local/Oracle/diag/tnslsnr/oracle12c/addb/alert/log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1522)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
LISTENER 的 STATUS
------------------------
别名                      addb
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
启动日期                  21-10月-2019 04:15:15
正常运行时间              0 天 0 小时 0 分 1 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora
监听程序日志文件          /usr/local/Oracle/diag/tnslsnr/oracle12c/addb/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1522)))
服务摘要..
服务 "addb" 包含 1 个实例。
  实例 "addb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

[ admin]$ lsnrctl status addb

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-10月-2019 04:16:13
Copyright (c) 1991, 2016, Oracle.  All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
LISTENER 的 STATUS
------------------------
别名                      addb
版本                      TNSLSNR for Linux: Version 12.2.0.1.0 - Production
启动日期                  21-10月-2019 04:15:15
正常运行时间              0 天 0 小时 0 分 58 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /usr/local/Oracle/Product/11.2.0/network/admin/listener.ora
监听程序日志文件          /usr/local/Oracle/diag/tnslsnr/oracle12c/addb/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1522)))
服务摘要..
服务 "addb" 包含 1 个实例。
  实例 "addb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

创建user表空间

SQL> select name from v$database;

oracle数据库创建实例

SQL> CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE ‘/usr/local/Oracle/oradata/addb/user01.dbf‘ SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

oracle数据库创建实例

SQL> ALTER DATABASE DEFAULT TABLESPACE "USERS";

oracle数据库创建实例

SQL> create spfile from pfile;

oracle数据库创建实例

使用system用户编译

SQL> @/usr/local/Oracle/Product/11.2.0/sqlplus/admin/pupbld.sql

oracle数据库创建实例

SQL> @/usr/local/Oracle/Product/11.2.0/sqlplus/admin/help/hlpbld.sql helpus.sql

oracle数据库创建实例

SQL> select * from all_tab_comments;

SQL> select * from user_tab_comments;

SQL> select * from all_col_comments;

相关推荐