问: 假设我有这个脚本: export.bash #!.../usr/bin/env bash export VAR="HELLO, VAR" 当我执行脚本并尝试访问 $VAR 时,我没有得到任何值!...echo $VAR 有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR? 答: 不可以。 但是有几种可能的解决办法。.../bin/bash echo export FOO=BAR $ eval "$(....-f 指 shell 函数 -n 从每个(变量)名称中删除 export 属性 -p 显示所有导出变量和函数的列表 ---- 参考: stackoverflow question 16618071
这个其实就是客户端对应的process,因为是从服务端登录,所以在服务端应该会有两个process来对应,一个相当于客户端,一个相当于服务端。...paddr是process对应的内存地址,在查询v$process的很有用。...可以看到,28490是通过sqlplus的方式登录的。而且是另外一个连接的父进程。这个进程就是我们需要查询的在服务端存在的映射进程。...00:00:00 oraclePETtest1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 我们来查询v$process,看process是不是存在...session在客户端请求 通过sqlplus从客户端登陆。
本文主要讨论了如何将shell脚本的参数传递到SQL脚本之中并执行SQL查询。 ...有关shell与SQL之间的变量传递,请参考: Linux/Unix shell sql 之间传递变量 1、启动sqlplus时执行脚本并传递参数 robin@SZDB:~/dba_scripts/...DBID SNAP_LEVEL ---------- ---------- ---------- 36263 3509254984 1 5、小结 a、本文主要描述了将shell...的参数传递给SQL脚本 b、方式1的用法是直接将shell变量跟在脚本之后, sqlplus userid/pwd @script_name $para1 $para2 c、方式2是启动sqlplus后在...SQL提示符下来传递参数, SQL>@script_name $para1 $para2 d、方式3则是将shell变量的值先传递给define定义的变量,然后再传递给SQL脚本 SQL>@script_name
oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 进入容器,进行基本设置 docker exec -it oracle11g bash.../usr/bin 在oracle用户下,进入sqlplus,使用sys as sysdba 登录,解锁scott用户,查询表数据。...su - oracle source /etc/profile sqlplus /nolog conn sys/123456 as sysdba alter user scott account...into student2 values('tom', 1, 21, 2, 'China'); insert into student values('tony', 1, 21, 2, 'US'); 查询数据...Oldest online log sequence 1 Next log sequence to archive 2 Current log sequence 2 本文为从大数据到人工智能博主
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录 # 普通用户 sqlplus /...二、查询操作 1.查看oracle数据库名DB_NAME: su oracle sqlplus / as sysdba # 登录 conn C##CA6/11111111 select name from...echo $ORACLE_HOME # 若未配置环境变量 more /etc/oratab4 5.查看oracle数据库ORACLE_BASE位置(根目录): cat /home/oracle/.bash_profile...; SELECT Userenv('language') FROM dual; 7.查看oracle数据库时区:() select dbtimezone from dual; --------查询数据库时区...select sessiontimezone from dual; --------查询session时区 8.查看oracle数据库MEMORY_TARGET: show parameter
一、几个术语之间的定义(参照Oracle 9i &10g 编程艺术) 连接(connection):连接是从客户到Oracle 实例的一条物理路径。...单个连接,多个会话,单个进程 -->从视图中观察对应的session与后台进程...DML或DQL操作执行 d.新会话(139,25)将再次查询...INACTIVE SCOTT oracle@oradb.robinson.com (TNS V1-V3) 5.SID不变,serial#变化的情形 -->将所有的会话全部退出...00:00:00 grep oracleorcl [oracle@oradb ~]$ sqlplus
bash-3.00$ export ORACLE_SID=ractest1 bash-3.00$ sqlplus "/as sysdba" 已连接到空闲例程。...登录ASM实例进行简单的检查: bash-3.00$ export ORACLE_SID=+ASM1 bash-3.00$ sqlplus "/as sysdba" SQL> set pages 100...实在没有什么太好的查错办法,只能重启数据库和ASM实例,再次检查问题: bash-3.00$ export ORACLE_SID=test bash-3.00$ sqlplus "/as sysdba"...exit bash-3.00$ export ORACLE_SID=+ASM1 bash-3.00$ sqlplus "/as sysdba" SQL> shutdown immediate ^CORA...不过ASM实例也是在两个节点上同时运行的,莫非是在另一个节点的ASM实例出现了问题: bash-3.00$ export ORACLE_SID=+ASM2 bash-3.00$ sqlplus "/as
其它相关的参考: Linux/Unix shell 脚本中调用SQL,RMAN脚本 Linux/Unix shell sql 之间传递变量 1、将pl/sql代码逐行输入到临时文件 robin@...\n" $ORACLE_HOME/bin/sqlplus -s "/ as sysdba" > /tmp/plsql_scr_result.log << EOF @/tmp/plsql_scr.sql...echo " Check the reslut " echo "------------------------" cat /tmp/plsql_scr_result.log exit #上面的代码是查询指定...#通过逐行逐行的方式将代码添加到文件以形成pl/sql代码。 #需要注意转义字符的使用,对于parameter 的$符号,我们进行了转义。...\n" $ORACLE_HOME/bin/sqlplus -s "/ as sysdba" @/tmp/plsql_scr.sql >/tmp/plsql_scr_result.log fi
基本上每天工作都离不开它,但是这个工具有些不太好用: Linux 系统下 sqlplus 无法上下文切换查看编辑历史命令,敲错命令需要按住 CTRL 键才能删除 SQL 查询,输出结果格式错乱,每次都需要手动...##配置oracle用户环境变量 cat >/home/oracle/.bash_profile alias sqlplus='rlwrap sqlplus' alias rman='rlwrap...sqlplus 脚本中的任何内容,例如系统变量设置或 DBA 想要实现的其他全局设置 1、未做配置时,默认如下: 此时,我登录SQL*PLUS并执行sql查询,看一下输出结果格式。...未配置 glogin.sql 时,查询结果输出: 可以看到,查询结果格式很乱,而且连进去之后也看不到当前实例名和用户名。...具体配置可根据个人常用进行配置,比如可以将查询表空间使用率配置进去,每次打开都可以看到表空间使用率,防止数据文件撑爆。
sqlplus / as sysdba startup sqlplus scott/tiger vi .bash_profile 容宽不够 set lines 200 set pages 200 确定数据量...select * from emp; 语言:{ 一 机器语言 二汇编 三C-(c c++ java c#) 四SQL } SQL基本语法: select 标识 选择那些列 from标识从哪个表选择...emp; # as加和不加都可以 加是老标准 连接符 || select 'alter user '||ename||' account unlock;' from emp; 过滤和排序数据 在查询中过滤...=30; 查询 是否为空 select * from emp where comm is null; 去重 distinct select distinct deptno from emp;...by sal; 降序排列: select * from emp order by sal desc; 也可以 跟序号 select * from emp order by 6 desc; 多表查询
To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash...49160是我们用ssh连接对应的端口 49161是我们连接sqlplus对应的端口 49162是我们连接oem对应的端口 ---- oracle数据库连接对应信息 hostname: 192.168.99.100...boot2docker ip获取) port: 49161 sid: xe username: system password: oracle SYS的密码oracle 接下来我们启动容器 并进入sqlplus...界面 使用docker exec -it :在容器里执行命令,并输出结果 docker exec -it 0deb75d61474 /bin/bash 其中 ...0deb75d61474 是我们的containerID 可以通过docker ps查询容器信息 接下来我们可以进入sqlplus界面 如图 ?
目录 1 问题 2 解决 1 问题 我们在linux里面安装了oracle,进入oracle的客户端,在输入sql命令进行查询,写错了需要退格,或者使用上下键切换历史命令; 发现会出现乱码,这种情况咋解决.../configure make make install 4,设置环境变量 vim /home/oracle/.bash_profile 在尾部添加 alias sqlplus='rlwrap...sqlplus' alias rman='rlwrap rman' 设置生效 source /home/oracle/.bash_profile 完美解决问题 以上弄完之后,重新启动oracle,
gqlplus gqlplus 是 Oracle 编写的 sqlplus 版本,带有命令行编辑和历史记录。除此之外,它与 sqlplus 的功能完全相同,因此 sqlplus 用户不需要进行任何培训。...命令行编辑的操作如同在 bash/tcsh shell 中一样。 Yet Another SQL*Plus Replacement YASQL 是一种开放源代码 Oracle 命令行接口。...Oracle Direct Path Daemon Oracle Direct Path Daemon (odpd) 是一种实用程序,它通过 Oracle 调用接口 (OCI) 直接路径 API 将数据从普通文件转移到...它可将动态查询导出到 web。...支持 10 种查询缓冲器以及元数据浏览。与 Toad 和 sqlplus 相比,它是具有竞争力的免费程序。
,提示不人性化 注意:以上问题均为SQLPlus默认配置下。...##配置oracle用户环境变量 cat >/home/oracle/.bash_profile alias sqlplus='rlwrap sqlplus' alias rman='rlwrap...glogin.sql 存放在目录$ORACLE_HOME/sqlplus/admin/下。 每当用户启动 SQLPlus 会话并成功建立 Oracle 数据库连接时,SQLPlus 就会执行此脚本。...此时,我登录SQL*PLUS并执行sql查询,看一下输出结果格式。 演示:未配置glogin.sql时,查询结果输出: ?...具体配置可根据个人常用进行配置,比如可以将查询表空间使用率配置进去,每次打开都可以看到表空间使用率,防止数据文件撑爆。
本文将介绍最常见的两种乱码情况解决方法。...二、sqlplus 字符集乱码 系统乱码解决后,sqlplus登录还有可能会显示乱码,表现如下: ``` $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0...的回显是英文,如果想sqlplus回显为中文,可以设置为: export NLS_LANG="simplified chinese_china.utf8" 此时再次登陆sqlplus发现字符集已显示正常...USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 69111 下一个存档日志序列 69114 当前日志序列 69114 SQL> 当然,为方便操作,还可以选择将NLS_LANG...一般情况下: bash 对应配置文件 ~/.bash_profile csh 对应配置文件 ~/.cshrc 至此,我们就可以顺畅的操作,不再有字符集乱码的烦恼了。
=CNMMBO sqlplus -S /nolog @/users/oracle/dept.sql #注意此处执行sql脚本的方法 -S 表示以静默方式执行 exit #授予脚本执行权限 oracle.../rman_bak.sh 二、嵌入sql语句及rman到shell脚本 1、直接将sql语句嵌入到shell脚本 oracle@SZDB:~> more get_dept_2.sh #!...20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 2、直接将sql...80 select * from dept; exit; EOF cat /users/oracle/dept.log exit #另一种实现方式,将所有的sql语句输出来生成sql脚本后再调用 oracle.../nolog @get_dept.sql 1>/users/oracle/get_dept.log 2>&1 cat get_dept.log exit 3、将rman脚本嵌入到shell脚本 oracle
/bin/bash RETVAL=`sqlplus -silent scott/tiger <<EOF SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF.../bin/bash # Author : Robinson Cheng # Blog : http://blog.csdn.net/robinson_0612 sqlplus -S "scott/...echo "show rows for deptno 10:$VALUE" 3、将shell变量作为参数传递给sql脚本 oracle@SZDB:~> more ./retval_3.sh #!.../bin/bash v_empno="$1" sqlplus -S "scott/tiger" <<EOF SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING
# 加载 oracle 环境变量 $PATH # 查看 oracle 环境变量是否生效 sqlplus...# 创建一个 test 用户,密码 oracle select * from dba_users t where t.username = 'TEST'; # 查询用户是否创建成功...6.进入容器内,解决错误 docker exec -it oracle bash cd /home/oracle # 进入到 oracle 用户目录 source .bash_profile...# 加载 oracle 环境变量(每次进入容器都要加载配置文件) # 删除新生成的版本控制文件,将数据卷中的版本控制文件复制为新生成的版本控制文件 rm -rf /home/oracle...oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl sqlplus
中执行,所以使用sysdba用户登录: sqlplus / as sysdba 验证数据库是否开启自动归档 执行归档查询命令:archive log list Automatic archival...切换到oracle用户:su - oracle 登录sqlplus:sqlplus "/as sysdba" 3 创建oggtbs表空间 create tablespace oggtbs datafile...image.png 三、配置OGG源端 1、Oracle创建测试表 切换到oracle用户: su – oracle 登录sqlplus: sqlplus "/...OGG目标端 1、解压和安装OGG目标端软件包 创建OGG目标端的目录 使用root用户创建:mkdir /u01/app/ogg/tgr 添加OGG目标端的目录到oracle用户的环境变量中 从root...3、拷贝源端的define文件到目标端 将生成的/u01/app/ogg/src/dirdef/test_ogg.test_ogg发送的目标端ogg目录下的dirdef里: scp -r
每种数据库都提供命令行接口执行SQL语句,因此最容易想到的就是通过初始化多个并发的会话并行执行,每个会话运行一个单独的查询,用来抽取不同的数据部分。...如果需要,还可以在抽取后使用操作系统命令将12个文件合并起来(如Linux的cat命令)。即使订单表没有分区,仍然可以基于逻辑条件执行并行抽取。.../bin/bash export NLS_LANG=american_america.AL32UTF8 for(( i = 0; i < $1; i++ )) do { sqlplus...result.lst | wc -l 57606 [oracle@data-01 ~]$ cat aa.txt | wc -l 115212 换做MySQL数据库,整体思路是一样的,只要把sqlplus...并行抽取一个复杂的SQL查询有时是可行的,尽管将一个单一查询分成多个部分可能是一个挑战。在并行模式下,协调多个独立的进程,保证一个整体一致的视图可能是非常困难的。
领取专属 10元无门槛券
手把手带您无忧上云