温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

redhat 安装oracle数据库xe版

发布时间:2020-06-30 20:03:24 来源:网络 阅读:577 作者:wangyq20132013 栏目:数据库

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,把后面的文件名修改匹配后,问题解决。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI