zoukankan      html  css  js  c++  java
  • 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

    复制代码
    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)))
    监听程序不支持服务
    命令执行成功
    复制代码

    [oracle@oracle12c ~]$ 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

     [oracle@oracle12c ~]$ export ORACLE_SID=addb

    2、 创建相应目录

    [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目录下创建初始化文件

    命名方法: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@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;

    [oracle@oracle12c addb]$ sqlplus / as sysdba

    SQL> startup nomount;

    创建所需文件目录

    [oracle@oracle12c addb]$ mkdir /usr/local/Oracle/fast_recovery_area

    再次尝试

    [oracle@oracle12c 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

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

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

    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

    复制代码
    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 个处理程序...
    命令执行成功
    复制代码

    [oracle@oracle12c 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;

    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;

    学习记录,小白一枚
  • 相关阅读:
    pandas之DataFrame
    python浅拷贝和深拷贝
    Numpy 机器学习三剑客之Numpy
    django--验证码功能实现
    python基础题
    python武器库
    django-rest-framework
    django--admin组件
    【转载】关于DBUtils中QueryRunner的一些解读
    【转载】java中的反射
  • 原文地址:https://www.cnblogs.com/wangsirde0428/p/13358105.html
Copyright © 2011-2022 走看看