Search Results

Search found 13810 results on 553 pages for 'security roles'.

Page 326/553 | < Previous Page | 322 323 324 325 326 327 328 329 330 331 332 333  | Next Page >

  • Network traffic monitoring for unexperienced users

    - by Eduardo Casteluci
    I'm a really unexperienced Ubuntu user and I'm having a hard time monitoring my network traffic. I just need to know what websites each one of the devices connected to my network are accessing. I've tried to use ntop, but I couldn't work around it. Is that possible? I mean, is it possible to know that kind of data only by specifing a local IP address? How can I do that? It's a security issue that I'm facing and I need to work that "easy" monitoring out. Thanks

    Read the article

  • Preventing Users From Copying Text From and Pasting It Into TextBoxes

    Many websites that support user accounts require users to enter an email address as part of the registration process. This email address is then used as the primary communication channel with the user. For instance, if the user forgets her password a new one can be generated and emailed to the address on file. But what if, when registering, a user enters an incorrect email address? Perhaps the user meant to enter [email protected], but accidentally transposed the first two letters, entering [email protected]. How can such typos be prevented? The only foolproof way to ensure that the user's entered email address is valid is to send them a validation email upon registering that includes a link that, when visited, activates their account. (This technique is discussed in detail in Examining ASP.NET's Membership, Roles, and Profile - Part 11.) The downside to using a validation email is that it adds one more step to the registration process, which will cause some people to bail out on the registration process. A simpler approach to lessening email entry errors is to have the user enter their email address twice, just like how most registration forms prompt users to enter their password twice. In fact, you may have seen registration pages that do just this. However, when I encounter such a registration page I usually avoid entering the email address twice, but instead enter it once and then copy and paste it from the first textbox into the second. This behavior circumvents the purpose of the two textboxes - any typo entered into the first textbox will be copied into the second. Using a bit of JavaScript it is possible to prevent most users from copying text from one textbox and pasting it into another, thereby requiring the user to type their email address into both textboxes. This article shows how to disable cut and paste between textboxes on a web page using the free jQuery library. Read on to learn more! Read More >Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Something in the world of Firewall Hosted SSL VPN's

    - by AreYouSerious
    I run a Physical firewall at my residence. Call me paranoid, but I appreciate the added security. I have been working to get the VPN to work properly, but had until today not managed this. I worked with ensuring that the VPN configurations were correct, that the port filters were correct,  I could connect to the Firewall GUI, but never to the VPN. Turns out that in W7, if you add a key, it suddenly works.Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNELAdd DWORD(32-bit) - SendExtraRecord --> value 2 and voila, suddenly your presented with the login screen. I won't mention the specific vendor, as they don't have this listed in their fixes... but there are several venders where this is an issue. So, if you are having an issue connecting to an SSL VPN (web vpn) this might just be the solution that you need.

    Read the article

  • Extracting GPS Data from JPG files

    - by Peter W. DeBetta
    I have been very remiss in posting lately. Unfortunately, much of what I do now involves client work that I cannot post. Fortunately, someone asked me how he could get a formatted list (e.g. tab-delimited) of files with GPS data from those files. He also added the constraint that this could not be a new piece of software (company security) and had to be scriptable. I did some searching around, and found some techniques for extracting GPS data, but was unable to find a complete solution. So, I did...(read more)

    Read the article

  • Wi-fi interface fails to authenticate on secured networks

    - by Eduardo Bezerra
    the problem is that I can't connect to wireless networks that have security enabled. I can connect fine to the unsecured network of my university, but not to the secured one in the same building. Also, it fails to connect to my home wireless router, which uses wpa2 encryption. Any ideas? I have a Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01), with pci id [14e4:4353], running Ubuntu 12.10 on a macbook pro 6,2. I'm using bcmwl-kernel-source package with kernel module wl to enable my wi-fi device.

    Read the article

  • HTG Explains: Why You Only Have to Wipe a Disk Once to Erase It

    - by Chris Hoffman
    You’ve probably heard that you need to overwrite a drive multiple times to make the data unrecoverable. Many disk-wiping utilities offer multiple-pass wipes. This is an urban legend – you only need to wipe a drive once. Wiping refers to overwriting a drive with all 0’s, all 1’s, or random data. It’s important to wipe a drive once before disposing of it to make your data unrecoverable, but additional wipes offer a false sense of security. Image Credit: Norlando Pobre on Flickr HTG Explains: Learn How Websites Are Tracking You Online Here’s How to Download Windows 8 Release Preview Right Now HTG Explains: Why Linux Doesn’t Need Defragmenting

    Read the article

  • How to Upgrade an existing Customer from OBI10g to 11g: Live Virtual Class

    - by Mike.Hallett(at)Oracle-BI&EPM
    This Live Virtual Class eSeminar on upgrading to Oracle Business Intelligence Enterprise Edition 11g, from OBI 10g, is FREE for Oracle Partners. When : Thursday, January 5, 2012 @ 14.00 CET  / 13.00 UK (120 Minute eSeminar) Where : Goto REGISTER HERE During this session you will learn: OBIEE 11g Infrastructure – What Is Different From OBIEE 10g? Considerations During The Upgrade, Repository Metadata, Presentation Catalog, BI Publisher, BI Security Planning Your Upgrade Optimizing OBI 10g for an 11g Upgrade Copying OBI 10g to New Server Installing OBI 11g on New Server Running Upgrade Assistant & Running OBI 11g Post-Upgrade Steps Testing Upgrading Environment Capacity Planning Guide Q&A Who Should attend? Oracle partners with experience of OBIEE+ 10g BI and EPM developers, architects and implementers Oracle partners with Clients using OBI10g

    Read the article

  • Oracle12c ist da: Neue Features für Entwicker

    - by Carsten Czarski
    Das Warten hat ein Ende. Oracle12c Release 1 steht zum Download bereit. Oracle12c bringt eine Reihe neuer Funktionen für SQL, PL/SQL und APEX Entwickler mit. Mit SQL Pattern Matching, Identify Columns, Code Based Security seien nur drei Beispiele genannt. In unserem aktuellen Community Tipp stellen wir 12 neue Features für Entwickler vor - erfahren Sie, wie Sie mit Oracle12c noch schneller und effizienter entwickeln können. Automatische Sequences und Identity Columns SQL und PL/SQL: Erweiterungen und Verbesserungen PL/SQL: Rechte, Rollen und mehr Oracle Multitenant und APEX SQL Pattern Matching Wann ist die Zeile gültig: Valid Time Temporal : Bei den Kollegen der DBA Community finden Sie entsprechend eine Übersicht mit den für Administratoren und den Datenbankbetrieb interessanten Neuerungen.

    Read the article

  • Multiple vulnerabilities in Thunderbird

    - by RitwikGhoshal
    CVE DescriptionCVSSv2 Base ScoreComponentProduct and Resolution CVE-2012-1948 Denial of service (DoS) vulnerability 9.3 Thunderbird Solaris 10 SPARC: 145200-12 X86: 145201-12 CVE-2012-1950 Address spoofing vulnerability 6.4 CVE-2012-1951 Resource Management Errors vulnerability 10.0 CVE-2012-1952 Resource Management Errors vulnerability 9.3 CVE-2012-1953 Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability 9.3 CVE-2012-1954 Resource Management Errors vulnerability 10.0 CVE-2012-1955 Address spoofing vulnerability 6.8 CVE-2012-1957 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability 4.3 CVE-2012-1958 Resource Management Errors vulnerability 9.3 CVE-2012-1959 Permissions, Privileges, and Access Controls vulnerability 5.0 CVE-2012-1961 Improper Input Validation vulnerability 4.3 CVE-2012-1962 Resource Management Errors vulnerability 10.0 CVE-2012-1963 Permissions, Privileges, and Access Controls vulnerability 4.3 CVE-2012-1964 Clickjacking vulnerability 4.0 CVE-2012-1965 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability 4.3 CVE-2012-1966 Permissions, Privileges, and Access Controls vulnerability 4.3 CVE-2012-1967 Arbitrary code execution vulnerability 10.0 CVE-2012-1970 Denial of service (DoS) vulnerability 10.0 CVE-2012-1973 Resource Management Errors vulnerability 10.0 CVE-2012-3966 Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability 10.0 This notification describes vulnerabilities fixed in third-party components that are included in Oracle's product distributions.Information about vulnerabilities affecting Oracle products can be found on Oracle Critical Patch Updates and Security Alerts page.

    Read the article

  • How can I work on a WordPress theme already installed in the root directory?

    - by Isaac Lubow
    I have WordPress installed at the root level of a website. I thought it would be easy enough to have a "coming soon" page called default.html and edit the .htaccess file as follows: AddHandler php5-script .php DirectoryIndex default.html index.php # BEGIN WordPress # END WordPress ...so that visitors to the site are sent to the default page, and I could manually specify index.php as my destination for testing. (This isn't a high-security job.) But index.php is redirecting me to the default page. When I remove the DirectoryIndex line, the index.php file is found automatically by visitors to the site root, but... that's the page I was trying to hide. What am I doing wrong with .htaccess and how can I get it to behave the way I want?

    Read the article

  • What is a generalized form creator that runs on .NET / Windows?

    - by Josh
    At the institution that I'm at, we've been looking for web applications that enable users to create and deploy their own forms. Similar applications are Wufoo, and google forms. Unfortunately, those solutions will not work for us, because we are required to host all data and information on our own servers. I've found a few solutions that are written in PHP, but at this point, it doesn't appear that this is acceptable. I've tried searching for ".net form creator" but unfortunately, when you search for ".net forms" you get a lot of results relating to created asp.net webforms, which is not what we're looking for at all. I've been told that finding a solution that runs on .NET and windows servers with either Oracle or MSSQL databases would be much more acceptable. I've found a few, but they are open source, and the IS Security people are not kind to those solutions, despite my attempts to show otherwise. If anyone knows of some solution out there, I would greatly appreciate you passing on the names of those applications!

    Read the article

  • Node.js Or servlets?

    - by Nilesh
    I have heard a lot and read about the Javascript server side language i.e Node.js, and saw many comparisons in favor of Node. I don't understand what makes it better or faster, or how it even relates to something as mature as Java Servlets. But Servlets are built on top of a multithreaded programming language as opposed to Node.js. Then how can node.js be faster? If suppose 1000K users query for a database records, then shouldn't Node.js be slower than Servlets. Also Don't servlets have better security compared to Node.js?

    Read the article

  • How to Move Your Google Authenticator Credentials to a New Android Phone or Tablet

    - by Chris Hoffman
    Most of the app data on your Android is probably synced online will automatically sync to a new phone or tablet. However, your Google Authenticator credentials won’t — they aren’t synchronized for obvious security reasons. If you’re doing a factory reset, getting a new phone, or just want to copy your credentials to second device, these steps will help you move your authenticator data over so you won’t lose your access codes. How to Factory Reset Your Android Phone or Tablet When It Won’t Boot Our Geek Trivia App for Windows 8 is Now Available Everywhere How To Boot Your Android Phone or Tablet Into Safe Mode

    Read the article

  • BIP 10.1.3.4.x June 2010 Update Available

    - by Tim Dexter
    A new patchset for 10.1.3.4.0 and 10.1.3.4.1 is available on Metalink. some notes: The patch number is 9791839. This patchset includes 28 new bug fixes since the last patchset release on March 31. This is a culmulative update that includes all the fixes and enhancements from previous updates. The patch will supercede the other two updates. Install instructions are in the readme inside the patch There is also a new BIP client patch available, 9821068. No new template building features to my knowledge but there is an update to the template viewer to allow you to test and debug you siny new Excel templates. Server 8529759XMLP_TEMPLATE_DESIGNER CANNOT SAVE / UPLOAD TEMPLATE 8566455 BI PUBLISHER SCHEDULER DOES NOT START WITH JNDI DATA SOURCE 9295667RESPONSE OF GETSCHEDULEDREPORTINFO RETURNS STATUS AS 'UNKNOWN' INSTEAD OF 'SCHED 9542413 UNABLE TO CREATE A NEW TEMPLATE FROM UI 9546137 EXCEL ANALYZER TEMPLATE FAILS FOR A STRUCTURED XML WHEN IT IS UPLOADED 9556338 SIEBEL - BIP PARAMETERS SORT ORDER 9560562 BI PUBLISHER CACHE DIRECTORY FILLING UP AND POINTING TO INVALID DIRECTORY 9646599 USER ROLE DEFINED AS PRIMARYGROUP IN ACTIVEDIRECTORY GROUP ARE NOT RECOGNIZED 9664768 ER: NEED TO BIND USER ATTRIBUTE VALUES DEFINED IN ACTIVEDIRECTORY IN DATA QUERY 9665075 BI PUBLISHER AFTER 9546699 NOTIFICATIONS FOR REPORTS FAIL 9669973 ER: NEED TO SUPPORT PRE-PROCESSING XML WITH XSL FOR EXCEL TEMPLATE 9704401 ER: NEED TO SUPPORT DEFAULT GROUP FOR ALL USERS IN LDAP/AD SECURITY 9711899 SEARCH PARAMETER IS NOT VISIBLE WHEN SCHEDULE A REPORT 9753736 SOME ROLES FROM ACTIVEDIRECTORY ARE NOT LISTED IN ADMIN ROLE-FOLDER MAPPING 9771354 MULTIPLE PARAMETERS IN 10.1.3.4.1 DATA TEMPLATE ACT ACT DIFFERENTLY FROM 10.1.3. 9772982 "REFRESH OTHER PARAMETERS ON CHANGE" DOESN'T WORK PROPERLY Core  8599646 ER:EXTRA SPACE ADDED BELOW IMAGE IN A TABLE CELL OF TEMPLATE IN FIREFOX 9377593 SOME ROWS HEIGHT IN HTML/EXCEL OUTPUT ARE TOO BIG IN BI PUBLISHER 9487030 NAVIGATION TREE REPEATING TWICE IN PDF DCCUMENT CREATED BY BI PUBLISHER 9509432 PERFORMANCE ISSUE WHEN USING PDF TEMPLATE 9534424 PS: DOCUMENT-REPEAT-FULLPATH-ELEMENTNAME SHOULDNT USE DOT "." AS PATH SEPARATOR 9553360 FORMPROCESSOR CANNOT PARSE SOME PDF TEMPLATES 9554959 TEXT IN AUTOSHAPE IS NOT PROPERLY CUT OFF FOR LINE WRAPPING 9569417 AFTER APPLYING PATCH 9509432 PDF TEMPLATES WITH DBDRV PRODUCE NO OUTPUT 9571670 ER: EXCEL TEMPLATE TO SUPPORT XSLT LOGIC AND XSL CUSTOM EXTENTIONS 9589809 XSL:CALL-TEMPLATE IS MISSING IN GENERATED XSL FILE 9605920 BOOKMARK TESTCASE FAILED DUE TO ER9283933 9689634 PRINT FLOW CHART USING ACROSS 3 DOWN 0 GIVES EXTRA BLANK PAGES You might have noticed some fixes and ehancements to the Excel templates so I can get back on those now. There is a part two to the Mapviewer BIP Mashup coming ... just need aanother 4 hours in the day to squeeze it in.

    Read the article

  • iTorque for a simple arcade game

    - by Herfus
    I have a basic understanding of programming, but I am no programmer. I've had a couple of a semesters with java programming, so we're talking pretty basic here. I have some scripting experience with game editors where I've created a few (simple) encounters, boss AI, abilities, events and so on. I've mostly done level design with UDK, Source and several other toolsets for a few years now, but I'd like to divert some of the focus to iphone-development. I've participated in a few development projects (source, udk, daot) where I've had a variety of roles (yet never beyond simple scripting). I have just finished prototyping an Iphone game (using game maker) and begun a bit more precise planning on what I'll have to do for the real version. The game is fairly simple, perhaps the best comparison in scope and complexity would be Doodlejump for iPhone. The reason I created the prototype was not just to answer a few questions about the gameplay, but to get some insight into what kind of problems I might face when trying to develop the real thing. I've been looking for engines that I can use for this. iTorque looks, so far, like the best option with a scripting language and WYSIWYG-editor. However the price is fairly steep and I'd like to prepare myself as much as possible before jumping into this, which is why I'm going to ask a few questions here. What kind of difficulties do you think I might run into, considering what you've read so far? Not just with torque, but development in general. I'm making this question mostly to have someone to reality check me. I usually achieve to do what I'm trying to do with scripting, but something tells me there's a very big difference between scripting an AI or an event and creating game logic. Will it be too much of a leap? Just how simple is it to use the Torque scripting language? Obviously I don't expect to be prepared, I expect it to be a learning process. However, I'd still like to be at least a bit confident on the time I'll have to dedicate to this first.

    Read the article

  • OOW 2012 Tuesday: Hands-On Introduction to Integration and Oracle SOA Suite 11g

    - by Simone Geib
    This year's SOA Suite hands on lab offers three different options, dependant on your level of expertise and interest. If you're new to SOA Suite, you should pick option 1 and learn how to build a SOA composite from the ground up, including a BPEL process, adapters, business rules and human task. The end result will be a purchase order process to be deployed through JDeveloper and tested in Enterprise Manager Fusion Middleware Control. If you're already experienced in SOA Suite, lab option 2 walks you through setting up the components that will allow you to utilize continuous integration with your SOA Suite 11g development projects. For those who want to learn more about security in the context of SOA Suite, option 3 shows you how to secure WebLogic services and SOA composites using Oracle Web Services Manager (OWSM). Hope to see you there! Session ID: HOL9989Session Title: Hands-On Introduction to Integration and Oracle SOA Suite 11gVenue / Room: Marriott Marquis - Salon 3/4Date and Time: 10/2/12, 11:45 - 12:45

    Read the article

  • IHRIM's Latest Workforce Solutions Review Focuses on Risk!

    - by Jay Richey, HCM Product Marketing
    IHRIM's latest edition of the Workforce Solution's Review magazine (in print and online) has some really compelling features and articles focused on HCM risk and compliance management.  Check out this line-up and sign up if you aren't already a member.  It's well worth it.  http://www.ihrimpublications.com/WSR_about.php Three to Watch: HR's Growing Compliance Responsibilities for Data Security, Genetic Nondiscrimination, and Anti-Bribery Laws     By W. Scott Blackmer and Richard Santalesa, InfoLawGroup, LLP Global HR and International Background Check Best Practices     By Terry Corley, Aletheia Consulting Group Compliance: Old Wine in New Wineskins?     By Ursula Christina Fellberg, Ph.D., UCF-StrategieBeraterin Join the HR/HR technology professionals who have subscribed for so many years to IHRIM’s publications and become a reader today by visiting  http://www.ihrimpublications.com/amember/signup.php.  

    Read the article

  • Oracle VDI Seminar - June-30

    - by mprove
    More from Andy Hall about Oracle VDI:  Oracle Virtual Desktop Infrastructure allows you to bring your desktop environments under control by hosting and managing them centrally in the data center. Users then connect to their desktops over the network using their existing PCs and simple client software, or with Oracle's Sun Ray Clients. Virtual desktops provide a number of benefits, including:  Cost reductions by allowing global or local changes and updates to the desktop environment from a centralized management location.  Better security by keeping sensitive data off of individual computers and retaining it safely in the data center.  Improved availability and business continuity because workers can access their desktops from nearly anywhere.  Join us to get the latest updates on Oracle Virtual Desktop Infrastructure and learn how moving to a virtualized desktop environment can help your organization, today and into the future.  Speaker:  Andy Hall - Virtual Desktop Infrastructure Product Management, Oracle Event Date: 06/30/2011 09:00 AM Pacific Daylight Time Register here_

    Read the article

  • How To Create a Shortcut That Lets a Standard User Run An Application as Administrator

    - by Chris Hoffman
    Want to allow a standard user account to run an application as administrator without a UAC or password prompt? You can easily create a shortcut that uses the runas command with the /savecred switch, which saves the password. Note that using /savecred could be considered a security hole – a standard user will be able to use the runas /savecred command to run any command as administrator without entering a password. However, it’s still useful for situations where this doesn’t matter much – perhaps you want to allow a child’s standard user account to run a game as Administrator without asking you. We’ve also covered allowing a user to run an application as Administrator with no UAC prompts by creating a scheduled task. HTG Explains: Is ReadyBoost Worth Using? HTG Explains: What The Windows Event Viewer Is and How You Can Use It HTG Explains: How Windows Uses The Task Scheduler for System Tasks

    Read the article

  • Nested languages code smell

    - by l0b0
    Many projects combine languages, for example on the web with the ubiquitous SQL + server-side language + markup du jour + JavaScript + CSS mix (often in a single function). Bash and other shell code is mixed with Perl and Python on the server side, evaled and sometimes even passed through sed before execution. Many languages support runtime execution of arbitrary code strings, and in some it seems to be fairly common practice. In addition to advice about security and separation of concerns, what other issues are there with this type of programming, what can be done to minimize it, and is it ever defensible (except in the "PHB on the shoulder" situation)?

    Read the article

  • Public JCP EC Meeting on 12 November

    - by Heather VanCura
    The next JCP EC Meeting, and the last public EC Meeting of 2013, is scheduled for Tuesday, 12 November at 08:00 AM PST.  Agenda includes a discussion on invigorating your community participation in the JCP program. We hope you will join us, but if you cannot attend, the recording and materials will also be public on the JCP.org multimedia page. Meeting details below. Meeting information ------------------------------------------------------- Topic: Public EC Meeting Date: Tuesday, November 12, 2013 Time: 8:00 am, Pacific Standard Time (San Francisco, GMT-08:00) Meeting Number: 809 853 126 Meeting Password: 1234 ------------------------------------------------------- To start or join the online meeting ------------------------------------------------------- Go to https://jcp.webex.com/jcp/j.php?ED=239354237&UID=491098062&PW=NZjAyM2Q2YTVj&RT=MiM0 ------------------------------------------------------- Audio conference information ------------------------------------------------------- +1 (866) 682-4770 (US)   Conference code: 5731908   Security code: 1234 For global access numbers https://www.intercallonline.com/listNumbersByCode.action?confCode=5731908 Or +1 (408) 774-4073   

    Read the article

  • Question about Web Programming certificate program

    - by user134226
    I am currently attending St. John's University with a major of Computer Science. I am entering my senior year next year and stumbled upon this certificate program for web development from Hunter College: http://www.hunter.cuny.edu/ce/certificates/computer/web-programming So the question is, would it be beneficial for me to complete this program or to just attend a few elective courses in the summer at a school such as NYU? Would this certificate be good for my resume? The only language I have learned so far is Java and classes I have taken in the field so far are: Programming Fundamentals 1 and 2, Data Security and Cryptography, Networking: Data Communications and Introduction to Data Structures Hope some of you can help me out, thanks

    Read the article

  • '6' key stuck when outside the graphical interface

    - by Felipe Jacob
    A strange thing has been happening since I installed Ubuntu. Whenever I'm not on the graphical interface, that is, if I do ctrl+alt+f2, or while the system is shutting down, or when I try to reset my password accessing root on security mode, the '6' key seems to be stuck. This doesn't affect my day-to-day usage at all, but whenever I change from the graphical console, I can't do anything because it keeps pressing '666666...'. Does anyone know why that might be happening? My keyboard is a Logitech G710+, and hasn't shown any other possible compatibility issues.

    Read the article

  • Extracting GPS Data from JPG files

    - by Peter W. DeBetta
    I have been very remiss in posting lately. Unfortunately, much of what I do now involves client work that I cannot post. Fortunately, someone asked me how he could get a formatted list (e.g. tab-delimited) of files with GPS data from those files. He also added the constraint that this could not be a new piece of software (company security) and had to be scriptable. I did some searching around, and found some techniques for extracting GPS data, but was unable to find a complete solution. So, I did...(read more)

    Read the article

  • Developing Schema Compare for Oracle (Part 5): Query Snapshots

    - by Simon Cooper
    If you've emailed us about a bug you've encountered with the EAP or beta versions of Schema Compare for Oracle, we probably asked you to send us a query snapshot of your databases. Here, I explain what a query snapshot is, and how it helps us fix your bug. Problem 1: Debugging users' bug reports When we started the Schema Compare project, we knew we were going to get problems with users' databases - configurations we hadn't considered, features that weren't installed, unicode issues, wierd dependencies... With SQL Compare, users are generally happy to send us a database backup that we can restore using a single RESTORE DATABASE command on our test servers and immediately reproduce the problem. Oracle, on the other hand, would be a lot more tricky. As Oracle generally has a 1-to-1 mapping between instances and databases, any databases users sent would have to be restored to their own instance. Furthermore, the number of steps required to get a properly working database, and the size of most oracle databases, made it infeasible to ask every customer who came across a bug during our beta program to send us their databases. We also knew that there would be lots of issues with data security that would make it hard to get backups. So we needed an easier way to be able to debug customers issues and sort out what strange schema data Oracle was returning. Problem 2: Test execution time Another issue we knew we would have to solve was the execution time of the tests we would produce for the Schema Compare engine. Our initial prototype showed that querying the data dictionary for schema information was going to be slow (at least 15 seconds per database), and this is generally proportional to the size of the database. If you're running thousands of tests on the same databases, each one registering separate schemas, not only would the tests would take hours and hours to run, but the test servers would be hammered senseless. The solution To solve these, we needed to be able to populate the schema of a database without actually connecting to it. Well, the IDataReader interface is the primary way we read data from an Oracle server. The data dictionary queries we use return their data in terms of simple strings and numbers, which we then process and reconstruct into an object model, and the results of these queries are identical for identical schemas. So, we can record the raw results of the queries once, and then replay these results to construct the same object model as many times as required without needing to actually connect to the original database. This is what query snapshots do. They are binary files containing the raw unprocessed data we get back from the oracle server for all the queries we run on the data dictionary to get schema information. The core of the query snapshot generation takes the results of the IDataReader we get from running queries on Oracle, and passes the row data to a BinaryWriter that writes it straight to a file. The query snapshot can then be replayed to create the same object model; when the results of a specific query is needed by the population code, we can simply read the binary data stored in the file on disk and present it through an IDataReader wrapper. This is far faster than querying the server over the network, and allows us to run tests in a reasonable time. They also allow us to easily debug a customers problem; using a simple snapshot generation program, users can generate a query snapshot that could be sent along with a bug report that we can immediately replay on our machines to let us debug the issue, rather than having to obtain database backups and restore databases to test systems. There are also far fewer problems with data security; query snapshots only contain schema information, which is generally less sensitive than table data. Query snapshots implementation However, actually implementing such a feature did have a couple of 'gotchas' to it. My second blog post detailed the development of the dependencies algorithm we use to ensure we get all the dependencies in the database, and that algorithm uses data from both databases to find all the needed objects - what database you're comparing to affects what objects get populated from both databases. We get information on these additional objects using an appropriate WHERE clause on all the population queries. So, in order to accurately replay the results of querying the live database, the query snapshot needs to be a snapshot of a comparison of two databases, not just populating a single database. Furthermore, although the code population queries (eg querying all_tab_cols to get column information) can simply be passed straight from the IDataReader to the BinaryWriter, we need to hook into and run the live dependencies algorithm while we're creating the snapshot to ensure we get the same WHERE clauses, and the same query results, as if we were populating straight from a live system. We also need to store the results of the dependencies queries themselves, as the resulting dependency graph is stored within the OracleDatabase object that is produced, and is later used to help order actions in synchronization scripts. This is significantly helped by the dependencies algorithm being a deterministic algorithm - given the same input, it will always return the same output. Therefore, when we're replaying a query snapshot, and processing dependency information, we simply have to return the results of the queries in the order we got them from the live database, rather than trying to calculate the contents of all_dependencies on the fly. Query snapshots are a significant feature in Schema Compare that really helps us to debug problems with the tool, as well as making our testers happier. Although not really user-visible, they are very useful to the development team to help us fix bugs in the product much faster than we otherwise would be able to.

    Read the article

< Previous Page | 322 323 324 325 326 327 328 329 330 331 332 333  | Next Page >