zoukankan      html  css  js  c++  java
  • Oracle 12c 数据库常见操作

    Ø  简介

    本文主要记录 Oracle 12c 日常的一些常见操作。包括以下内容:

    1.   基本操作

    2.   配置监听

    3.   设置开机自启动

    4.   创建数据库对象

     

    1.   基本操作

    1)   连接数据库

    [oracle@abeam150 ~]$ sqlplus / as sysdba        #不加引号

    # 如果连接出现以下:

    1.  检查 .bash_profile 文件中的数据库名是否正确;

    2.  检查数据库是否启动;

    clip_image002

     

    2)   查看当前用户

    SQL> show user;

    USER is "SYS"

     

    3)   查看日志路径

    SQL> select * from v$diag_info;

    1 Diag Trace

    /opt/oracle/app/oracle/diag/rdbms/devzxsm/devzxsm/trace

    [oracle@abeam150 ~]$ ls -lsa /opt/oracle/app/oracle/diag/rdbms/devzxsm/devzxsm/trace/al*

    56 -rw-r-----. 1 oracle dba 54469 8  26 21:18 /opt/oracle/app/oracle/diag/rdbms/devzxsm/devzxsm/trace/alert_devzxsm.log    #日志警告文件(主要关注 ORA 开头的报错信息)

     

    4)   查看数据文件

    SQL> select name from v$datafile;

    /opt/oracle/app/oracle/oradata/devzxsm/system01.dbf

    /opt/oracle/app/oracle/oradata/devzxsm/sysaux01.dbf

    /opt/oracle/app/oracle/oradata/devzxsm/undotbs01.dbf

    /opt/oracle/app/oracle/oradata/devzxsm/users01.dbf

     

    5)   启动数据库

    [oracle@abeam150 ~]$ sqlplus "/as sysdba"   #加引号

    SQL> startup;                              #启动

    SQL> exit;

    [oracle@abeam150 ~]$ lsnrctl start          #开启监听

    [oracle@abeam150 ~]$ lsnrctl status         #查看监听状态

     

    6)   关闭数据库

    SQL> shutdown immediate;                   #需要一定时间

    SQL> exit;

    [oracle@abeam150 ~]$ lsnrctl stop           #停止监听

     

    2.   检查/配置监听

    cd $ORACLE_HOME/network/admin

    vi tnsnames.ora     #编辑配置文件

    clip_image004

    #ping 监听(成功返回OK

    tnsping devzxsm

    clip_image006

     

    3.   设置开机自启动

    1)   修改 dbstartdbshut 脚本,否则启动和停止 Oracle 数据库时会提示以下信息:

    ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener

    clip_image008

    clip_image010

     

    su - oracle     #切换为 oracle 用户

    修改 dbstart 脚本,将 ORACLE_HOME_LISTNER=$1 $1改为 $ORACLE_HOME

    cp $ORACLE_HOME/bin/dbstart $ORACLE_HOME/bin/dbstart.bak_20083001

    vi $ORACLE_HOME/bin/dbstart

    clip_image011

     

    再修改 dbshut 脚本,将 ORACLE_HOME_LISTNER=$1 $1改为 $ORACLE_HOME

    cp $ORACLE_HOME/bin/dbshut $ORACLE_HOME/bin/dbshut.bak_20083001

    vi $ORACLE_HOME/bin/dbshut

    clip_image012

     

    2)   编辑 /etc/oratab 文件

    # vi /etc/oratab       #将最后一位 N 改为 Y

    clip_image013

     

    3)   创建用于启动和停止 oracle 的脚本

    su - root      #切换为 oracle 用户

    vi /etc/init.d/dbora    #添加以下内容:

    #! /bin/sh

    # description: Oracle auto start-stop script.

    #

    # Set ORA_HOME to be equivalent to the $ORACLE_HOME

    # from which you wish to execute dbstart and dbshut;

    #

    # Set ORA_OWNER to the user id of the owner of the

    # Oracle database in ORACLE_HOME.

     

    ORA_HOME=/opt/oracle/app/oracle/product/12.2.0/dbhome_1 #注意:这里为实际的 oracle 安装路径

    ORA_OWNER=oracle

     

    case "$1" in

    'start')

        # Start the Oracle databases:

        # The following command assumes that the oracle login

        # will not prompt the user for any values

        # Remove "&" if you don't want startup as a background process.

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &

        touch /var/lock/subsys/dbora

        ;;

     

    'stop')

        # Stop the Oracle databases:

        # The following command assumes that the oracle login

        # will not prompt the user for any values

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &

        rm -f /var/lock/subsys/dbora

        ;;

    esac

     

    4)   修改脚本执行权限

    chown oracle /etc/init.d/dbora  #将所有者改为 oracle 用户

    chmod 750 /etc/init.d/dbora     #只有 oracle 用户和 root 组具备执行权限

     

    5)   设置开机自启动

    创建软链接文件,到三个运行级别的服务目录下:

    ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K01dbora

    ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S99dbora

    ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S99dbora

    说明:软件连接文件不用考虑权限,类似 Windows 中的快捷方式,已源文件为准。

    clip_image015

     

    # 检查创建结果

    ll /etc/rc.d/rc0.d /etc/rc.d/rc3.d /etc/rc.d/rc5.d | grep ora

    clip_image017

     

    说明:启动和日志可以分别在以下两个文件中查看:

    tail -100 /opt/oracle/app/oracle/product/12.2.0/dbhome_1/startup.log

    tail -100 /opt/oracle/app/oracle/product/12.2.0/dbhome_1/shutdown.log

     

    4.   创建数据库对象

    1)   查看当前实例名

    SQL> show parameter instance_name;

    instance_name               string devzxsm

     

    2)   查看当前用户

    SQL> show user

    USER is "SYS"

     

    3)   创建表空间

    create tablespace zxsm01 datafile '/opt/oracle/app/oracle/oradata/devzxsm/zxsm01.dbf' size 128m;

     

    4)   创建用户(data)

    create user data identified by data123 default tablespace zxsm01;

    grant dba to data;  #不建议直接授权dba

     

    5)   切换用户登录

    SQL> conn data/data123@devzxsm;

    SQL> show user;

    USER is "DATA"

    SQL> conn / as sysdba;

    SQL> show user;

    USER is "SYS"

     

    6)   写入测试数据

    [oracle@abeam150 admin]$ sqlplus "data/data123@devzxsm"

    SQL> create table table01(id number(2) primary key, name varchar2(100));

    SQL> insert into table01 values(1, '你想咋咋');

    SQL> commit;

    SQL> select * from table01;

    clip_image019

     

  • 相关阅读:
    CF1119H
    oracle 第06章 数据字典
    oracle col命令
    oracle 第05章 SQL语句
    oracle 第04章 字符集
    oracle 第03章 体系结构
    oracle 第02章 基本操作
    oracle 第01章 安装
    oracle启动、关闭、重启脚本
    第十一周-学习进度条
  • 原文地址:https://www.cnblogs.com/abeam/p/14724041.html
Copyright © 2011-2022 走看看