6、创建表空间和用户授权

(1)、连接数据库

$ sqlplus / as sysdba

(2)、创建数据库表空间

  1. 语法:
  2. create tablespace 表空间名
  3. datafile ‘物理地址(相当于文件路径)’
  4. size初始大小(单位M
  5. autoextend on next每次自增的大小(单位M
  6. maxsize unlimited (此关键字用于不限制表空间大小)

SQL> create tablespace test1_teblespace
datafile '/usr/oracle/oradata/orcl/test1_teblespace.dbf'
size 500M
autoextend on next 100M
maxsize unlimited;

(3)、创建用户并指定表空间

  1. 语法:
  2. create user 用户名 identified by 口令[即密码] default tablespace 表空间名;

SQL> create user test1 identified by test1 default tablespace test1_teblespace;

(4)、给用户授予权限

  1. 语法:
  2. grant 权限1, 权限2, 权限3…… to 用户名

SQL> grant connect,resource,dba to test1;

(5)、删除表空间

  1. 语法:
  2. drop tablespace 表空间名 including contents and datafiles cascade constraints;

SQL> drop tablespace test1_teblespace including contents and datafiles cascade constraints;

  1. including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间无法删除。
  2. including datafiles 删除表空间中的数据文件
  3. cascade constraints 同时删除表空间中表的外键参照

(6)、删除用户

  1. 语法:
  2. drop user 用户名 cascade;
  3. 最后这个级联特别有用(删除用户以及所有关联的数据库对象)

SQL> drop user test1 cascade;

四、  设置数据库自启动

方法一:

1、安装好Oracle数据库后: 执行 dbstart和dbshut

$ dbshut

$ dbstart

错误原因:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题

分别打开两个文件修改如下内容

  1. ORACLE_HOME_LISTNER=$
  2. 修改为:
  3. ORACLE_HOME_LISTNER=$ORACLE_HOME

$ vim $ORACLE_HOME/bin/dbstart

$ vi $ORACLE_HOME/bin/dbshut

修改后保存退出,问题解决

2、Linux启动时自动启动Oracle监听和实例

第一步:修改/etc/oratab文件

  1. 找到: orcl:/usr/oracle/product/11.2./db_1:N
  2. 修改为: orcl:/usr/oracle/product/11.2./db_1:Y
  3. (这个路径跟安装路径有关,$ORACLE_SID:$ORACLE_HOME:<N|Y>)

$ vi /etc/oratab

第二步:把lsnrctl start和dbstart添加到rc.local文件中:

root权限执行

# vi /etc/rc.d/rc.local

添加:

  1. su - oracle -lc "/usr/oracle/product/11.2.0/db_1/bin/lsnrctl start"
  2. su - oracle -lc "/usr/oracle/product/11.2.0/db_1/bin/dbstart"

说明:

第一行为开机启动数据库监听服务,第二行为开机启动数据库。(路径跟安装路径相关)。

注意:CentOs7中/etc/rc.d/rc.local不会开机执行,需添加执行权限。

查看/etc/rc.d/rc.local的权限

# ll /etc/rc.d/rc.local

添加执行权限

# chmod +x /etc/rc.d/rc.local

3、重启电脑后查看是否自启动成功

# reboot

查看监听是否自启动成功

$ lsnrctl status LISTENER

查看Oracle服务状态

$ ps -aux | grep oracle

4、oracle的启动或关闭管理

启动

$ dbstart

关闭

$ dbshut

方法二:

1、修改/etc/oratab文件

  1. 找到: orcl:/usr/oracle/product/11.2./db_1:N
  2. 修改为: orcl:/usr/oracle/product/11.2./db_1:Y
  3. (这个路径跟安装路径有关,$ORACLE_SID:$ORACLE_HOME:<N|Y>)

2、新建oracle自启动服务脚本

  1. [root@localhost oracle]# vi /etc/init.d/oracle

将以下脚本复制到文件中,保存退出(:wq)

  1. #!/bin/sh
  2. # chkconfig:
  3. # description: Oracle 11g R2 AutoRun Servimces
  4. # /etc/init.d/oracle
  5. #
  6. # Run-level Startup script for the Oracle Instance, Listener, and
  7. # Web Interface
  8. export ORACLE_BASE=/usr/oracle #oracle安装位置
  9. export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1 #Oracle安装路径
  10. export ORACLE_SID=orcl
  11. export PATH=$PATH:$ORACLE_HOME/bin
  12. ORA_OWNR="oracle"
  13. # if the executables do not exist -- display error
  14. if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
  15. then
  16. echo "Oracle startup: cannot start"
  17. exit
  18. fi
  19. # depending on parameter -- startup, shutdown, restart
  20. # of the instance and listener or usage display
  21. case "$1" in
  22. start)
  23. # Oracle listener and instance startup
  24. su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
  25. echo "Oracle Start Succesful!OK."
  26. ;;
  27. stop)
  28. # Oracle listener and instance shutdown
  29. su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
  30. echo "Oracle Stop Succesful!OK."
  31. ;;
  32. reload|restart)
  33. $ stop
  34. $ start
  35. ;;
  36. *)
  37. echo $"Usage: `basename $0` {start|stop|reload|reload}"
  38. exit
  39. esac
  40. exit

3、检查脚本能否执行

  1. [root@localhost oracle]# /etc/init.d/oracle start #启动oracle脚本
  2. [root@localhost oracle]# /etc/init.d/oracle stop #关闭oracle脚本
  3. [root@localhost oracle]# /etc/init.d/oracle restart #重启oracle脚本

4、添加执行权限并建立链接

更改oracle脚本的执行权限

  1. [root@localhost oracle]# chmod a+x /etc/init.d/oracle

建立链接

将启动脚本添加到系统服务并设置自启动

  1. [root@localhost oracle]# chkconfig --add oracle

当这个命令被执行的时候,会去脚本文件oracle中寻找# chkconfig: 2345 61 61这行注释,并解析这行注释,根据解析结果分别在

/etc/rc.d/rc2.d

/etc/rc.d/rc3.d

/etc/rc.d/rc4.d

/etc/rc.d/rc5.d

中创建符号连接文件S61oracle,此文件在系统启动时根据运行级别执行,此文件是指向/etc/init.d/oracle文件。启动时系统向此文件发送一个start参数,执行oracle文件中的start分支。另外还会在

/etc/rc.d/rc0.d

/etc/rc.d/rc1.d

/etc/rc.d/rc6.d

中创建符号连接文件K61oracle,此文件在系统关闭时执行,此文件也指向/etc/init.d/oracle文件,关闭时系统向此文件发送一个stop参数,执行oracle文件中的stop分支。

# chkconfig: 2345 61 61

# 表明脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为61,停止优先权为 61。

修改服务运行等级(虽然脚本里写过,但还是重新设置一下),可以自行设置oracle脚本的运行级别

  1. [root@localhost oracle]# chkconfig --level oracle on

说明:设置oracle脚本在运行级别为2、3、4、5时,都是on(开启)状态,off为关闭

查看oracle自动启动设置

  1. [root@localhost oracle]# chkconfig list oracle
  2. Oracle :off :off :on :on :on :on :off
  1. 等级0表示:表示关机
  2. 等级1表示:单用户模式
  3. 等级2表示:无网络连接的多用户命令行模式
  4. 等级3表示:有网络连接的多用户命令行模式
  5. 等级4表示:不可用
  6. 等级5表示:带图形界面的多用户模式
  7. 等级6表示:重新启动

手动创建符号链接文件(执行效果和执行chkconfig --add oracle是一样,作为知识笔记记录,可以不执行)  

  1. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle
  2. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc1.d/K61oracle
  3. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle
  4. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle
  5. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle
  6. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc5.d/S61oracle
  7. [root@localhost oracle]# ln s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle

5、oracle的启动或关闭管理

  1. 启动
  2. [root@localhost oracle]# service oracle start
  3. 停止
  4. [root@localhost oracle]# service oracle stop
  5. 重启
  6. [root@localhost oracle]# service oracle restart

五、数据库字符集修改

注意事项:修改字符集前先将数据库进行备份

此处演示将ZHS16GBK字符集修改为AL32UTF8

1、修改server端字符集

登录sqlpus查看字符集设置

  1. [oracle@localhost ~]$ sqlplus /nolog
  2. SQL*Plus: Release 11.2.0.1. Production on Wed Jan ::
  3. Copyright (c) , , Oracle. All rights reserved.
  4. SQL> conn /as sysdba
  5. Connected to an idle instance. #数据库未启动,先启动数据库。最好将数据库设未开机启动
  6. SQL> startup
  7. SQL> conn /as sysdba
  8. Connected. #连接成功
  9. SQL> select userenv('language') from dual; #server端字符集查询
  10.  
  11. USERENV('LANGUAGE')
  12. ----------------------------------------------------
  13. AMERICAN_AMERICA.ZHS16GBK

依次执行如下命令

  1. SQL>SHUTDOWN IMMEDIATE;
  2. SQL>STARTUP MOUNT;
  3. SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
  4. SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=;
  5. SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=;
  6. SQL>ALTER DATABASE OPEN;
  7. SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
  8. SQL>SHUTDOWN IMMEDIATE;
  9. SQL>STARTUP;
  10.  
  11. SQL> select userenv('language') from dual;
  12. USERENV('LANGUAGE')
  13. ----------------------------------------------------
  14. AMERICAN_AMERICA.AL32UTF8
  15. SQL>

2、修改client端字符集

查看系统环境变量设置的字符集(client端字符集)

  1. [oracle@localhost ~]$ cat /home/oracle/.bash_profile
  2. ...
  3. PATH=$PATH:$HOME/.local/bin:$HOME/bin
  4. export PATH
  5.  
  6. export ORACLE_BASE=/usr/oracle
  7. export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
  8. export ORACLE_SID=orcl
  9. export ORACLE_TERM=xterm
  10. export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
  11. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  12. export LANG=C
  13. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #客户端字符集
  1. 进入编辑界面,将ZHS16GBK改为AL32UTF8,保存退出
  2. [oracle@localhost ~]$ vim /home/oracle/.bash_profile
  3. 使配置生效
  4. [oracle@localhost ~]$ source /home/oracle/.bash_profile

修改完成

参考博客

CentOS 7安装Oracle 11gR2以及设置自启动

https://www.cnblogs.com/VoiceOfDreams/p/8308601.html

CentOS 7安装Oracle 11gR2以及设置自启动(2)的更多相关文章

  1. CentOS 7安装Oracle 11gR2以及设置自启动(1)

    一.环境准备 1.正确无误的CentOS 7系统环境 虚拟机要求: 内存至少2G 处理器至少2个 根分区要大于20G(安装oracle很占空间,空闲空间要足够) 2.正确的JDK环境 CentOS 7 ...

  2. CentOS 7安装Oracle 11gR2以及设置自启动

    一.环境准备 1.正确无误的CentOS 7系统环境 CentOS 7安装:http://www.cnblogs.com/VoiceOfDreams/p/8043958.html 2.正确的JDK环境 ...

  3. CentOS 7 安装Oracle 11gR2

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  4. CentOS静默安装Oracle 11gR2(x64)

    环境 OS: CentOS 7.4; hosts: L134; IP: 192.168.1.134 DB: linux.x64_11gR2_database 安装依赖包 yum install -y ...

  5. CentOS 6安装Oracle 11gR2数据库

    1.安装环境--- 操作系统:CentOS release 6.8 (Final) oracle:Oracle Database 11g Enterprise Edition Release 11.2 ...

  6. Centos 6下安装Oracle 11gR2

    一.安装环境 CentOS release 6.7 (Final) Oracle Database 11g Release 2 二.安装前准备 #修改主机名 修改/etc/sysconfig/netw ...

  7. CentOS 7 安装 Oracle 11.2.0.4

    一.安装环境 CentOS Linux release 7.2.1511 (Core) Oracle Database 11g Release 2 (11.2.0.4) 二.安装前准备 2.1 修改主 ...

  8. CentOS 7 之安装 Oracle 11gR2

    一.准备工作 1.下载Oracle安装包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip ,可以下载到本地, ...

  9. CentOS安装Oracle 11gR2(x64)

    本文主要步骤是参考:https://www.linuxidc.com/Linux/2014-02/97374.htm 后来自己加入了一些安装过程中遇到的问题和解决方法.使用图形界面安装Oracle已经 ...

随机推荐

  1. 纯js常用的代码

    1.获取表单中某属性的值 var name = document.myform.myname.value; 2.表单提交时校验,相应js代码中需要返回true或者false <form name ...

  2. mysql新建用户在本地无法登录

    新建了一个mysql用户,但是无法在本地登录,即使已经授权任一ip都可以登录,甚至特地写清楚localhost登录,还是不行,情况如下 [root@localhost zabbix-release-3 ...

  3. buckaroo 去中心化的c++包管理工具

    buckaroo 是一款去中心化的c++ 包管理工具,使用上,类似yarn(nodejs),cargo (rust) ,使用buckaroo 我们可以很容易集成一个大规模的项目 支持以下特性 直接从G ...

  4. 手动部署etcd-2018-0731

    手动部署很简单,这里花了10分钟搞定 部署etcd 3台机器 etcd:由于 raft 算法的特性,集群的节点数必须是奇数 [root@linux-node1 ~]# cat /etc/hosts 1 ...

  5. (转)mysql创建表时反引号的作用

    试用navicat工具查看现网mysql建表语句时,发现表名和字段名都是反引号引起来的 CREATE TABLE `tab_notice_title_tv` ( `i_id` int(11) NOT ...

  6. Serv-U设置被动模式(FTP工具)

    FTP服务器在公司内网,通过端口映射把21端口映射出去. 公司一些机器也在各个省的机房内网.好在这些机器可以访问公网.由于各个地区的机器托管在各个地区机房. 我有公司防火墙的权限,可以做防火墙上做端口 ...

  7. Centos Java环境(转)

    https://jingyan.baidu.com/article/d7130635e6118213fdf47589.htm 解压jdk的安装包.   将解压后的文件夹重命名,便于后续操作(非必需) ...

  8. 修改 spawn node.exe" ENOENT at notFoundError问题

    Ionic server启动后,出现spawn node.exe" ENOENT at notFoundError ...\node_modules\cross-spawn\lib\enoe ...

  9. R基于Bayes理论实现中文人员特性的性别判定

    参见 基于中文人员特征的性别判定方法  理论,告诉一个名字,来猜猜是男是女,多多少少有点算命的味道.此命题是一种有监督的学习方法,从标注好的训练数据学习到一个预测模型,然后对未标注的数据进行预测. 1 ...

  10. 【java】函数重载

    重载概念(Overloading): 在同一个类中,允许存在一个以上的同名函数,主要他们的参数个数和参数类型不同即可 重载特点: 与返回值无关,只和参数类型和参数个数有关系(重载只和参数列表有关系) ...