设为首页 收藏本站
查看: 1849|回复: 0

[经验分享] redhat 安装oracle数据库xe版

[复制链接]

尚未签到

发表于 2018-5-10 08:16:26 | 显示全部楼层 |阅读模式
  yum install libaio*  来安装libaio包
  

  之后解压安装包,
  

  unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
  

  进入Disk1文件夹
  

  安装解压后的rpm包
  

  rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
  

  安装成功后会提示成功,然后以super user身份运行以下脚本进行配置:
  

  # /etc/init.d/oracle-xe configure
  

  包括http的端口,如果你的服务器上运行了tomcat 而且没有改过端口配置 要把默认的8080端口换掉以免冲突。
  

  另外,程序还会要求你为默认管理员账户 sys 设置密码。随后会等待一段时间,请耐心。
  

  安装结束后,系统会自动建立一个名为oracle的用户,home dir位置在 /u01/app/oracle 也就是数据库安装的位置。
  

  为了使用方便,我们可以把个人用户home目录下的.bashrc 和.bash_profile拷贝到该目录下,再用chown改变文件所属:
  

  # chown oracle .bash_profile
  

  

  # chown oracle .bashrc
  

  # chmod 755 .bash_profile
  

  # chmod 755 .bashrc
  

  之后, 我们要设置一下环境变量:
  

  修改/etc/profile文件,添加如下内容:
  

  # Oracle Settings
  

  TMP=/tmp; export TMP
  TMPDIR=$TMP; export TMPDIR
  ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME
  ORACLE_SID=XE; export ORACLE_SID
  ORACLE_TERM=xterm; export ORACLE_TERM
  PATH=/usr/sbin:$PATH; export PATH
  PATH=$ORACLE_HOME/bin:$PATH; export PATH
  TNS_ADMIN=$ORACLE_HOME/network/admin
  LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
  CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
  

  if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
  else
  ulimit -u 16384 -n 65536
  fi
  fi
  

  

  注意:以下几点:
  

  XE版本里只能有一个instance, 我将SID修改了以后貌似会报错,所以SID就不用修改了。
  

  BASE和HOME两个变量后尽量不要加斜线 '/' ,有可能会报错,虽然不知到为什么... 同时,TNS_ADMIN这个变量一定要有。
  

  修改完后使用命令 # source /etc/profile 重新加载改文件。
  

  输入 echo $ORACLE_BASE修改是否成功。
  

  

  

  

  

  

  初始化数据库:
  # su Oracle
  

  如果不知道密码 可以用 # passwd oracle重新设置
  

  修改init.ora:
  

  cd  /u01/app/oracle/product/11.2.0/xe/dbs/
  

  cp init.ora initXE.ora
  

  vi initXE.ora
  

  将该文件修改成如下内容:
  

  db_name='XE'
  memory_target=1G
  processes = 150
  audit_file_dest='/u01/app/oracle/admin/orcl/adump'
  audit_trail ='db'
  db_block_size=8192
  db_domain=''
  db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
  db_recovery_file_dest_size=2G
  diagnostic_dest='/u01/app/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 = ('/u01/app/oracle/oradata/', '/u01/app/oracle/oradata/')
  compatible ='11.2.0'
  

  

  切换只oracle用户 使用sqlplus链接数据库
  

  sqlplus /nolog
  

  进入sqlplus控制台
  

  SQL> connect as sysdba
  

  提示输入用户名密码: 使用sys/password登录
  

  启动并装载数据库
  

  SQL>  startup mount
  

  11g xe版本已经内置了一个设置好的数据库 XE, 因此不许要手动创建数据库,但是需要初始化数据库结构
  

  运行一下两行代码:
  

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

  

  等待出现提示complete之后,进行下一步。
  

  如果运行过程中出现database didn‘t open 则需要重新启动并装载数据库。 【Linux公社 http://www.linuxidc.com 】
  

  接下来创建用户,初始数据库中应当已经存在users表,因此直接插入数据就可以了:
  

  SQL> create user myaccount
  2   identified by “mypassword”
  3   default tablespace users;
  

  授权用户:
  

  SQL> grant dba to myaccount;
  

  

  之后可以exit然后用该用户登录。
  

  插表测试:
  

  SQL> create table test_table (txt varchar2(100) not null);
  SQL> insert into test_table values('Hello world !');
  

  

  插入数据成功后查询
  

  SQL> select * from test_table;
  

  如果查询成功,那么恭喜你,大功告成了!
  

  本人也是新手,如果文章有什么写的不对的地方,欢迎指正。
  

  -----------------------------------------------------------------
  

  一些问题:
  

  如果出现错误:
  

  ORA-01034: ORACLE not available
  ORA-27101: shared memory realm does not exist
  

  

  一般是由于数据库没有启动,需要以DBA身份登录数据库后输入startup
  

  在做之前请确保/u01/app/oracle/product/11.2.0/xe/dbs/文件夹中 存在init<SID>.orc文件存在
  

  ORA-00845:MEMORY_TARGET not supported on this system
  

  请查看你的init.orc文件中memory_target项中的值是否小于tmpfs,否则请扩充tmpfs容量。
  

  ORA-44410:XE edition single instance violation error
  

  XE版本中只能有唯一一个instance,笔者安装时,程序自动生成了一个叫做XE的instance并且路径已经设置好,至于如何添加新的instance请高人指明。
  

  或者
  

  保证你环境变量没有以'/'结尾 同时TNS_ADMIN变量已经设置。至于为什么这么改..希望有高人也能告诉我。
  

  ORA-01261:Parameter db_recovery_file_dest destination string connot be translated
  

  ORA-01262:Stat failed on a file destination directory
  

  关于这个错误,比较无语,在init.orc中,db_recovery_file_dest destination 这一项的初始值是"<ORACLE_BASE>/flash_recovery_area"
  

  如果你只修改了<ORACLE_BASE>你就会得到这个错误,因为在$ORACLE_BASE下只有一个文件叫做fast_recovery_area,把后面的文件名修改匹配后,问题解决。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-457850-1-1.html 上篇帖子: redhat mysql 安装配置及基本操作 下篇帖子: Redhat shell脚本练习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表