破解 Oracle E-Business Suite 用户密码
Posted on December 13, 2006 - Filed Under E-Business Suite | Leave a Comment
APPS.FND_WEB_SEC 管理着跟用户授权相关的数据,比如密码。 这个包里面有加密和解密函数: — Function to encrypt a string using a specified key. — 4257466 Changed this function to call the new overloaded version. — This is backwards compatible because null is returned if the profile — does not exist. function encrypt(key in varchar2, value in varchar2) return varchar2 is begin — bug 4676957 Renamed [...]
限制Listener的网络链接
Posted on November 23, 2006 - Filed Under Database | Leave a Comment
通过在sqlnet.ora设置简单参数来限制未经授权的链接。 TCP.VALIDNODE_CHECKING = yes TCP.INVITED_NODES = (client1,client2,client3,dbnode) tcp.validnode_checking 表示需要检查node授权。 tcp.invited_nodes 表示经过授权的node,必须包含db所在的node。sqlnet.ora 中总共有4个相关的参数: tcp.validnode_checking tcp.invited_nodes tcp.excluded_nodes 需要排除的未经授权的node tcp.nodelay 修改TCP/IP的包传送方式,关闭nagle算法。 具体参考RFC896: http://www.faqs.org/rfcs/rfc896.html 附上sqlnet.ora的参数列表: bequeath_detach disable_oob log_directory_client log_directory_server log_file_client log_file_server names.connect_timeout names.dce.prefix names.default_domain names.directory_path names.initial_retry_timeout names.max_open_connections names.message_pool_start_size names.nis.meta_map names.preferred_servers names.request_retries namesctl.echo namesctl.internal_encrypt_password namesctl.internal_use namesctl.no_initial_server namesctl.noconfirm namesctl.server_password namesctl.trace_directory namesctl.trace_file namesctl.trace_level namesctl.trace_unique sqlnet.authentication_gssapi_service sqlnet.authentication_kerberos5_service sqlnet.authentication_services sqlnet.client_registration sqlnet.crypto_checksum_client sqlnet.crypto_checksum_server sqlnet.crypto_checksum_type_client sqlnet.crypto_checksum_type_server [...]
Trace分析工具: SwingBench Trace Analyzer
Posted on November 15, 2006 - Filed Under Database | Leave a Comment
Oracle常用的Trace分析工具是tkprof,对于官方的工具我一项支持并喜欢使用。 如果你遇到以下情况: 本地没有安装Oracle数据库,没有tkprof程序。 你需要登录服务器去抓取trace文件。 你厌倦在putty中麻烦的指令。 不妨尝试一下SwingBench Trace Analyzer。 这是一款用Java编写的有GUI的Trace Analyzer。它的图形界面画的非常漂亮而简便,并且令人赏心悦目 事实上,作者正是对tkprof有点小意见才写了这个软件: Now I know TKProf does a fine job of this but I’ve never been really comfortable with having to continually rerun TKProf to change the ordering and filter out classes of statements. This came to a head just recently after looking through a big [...]
PROFILE中的口令参数
Posted on November 10, 2006 - Filed Under Database | Leave a Comment
今天看到了下AD中的PORFILE,其中的密码策略是这样的: SQL> SELECT * 2 FROM dba_profiles 3 WHERE profile != ‘DEFAULT’ 4 AND resource_name LIKE ‘PASSWORD%’; PROFILE RESOURCE_NAME RESOURCE LIMIT —————————— ——————————– ——– ——- AD_PATCH_MONITOR_PROFILE PASSWORD_LIFE_TIME PASSWORD 60 AD_PATCH_MONITOR_PROFILE PASSWORD_REUSE_TIME PASSWORD DEFAULT AD_PATCH_MONITOR_PROFILE PASSWORD_REUSE_MAX PASSWORD DEFAULT AD_PATCH_MONITOR_PROFILE PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT AD_PATCH_MONITOR_PROFILE PASSWORD_LOCK_TIME PASSWORD .0416 AD_PATCH_MONITOR_PROFILE PASSWORD_GRACE_TIME PASSWORD 10 已选择6行。 这几个参数的含义分别是: PASSWORD_LIFE_TIME: 某个口令的有效时间。 PASSWORD_REUSE_TIME: 指口令在多少天内可被重用。 [...]
PCTFREE和PCTUSED
Posted on October 9, 2006 - Filed Under Database | Leave a Comment
PCTFREE 和PCTUSED 用来控制一个block中row的插入和更新,这两个参数在create/alter table或cluster的时候指定。不同的值将影响数据插入或更新时的效率。 语法: SQL> create table test (id number) 2 pctused 80 3 pctfree 20; 表已创建。 PCTFREE用来控制表的数据段中各block已有row的用来更新的空间。比如PCTFREE为20,则block将保留20%的空间用于更新操作 (update)。我们在insert新的row的时候将占用一定空间,如果该空间大于80%,则会申请新的block来存储。 PCTUSED用来控制一个block中可用于插入新数据的可用空间。比如PCTUSED为60,则表示该block中只有60%的空间可用于插入新数据。只有当已用空间(used space)下降到59%或以下时,才允许在该block中插入新的行。 下面这张图可以很清楚的表达出来: Update操作可以减少空闲空间,当小于PCTFREE时,该block不再允许插入新行。
纯手工安装Oracle 10g
Posted on September 13, 2006 - Filed Under Database | Leave a Comment
一般而言,所谓的手工安装数据库是先安装好Oracle应用程序,然后再创建数据库。 这里所谓的纯手工安装Oracle服务器是指除了不用自己从源码编译应用程序,其他都自己动手:不使用UI来安装执行程序,不使用DBCA来安装实例和数据库,取而代之的是完全手工配置,手工安装Oracle Service、修改注册表、安装实例和数据库等。 这种安装方式只是为了亲身体验一番Oracle数据库的安装过程,详细了解GUI背后的工作。 * 这不应该在产品服务器上尝试,纯属体验:) * 主要分为两个主要步骤:创建实例和创建数据库。 1. 选择一台安装好Oracle的服务器,拷贝可执行程序。 需要拷贝的是ORACLE_HOME下的程序,如C:\oracle\product\10.2.0\db_1。 不需要拷贝数据文件、联机日志、归档日志、Flashback区域中的文件等,一来因为容量问题,二来这些都可以在事后创建——如果完整拷贝就失去意义了。总的文件大小应该少于1G,否则很可能是拷贝了包含数据库数据的文件。 2. 创建用户组:ORA_DBA,并将当前用户加入ORA_DBA用户组。 3. 将程序目录C:\oracle\product\10.2.0\db_1\BIN 加入PATH变量。 4. 添加注册表内容,如ORACLE_BASE,ORACLE_HOME等。 例子: [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE] Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE] “inst_loc”=”C:\\Program Files\\Oracle\\Inventory” [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1] “ORACLE_HOME”=”c:\\oracle\\product\\10.2.0\\db_1″ “ORACLE_HOME_NAME”=”OraDb10g_home1″ “ORACLE_GROUP_NAME”=”Oracle – OraDb10g_home1″ “NLS_LANG”=”AMERICAN_AMERICA.AL32UTF8″ “ORACLE_BUNDLE_NAME”=”Enterprise” “SQLPATH”=”c:\\oracle\\product\\10.2.0\\db_1\\dbs” “ORACLE_HOME_KEY”=”SOFTWARE\\ORACLE\\KEY_OraDb10g_home1″ “MSHELP_TOOLS”=”c:\\oracle\\product\\10.2.0\\db_1\\MSHELP” “ORACLE_BASE”=”c:\\oracle\\product\\10.2.0″ “RDBMS_CONTROL”=”c:\\oracle\\product\\10.2.0\\db_1\\DATABASE” “RDBMS_ARCHIVE”=”c:\\oracle\\product\\10.2.0\\db_1\\DATABASE\\ARCHIVE” “ORACLE_SID”=”MISSBB” “ORA_MISSBB_AUTOSTART”=hex(2):54,00,52,00,55,00,45,00,00,00 “ORA_MISSBB_SHUTDOWN”=hex(2):54,00,52,00,55,00,45,00,00,00 “ORA_MISSBB_SHUTDOWN_TIMEOUT”=hex(2):39,00,30,00,00,00 “ORA_MISSBB_SHUTDOWNTYPE”=hex(2):69,00,6d,00,6d,00,65,00,64,00,69,00,61,00,74,\ 00,65,00,00,00 [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\SYSMAN] [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\SYSMAN\OracleDBConsoleMISSBB] “EMDROOT”=”c:\\oracle\\product\\10.2.0\\db_1″ “ORACLE_HOME”=”c:\\oracle\\product\\10.2.0\\db_1″ “EMSTATE”=”c:\\oracle\\product\\10.2.0\\db_1\\myhost.cn.madm.net_MISSBB” “CONSOLE_CFG”=”dbconsole” [...]
