select table_name from user_tables; //当前用户的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表 ......
以前只知道java能调用oracle存储过程和函数,但今天我发现原来oracle也可以调用java
测试环境oracle 10g
call dbms_java.set_output(5000);
--首先在oracle中编译java文件 以下是个简单的
create or replace and compile java source named helloworld as
public class helloworld {
static public String Message(String name) {
return " Hello, " + name;
}
}
--然后用函数调用java
create or replace function hello (name VARCHAR2 ) return VARCHAR2
as language java name
' Hello.Message (java.lang.String) return java.lang.String ' ;
......
以前只知道java能调用oracle存储过程和函数,但今天我发现原来oracle也可以调用java
测试环境oracle 10g
call dbms_java.set_output(5000);
--首先在oracle中编译java文件 以下是个简单的
create or replace and compile java source named helloworld as
public class helloworld {
static public String Message(String name) {
return " Hello, " + name;
}
}
--然后用函数调用java
create or replace function hello (name VARCHAR2 ) return VARCHAR2
as language java name
' Hello.Message (java.lang.String) return java.lang.String ' ;
......
Oracle 数据集成解决方案
Oracle数据集成解决方案用于在SOA、BI和数据仓库环境中构建、部署和管理以实时数据为中心的架构,包含了数据集成的所有要素——实时数据移动、转换、同步、数据质量、数据管理和数据服务——能确保各个复杂系统的信息及时、准确、一致。
通过使用Oracle数据集成,企业将其开发成本降低了30%,数据处理速度提高了50%,业务流程执行时间减少了至少70%。这些成本节省和效率提升对企业适应当今极具挑战性的全球经济环境至关重要。
Oracle 数据集成解决方案的产品主要包括:Oracle Data Integrator 企业版和Oracle GoldenGate。
OracleData Integrator企业版
Oracle Data Integrator企业版是Oracle数据集成解决方案的重要组成部分,提供了同类最佳的批量数据移动与转换技术,性能比传统ETL高10倍,能够跨异构系统在源和目标间高效移动数据,提高性能的同时降低了数据集成的成本。并且在Oracle Exadata V2(Sun Oracle数据库机)平台上创造了业内最快的转换速度。此外,可热插拔的知识模块具有模块化、灵活性和可扩展性。
Oracle Data Integrator企业版可以优化Oracle数据库,进而提供拥有先进的ETL/ELT ......
Create directory让我们可以在Oracle数据库中灵活的对文件进行读写操作,极大的提高了Oracle的易用性和可扩展性。
其语法为:
CREATE [OR REPLACE] DIRECTORY directory
AS 'pathname
';
本案例具体创建如下:
create or replace directory exp_dir as '/tmp';
目录创建以后,就可以把读写权限授予特定用户,具体语法如下:
GRANT READ[,WRITE] ON DIRECTORY directory
TO username
;
例如:
grant read, write on directory exp_dir to eygle;
此时用户eygle就拥有了对该目录的读写权限。
让我们看一个简单的测试:
SQL> create or replace directory UTL_FILE_DIR as '/opt/oracle/utl_file';
Directory created.
SQL> declare
2 fhandle utl_file.file_type;
3 begin
4 fhandle := utl_file.fopen('UTL_FILE_DIR', 'example.txt', 'w');
5 utl_file.put_line(fhandle , 'eygle test write one');
6 utl_file.put_line(fhandle , 'eygle test write two');
7 utl_file.fclose(fhandle);
......
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochu.dmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
......
@echo off
:dosmenu
REM 选择菜单
echo Windows 服务启动或关闭 By hope 2008年2月7日
echo.
echo [1]启动Sql Server2005 [2]关闭Sql Server2005
echo [3]启动Oracle9i [4]关闭Oracle9i
echo.
echo 其它键退出本程序
echo.
set /P CHS= 请选择服务: [1],[2],[3],[4]
if /I "%CHS%"=="1" (
goto aaaa
)
if /I "%CHS%"=="2" (
goto bbbb
)
if /I "%CHS%"=="3" (
goto cccc
)
if /I "%CHS%"=="4" (
goto dddd
)
goto close
:aaaa
REM 启动Sql Server2005
net start MSSQLSERVER
pause
cls
goto dosmenu
:bbbb
REM 关闭Sql Server2005
net stop MSSQLSERVER
pause
cls
goto dosmenu
:cccc
REM 启动Oracle9I
net start "OracleServiceHOPE"
net start "OracleOraHome92TNSListener"
pause
cls
goto dosmenu
:dddd
REM 启动Oracle9I
net stop "OracleOraHome92TNSListener"
net stop "OracleServiceHOPE"
pause
cls
goto dosmenu
:close
R ......
@echo off
:dosmenu
REM 选择菜单
echo Windows 服务启动或关闭 By hope 2008年2月7日
echo.
echo [1]启动Sql Server2005 [2]关闭Sql Server2005
echo [3]启动Oracle9i [4]关闭Oracle9i
echo.
echo 其它键退出本程序
echo.
set /P CHS= 请选择服务: [1],[2],[3],[4]
if /I "%CHS%"=="1" (
goto aaaa
)
if /I "%CHS%"=="2" (
goto bbbb
)
if /I "%CHS%"=="3" (
goto cccc
)
if /I "%CHS%"=="4" (
goto dddd
)
goto close
:aaaa
REM 启动Sql Server2005
net start MSSQLSERVER
pause
cls
goto dosmenu
:bbbb
REM 关闭Sql Server2005
net stop MSSQLSERVER
pause
cls
goto dosmenu
:cccc
REM 启动Oracle9I
net start "OracleServiceHOPE"
net start "OracleOraHome92TNSListener"
pause
cls
goto dosmenu
:dddd
REM 启动Oracle9I
net stop "OracleOraHome92TNSListener"
net stop "OracleServiceHOPE"
pause
cls
goto dosmenu
:close
R ......