使用以下 shell 脚本,为什么会出现错误
syntax error near unexpected token `else'
Run Code Online (Sandbox Code Playgroud)
外壳脚本
echo "please enter username"
read user_name
echo "please enter password"
read -s pass
echo ${ORACLE_SID}
SID=${ORACLE_SID}
if ["${ORACLE_SID}" != 'Test'] then
sqlplus -s -l $USER_NAME/$PASS@$SID <<EOF
copy from scott/tiger@orcl insert EMP using select * from EMP
exit
EOF
else
echo "Cannot copy"
fi
Run Code Online (Sandbox Code Playgroud) Oracle 网站为其 11g 版本提供 64 位 RPM。他们在某处提供 32 位还是其他人提供?有可用的 Debian 二进制文件吗?
我在 Mac OSX 上使用 Oracle Virtualbox 4.2.18 作为来宾 Linux 环境,因此我可以使用它来托管 Oracle DB (11G R2)。
我遇到的问题是,每天在不同时间点,虚拟盒子实例的系统时间与实际时间不同步。通常它会落后 10 分钟,一段时间后它会自行纠正。这是一个特别的烦恼,因为这意味着我的 Oracle 数据库系统时间也不正确,这会影响某些事务的处理。
所以我的问题是,有什么办法可以纠正这个问题吗?
我正在尝试在 Linux 6.1 上安装 Oracle 11g r2,但几天后我没有成功。当我完成了 oracle 11 g 的所有先决条件后。但是当我运行安装程序时,我收到了这个错误
Checking Temp space: must be greater than 80 MB. Actual 18741 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 linux 建立到 oracle db 的 odbc 连接。当我以 root 身份登录时,它可以工作。我的根配置文件如下:
more ~/.profile
export ODBCINI=/etc/unixODBC/odbc.ini
export ODBCSYSINI=/etc/unixODBC
Run Code Online (Sandbox Code Playgroud)
但是,当我以普通用户身份登录时,我无法进行 odbc 连接。我收到此错误:
[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified
Run Code Online (Sandbox Code Playgroud)
我不确定这里的问题是什么,但我想也许我将 root 配置文件提供给其他用户它可能会解决我的问题。您如何向所有其他用户展示 root 配置文件?有什么想法可能会在这里发生吗?
附加信息:
这是我的 tnsnames.ora 文件,如下所示:
Data =
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = off)
(FAILOVER = ON)
(ADDRESS = (PROTOCOL = TCP)(HOST = server1.example.com )(PORT = 1521))
)
(CONNECT_DATA =
(service_name = Data)
)
)
Run Code Online (Sandbox Code Playgroud)
这就是 odbc.ini:
[Data]
Driver=Oracle …
Run Code Online (Sandbox Code Playgroud) 我试着通过维基
我能够完成直到这里。
wget --http-user "I accept www.opensource.org/licenses/cpl" --http-password "." http://www.research.att.com/~gsf/download/tgz/INIT.2011-02-08.tgz
Run Code Online (Sandbox Code Playgroud)
然后,它说没有找到 INIT 包。不知道下一步该怎么做。
我试图去 Oracle 下载并通过解压缩和尝试设置来继续。它显示了许多错误。
我想知道是否有人在 Arch 上成功安装了 Oracle?
编辑:
我在上面的链接中尝试了以下内容:
[srikanth@myhost Downloads]$ tar -xvf oracle.tar.gz
oracle
oracle/PKGBUILD
oracle/oracle.install
oracle/ee.rsp.patch
oracle/oracledb
[srikanth@myhost Downloads]$ cd oracle
[srikanth@myhost oracle]$ ls
ee.rsp.patch oracledb oracle.install PKGBUILD
[srikanth@myhost oracle]$ makepkg -s
==> Making package: oracle 11gR1-1 (Thu Jan 19 21:54:20 CST 2012)
==> Checking runtime dependencies...
==> Installing missing dependencies...
Password:
error: target not found: ksh
==> ERROR: 'pacman' failed to install missing …
Run Code Online (Sandbox Code Playgroud) $ prstat -t
NPROC USERNAME SWAP RSS MEMORY TIME CPU
164 oracle 5446M 5445M 8.3% 13:47:50 1.6%
52 root 576M 728M 1.1% 42:29:50 1.0%
1 noaccess 300M 273M 0.4% 0:20:54 0.0%
1 smmsp 2192K 9912K 0.0% 0:00:06 0.0%
1 nagios 584K 4256K 0.0% 0:01:54 0.0%
6 daemon 8360K 11M 0.0% 0:12:39 0.0%
Total: 225 processes, 839 lwps, load averages: 1.68, 1.58, 1.46
Run Code Online (Sandbox Code Playgroud)
以上是prstat
已Oracle 11g
安装的Solaris Box 上的命令输出。Solaris 机器上的 RAM 是64GB
oracle 进程似乎正在交换5.5 GB
,这正常吗?感谢您提供有关获取更细粒度信息的任何建议!
我想知道是否有办法确定 $PATH 变量的特定部分的设置位置。
大约一年半前,我经历了在我的计算机上为我正在学习的课程设置 Oracle XE 11.2.0 的繁琐过程。在此过程中的某个位置,我将路径“/u01/app/oracle/product/11.2.0/xe/bin”添加到我的 $PATH 变量中以使事情正常运行。现在我已经删除了 Oracle DB 专用的根 /u01/ 文件夹,因此 bash 在启动时会抛出错误,表明该文件或目录不存在。所以我手动查看了我能找到的所有可能的文件,但什么也没有。
据我所知, $PATH 的该部分未在以下任何文件中设置
:/etc/login.defs
、~/.profile
、/etc/environment
、/etc/profile
、~/.bash_login
或。~/.bash_profile
~/.bashrc
cat ~/.bashrc | grep "*oracle*"
首先通过运行上面列出的每个文件来验证这一点。我什至做了疯狂的事情并跑sudo strings /dev/sdb -n 11 | grep -C100 "/u01/app/oracle/*"
给我包含该字符串的每个文件的列表。我得到了很多结果,但没有什么特别有价值的。我可怜的 SSD 不值得这样。
那么有什么建议吗?我怎样才能找到 $PATH 的那部分被连接到的位置?我还应该检查其他典型文件吗?如果可以缩小范围的话,我正在 Linux Mint 18.3 上运行它。
我有两台虚拟机ubuntu,一台是我安装oracle 11g express时的服务器,另一台是简单的客户端。我的目标是从客户端计算机远程运行 sql 查询。所以我准备了查询并将其发送到服务器。但是在下面的脚本中,建立到服务器的连接后,sqlplus不起作用。它向我显示了以下错误:
Sqlplus:找不到命令
在这项工作中,我使用了这个脚本:
#! /bin/bash
read -p "saisir votre requete: " req
printf "%s\n" "$req" > t1.txt
sed -e 's/[;,()'\'']/ /g;s/ */ /g' t1.txt > t.txt
`tr -s '[[:blank:]]' '\n' < t.txt `|
while IFS= read -r word; do
if ! [[ "$word" =~ $(echo ^\($(paste -sd'|' ./req.txt)\)$) ]]; then
var=$(base64 <<< $word)
sed -i -e "s/$word/$var/g" t1.txt
fi
done
enter code here
scp requete.sql cloud1@1.0.0.1:/home/cloud1
#Conection to the Server
ssh cloud1@1.0.0.1 '/home/cloud1/Cloud-Serv'
Run Code Online (Sandbox Code Playgroud)
并且文件 Cloud-Serv 包含以下代码: …
shell ×2
arch-linux ×1
bash ×1
grep ×1
java ×1
linux-mint ×1
osx ×1
path ×1
shell-script ×1
solaris ×1
swap ×1
virtualbox ×1