注:由于给我的这台Server需要telnet登陆,所以Down下来的oracle 安装包没办法用putty传过去,所以只有想其他的办法.(原本以为字符界面的快,不用那么多步骤.可是.......)
上网搜索一下,知道在Windows 下有一个强大的命令---------ftp.(介绍一下?)
FTP bin
FTP lcd $PATH (我的$PATH= D:\cyaln\study_source\oracle)
(注:1 . 这样传输过去的时候,文件将存放在/HOME/$ID目录下.
FTP by (传送成功以后一定要跟FTP说再见哦! ^-^)
这样,我们的AIX机器上就有了我们的oracle安装压缩包.(这也是工程一件哦^-^)
做完以上步骤就会生成一个Disk1的目录.
真正的实战开始了(注意注意...........................)
第一段:确认系统硬件环境
Oracle10g最低安装要求:
下面是确认过程:
①.、确认内存大小(1G)
localhost /usr/sbin/lsattr -E -l sys0 -a realmem
这里oracle10g安装文档写错了,将"sys0(数字0)"写成了"sysO(字母O)".
localhost /usr/sbin/lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type
localhost df -k
/proc - - - - - /proc
localhost /usr/bin/getconf HARDWARE_BITMODE
# lsdev -C |grep proc
proc0 Available 00-00 Processor
proc1 Available 00-01 Processor
# lsattr -E -l proc0
state enable Processor state False
# lsattr -E -l proc1
第二段:确认系统软件环境
localhost oslevel -r
localhost lslpp -l bos.adt.base bos.adt.lib bos.adt.libm
bos.perf.perfstat bos.perf.libperfstat bos.perf.proctools
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
Toolkit
Libraries
Math Library
Interface
Path: /etc/objrepos
可以看到bos.perf.proctools没有安装,用smitty安装上即可.现在查看确认:
localhost lslpp -l bos.perf.proctools
注意哦,认真操作每一个步骤哦 ^-^ ^-^ ^-^ ^-^ ^-^
useradd - g oinstall –G dba –d /home/oracle –s /usr/bin/bash –m oracle
passwd oracle
完成以后:用oracle用户进行登陆修改 .profile
su - oracle
ORACLE_BASE=/home/oracle
实例名称ORACLE_SID=test
数据库名称:test
/home/oracle/admin/test/cdump
/home/oracle/admin/test/bdump
/home/oracle/admin/test/udump
/home/oracle/admin/test/pfile
/home/oracle/oradata/test
附:我的.profile文件
if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG" # operation, the Shell checks
fi # periodically.
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_HOME
export ORACLE_BASE=/home/oracle
export ORACLE_SID=test
unset USERNAME
PATH=$PATHHOME/binORACLE_HOME/bin;
export PATH
这一步骤是字符界面装oracle的关键步骤
$su – oracle
$cd /$HOME/$ID/Disk1/response
$cp custom.rsp myinst.rsp
$vi myinst.rsp
在myinst.rsp的最前面有一段说明,应该仔细看看,特别要注意它定义的几个数据变量格式的写法,如下:
Type Example
String "Sample Value"
Boolean True or False
Number 1000
其后都是安装oracle时所需要定义的变量,其值有三种情况,一是已经有默认值的,几乎可以不用管它.二是值等于的,这种变量是非图形界面安装10g所必需要指定的变量,一定要修改成合适的值,第三种变量的值等于,说明它的值是和别的变量值关联的,也可以不用管它.需要把第二类变量的值逐个修改.
更改情况如下,可根据实际情况修改其它变量的值:
ORACLE_HOME_NAME="TEST"
s_nameForDBAGrp="dba"
s_nameForOPERGrp="dba"
SHOW_DATABASE_CONFIGURATION_PAGE=false
b_createStarterDB=false (不创建数据库)
SHOW_DATABASE_OPTIONS_PAGE=false
s_globalDBName="test"
s_dbSid="test"
SHOW_DATABASE_MANAGEMENT_PAGE=false
SHOW_DATABASE_FILE_STORAGE_OPTION_PAGE=false
SHOW_BACKUP_RECOVERY_OPTION_PAGE=false
SHOW_SCHEMA_PASSWORDS_PAGE=false
改完后存盘退出
第三段:运行安装oracle
①.、以root执行# ./rootpre.sh
$cd @/Disk1/
$./runInstaller –silent –responseFile @/Disk1/response/myinst.rsp
这样Oracle 10g就开始安装了
安装进程的步骤如下:
a.检测temp 和swap分区的大小
b.查系统补丁是否满足需要
c.到response文件中读取信息
d.copy 相关文件
e.link and setup
f.提示运行root.sh,根据提示,用root用户去运行root.sh就行了
一般出错的地方容易在b、c步骤,如果是系统补丁没打全,则根据提示把系统补丁打好,如果是在c的地方出错,说明你的response文件信息有误,需要重新修改response文件.
至此,不起图形界面安装oracle 10g就完成了
第四段:后续工作
建数据库.
此次安装中并未建库,关于用脚本建库的方法,和以前版本的oracle类似,这里不再具体说明了.
众所周知,一般操作系统会提供定时执行任务的方法,例如:Unix平台上提供了让系统定时执行任务的命令Crontab.但是,对于某些需求,例如:一些对数据库表的操作,最为典型的是证券交易所每日收盘后的结算,它涉及大量的数据库表操作,如果仍然利用操作系统去定时执行,不仅需要大量的编程工作,而且还会出现用户不一致等运行错误,甚至导致程序无法执行.
第一段:分析问题
事实上,对于以上需求,我们可以利用数据库本身拥有的功能Job Queue(任务队列管理器)去实现.任务队列管理器允许用户提前调度和安排某一任务,使其能在指定的时间点或时间段内自动执行一次或多次,由于任务在数据库中被执行,所以执行效率很高.
任务队列管理器允许我们定制任务的执行时间,并提供了灵活的处理方式,还可以通过配置,安排任务在系统用户访问量少的时段内执行,极大地提高了工作效率.例如,对于数据库日常的备份、更新、删除和复制等耗时长、重复性强的工作,我们就可以利用任务队列管理器去自动执行以减少工作量.
第二段:实现步骤
①..确保Oracle的工作模式允许启动任务队列管理器
Oracle定时执行"Job Queue"的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以DBA的身份去执行如下命令:
svrmgrl alter system enable restricted session;
或sql alter system disenable restricted session;
利用如上命令更改系统的会话方式为disenable restricted,为SNP的启动创造条件.
job_queue_process=n
job_queue_interval=N
如果该文件中没有上面两行,请按照如上配置添加.配置完成后,需要重新启动数据库,使其生效.注意:如果任务要求执行的间隔很短的话,N的配置也要相应地小一点.
调用Oracle的dbms_job包中的存储过程,将任务加入到任务队列中:
dbms_job.submit( job out binary_integer,
next_date in date,
no_parse in boolean)
其中:
●job:输出变量,是此任务在任务队列中的编号;
●what:执行的任务的名称及其输入参数;
●next_date:任务执行的时间;
●interval:任务执行的时间间隔.
下面详细讨论一下dbms_job.submit中的参数interval.严格地讲,interval是指上一次执行结束到下一次开始执行的时间间隔,当interval设置为null时,该job执行结束后,就被从队列中删除.假如我们需要该job周期性地执行,则要用'sysdate+m'表示.
将任务加入到任务队列之前,要确定执行任务的数据库用户,若用户是scott, 则需要确保该用户拥有执行包dbms_job的权限;若没有,需要以DBA的身份将权利授予scott用户:
svrmgrl grant execute on dbms_job to scott;
例如,我们已经建立了一个存储过程,其名称为my_job,在sql/plus中以scott用户身份登录,执行如下命令:
sql variable n number;
sql begin
dbms_job.submit(:n'my_job;',sysdate,
commit;
end;
/
系统提示执行成功.
Sql print :n;
sql select job,next_date,next_sec,failures,broken from user_jobs;
执行结果如下:
job next_date next_sec failures broken
除了以上我们讨论的submit存储过程之外,Oracle还提供了其他许多存储过程来操作任务.例如:dbms_job.change 、 dbms_job.what、dbms_job.interval可以用来修改提交的任务.要想删除该任务,只需运行dbms_job.remove(n)即可,其中n为任务号.
Oracle执行外部文件:
c:sqlplus
执行多个sql文件:
①把所有的文件都放在同一个目录下,然后在命令行里执行命令:
c:dir/b
d:/1.sql
会把所有的sql文件名都输出到一个sql文件中.
mode,给所有的行前都添加一个"@",保存.
如何避免''字符:
sql中可以传递参数,但有时需要插入'',例:
SQL
select
'hello'
v
from
dual;
输入
hello
的值:
原值
dual
新值
-----
可以使用如下方法避免:
A:
||
V
------
B:
set
define
off
①.,非集群下 Windows环境下数据库
(SERVER = DEDICATED)(SERVICE_NAME = orcl)))
Linux环境下数据库
orcl)))
(SERVICE_NAME=orcl)))
扩展资料
在命令行中登录oracle数据库:
sqlplus username/password ?如:普通用户登录 ?sqlplus scott/tiger
sqlplus username/password as sysdba 如:sqlplus sys/admin as sysdba
sqlplus username/password@//host:port/sid
参考资料:百度百科 - Oracle数据库
如果指的是windows下的ORACLE这个问题其实很简单的.
ORACLE的起动、停止实际上就是服务的起动和停止.
去控制面版中的 服务 中,找到对应的服务,查看服务名,然后在命令窗中键入以下指令:
net stop OracleXXXXTNSListener
net stop OracleXXXX
你的OracleXXXXTNSListener监听就停了,然后你的OracleXXXX服务也停了,那么,你的OR数据库也就完全停下来了.
要起动,就输入下面的指令:
net start OracleXXXX
net start OracleXXXXTNSListener
注意,先起动OR库,后起动监听.(反过来好象是不行的,你自个试).
最后,如果你是需要先停,再重起,那就把这四行写到一个批处理中,一次性执行就好.
①.:在oracle后台管理界面输入语句查找system用户的密码.
具体命令为输入:Select username,password
dba_users
where
username='SYSTEM',并将查到的密码记录.
user
system identified
by
oracle
;connect
system/oracle