How to install run Oracle on your Linux machine

zhaozj2021-02-16  42

How to install run Oracle on your Linux machine

-------------------------------------------------- ------------------------------start to act

Installing Oracle on RedHat can be quite easy, but if it is completely followed by Oracle's documents, it is not easy. The fastest shortcut is the homepage of Tom Bisset: http://jordan.fortwayne.com/oracle.

If you look at Tom's homepage, you will notice that he misses the JDBC installation. If you are ready to use JDBC (for cross-platform Oracle applications), you can add this option when you ask you to select the component (Components) when you install the screen. Of course, you should first install JDK. I personally use BlackDown JDK 1.1.7. (Translation: Red Hat) Then need to set the ClassPath environment variable of Oracle users, the best way is to add one sentence in the Oracle user directory .Bash_profile or .profile: ClassPath = / usr / lib / jdk / lib / class. Zip; Export ClassPath, if you only need to do the web applet, choose "JDK 1.1 JDBC Thin Driver" when you need to make a complete Java app, choose JDK 1.1 JDBC OCI Driver ".

Also note: When the installer allows you to enter each password, if the password does not meet the specification, it will not warn. When I installed the first time, I added ".", This is allowed in Unix, Oracle is another code. The program tells me if the password is issued until the installation is over. At that time, I was a installation from my head.

Another problem with the installer is to try to copy files in the directory that has not been established. It is necessary to install MKDIR -P /U01/App/Oracle/server.805/install before installation. This is all over.

After the installation is successful, you must log in as root and run root.sh. I made the following changes to root.sh: • Changed from / usr / lbin from / usr / lbin · Increase environment variable log = / tmp / oracle-root.sh.log, such script run results Will record

Root.sh said that you want the database to run as a server, you must first set the Two_Task variable;

Python and Oracle

I have configured Python (a powerful, fast object-oriented scripting language) to test Oracle's programming interfaces and network interfaces. In Python, you want to even Oracle, you need DCORACLE modules for Digital Creation (author of the Zope Application Server). You only need to download the software and do it according to indication. If you are DCORACLE 1.1.0, use the setup-8.0.4 configuration, remove -lsocket, -lnsl, -lgen, -ld, -laio, and -lposix4 from the Oracle_libs variable, which are Solaris is dedicated. Note that the Python settings installed in RedHat 5.2 and 6.0, the config directory and the include directory are omitted, and the modules of the third party cannot be compiled. You must compile python yourself or download a suitable RPM. Looking for Python's RPM, the best place to go is Oliver Andrich's Python & Linux home page. Just rpm -e --Nodeps Python, then rpm -i python, python-dev, and other RPM. After installing Python, I run the following basic query and access Oracle. [uche @Malesta uche] $ PythonPython 1.5.1 (# 1, SEP 3 1998, 22:51:17) [GCC 2.7.2.3] on Linux-i386copyright 1991-1995 stichting mathematisch centrum, Amsterdam >> IMPORT DCOracle >> > #connect to db. Scott / Tiger Are The Test Database UserName / Password >>> DBC = DCORACLE.CONNECT ("Scott / Tiger @ Sforza") #Sforza Is The Local OraclesRVER >>> C = dbc.cursor ()> >> C.EXECUTE ("Select * from Emp where Emp.deptno = 10") >>> Rows = C.FETCHALL () >>> Print Rows [(7782, 'Clark', 'Manager', 7839, DBIDATE '1981-06-09 00:00:00'), 2450.0, None, 10), (7839, 'KING', 'PRESIDENT', NONE, DBIDATE ('1981-11-17 00:00:00'), 5000.0, None, 10), (7934, 'Miller', 'Clerk', 7782, DBIDATE ('1982-01-23 00:00:00'), 1300.0, None, 10)]

Development workstation configuration

I compiled the Python and other programming interfaces on a machine other than the database server. Initially, it seems that I have to install all Pro * C / C packages of Oracle. But I have to run the Oracle installer to that step, so I don't want to do that. So I found the smallest header file (include), object file (Object) and library file (library): $ oracle_home / lib / * $ oracle_home / rdbms / h * $ Oracle_Home / RDBMS / LIB / * There is oracle_home for / usr / local / oracle. Note that these files have not allowed you to embed the SQL statement directly in the C program, only after the full installation of Pro * C / C is available. If you want to use Java, you have to add $ oracle_home / jdbc / lib / *; pay attention to add this directory to the ClassPath variable. JDBC connection

To test the JDBC connection, I made a small program that displays all the employee names in the test library in a listbox. The following program 1 is a Java Applet called JDBC, and the program 2 is an HTML hyperbocity that calls the Java program. If your JDBC is already installed, copy the program 1 to JDBCTEST.JAVA, copy the program 2 to jdbctest.html, then:

Javac JDBCTEST.JAVAAPPletViewer JDBCTEST.HTML

You can see how the results are:

Program 1:

/ * Applet That Reads in Several Rows from A Remote Oracle Database and Presents Them in A ListBox. * / Import Java.sql. *; Import Java.awt. *; Import Java.lag. *; Import Java.lang. *; public class JDBCTest extends Applet {// Single-select ListBoxprivate List employee_list = new List (5, false) public void init () {setLayout (new BorderLayout ()); try {// Set up the Oracle JDBC driverDriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver ()); // Connect to an Oracle database on machine sforza, using username // "scott" and password "tiger" Connection DB_conn = DriverManager.getConnection ( "jdbc: oracle: thin: @sforza : 1521: ORCL "," Scott "," Tiger "); // Connection DB_CONN = DriverManager.getConnection (" JDBC: Oracle: Thin: Scott / Tiger @ Sforza: 1521: ORCL "); // Create a JDBC Statement ObjectStatement statement_obj = DB_conn.createStatement (); // Execute a query to get the employee names from the test DBResultSet results = statement_obj.executeQuery ( "select ENAME fromEMP"); // Populate the list box with all the employee nam eswhile (results.next ()) {employee_list.add (results.getString (1));}} catch (SQLException e) {throw new RuntimeException ( "SQL Exception" e.getMessage ());} add (employee_list) }} Program 2:

Oracle JDBC Driver Test </ title> </ head> <body> <h1> Oracle JDBC Driver Test </ h1> <applet code = "jdbctest.class" width = "200", Height = "150> Your Browser Doesn't Support Java. </ applet> <hr> <address> <a href =" MAILTO: Uche.ogbuji@linuxWorld.com "> </a> </ address> <! - created: sat mar 6 18:53:23 mst 1999 -> <! - hhmts start -> Last Modified: Sat Mar 6 22:19:26 MST 1999 <! - HHMTS End -> </ body> </ html> Program 1 is a JDBC call that is unrelated to the specific database, and you can also access PostgreSQL according to JDBC-independent of the specific database. The main and oracle-related part is:</p> <p>Connection DB_CONN = DriverManager.getConnection ("JDBC: Oracle: Thin: @sforza: 1521: OrCl", "Scott", "Tiger");</p> <p>Note the format of the URI in Oracle Thin JDBC Driver: JDBC: Oracle: Thin: @ <server_name_or_ip>: <port>: <SID> If you want to include the username and password in the URI: JDBC: Oracle: Thin: username / password @ <server_name_or_ip>: <port>: <SID> The same URI has a longer format: "JDBC: Oracle: Thin: @ (description = (address = (Host = <server_name_or_ip>) (protocol = tcp) (Port) = <port>))) "Note ORCL is the default SID of the system installation (System Identifier, system identifier). If you use other SIDs during installation, use that SID in the URI. $ Oracle_home / network / admin / tnsnames.ora includes port and SID settings for Oracle Server. This is the configuration file for TNS Listener, Oracle Network Connection Process. If you cannot connect the database over the network, you should first check if the port number and SID are correct, whether the TNS Listner is normal (the translation: lsnrctl status, or tnsping). JDBC is not the only means of developing SQL database applications, and ANSI standard SQLJ allows direct embedding SQL statements directly in the Java program. Oracle for Linux 8.0.5 does not bundle SQLJ, but can be obtained as another independent product. SQLJ is 100% Java, and there is no problem in Linux, in fact, SQLJ is using JDBC in the underlying, so it can be interconnected with any SQL database, not limited to Oracle. I hope that these examples above can help your programming. Unfortunately, the programming document of Oracle for Linux is quite small, or it is hidden very deep :) Maybe before the database is committed, you have to first take one or two books first.</p> <p>PL / SQL</p> <p>Process language extension (PL / SQL) for SQL may be the most famous characteristics of Oracle. This powerful professional database management language allows you to control the declarative SQL. Generally, the stored procedure stored with the command line SQLPlus, the graphical developer / 2000 (currently not currently available on Linux) or other tools, allowing you to have a large number of Oracle (Oracle Application Server, Python) , Perl, JDBC or C) Access.</p> <p>Program 3:</p> <p>create or replace package stored_sample asfunction get_annual_salary (emp_number in number) return number; end stored_sample; / create or replace package body stored_sample asfunction get_annual_salary (emp_number in number) return numberisannual_salary number; monthly_salary number; beginselect sal into monthly_salary from emp where empno = emp_number; Annual_salary: = monthly_salary * 24; return (annual_salary); End get_annual_salary; end store_sample; / The program 3 is a small demonstration of the storage process, which accepts an employee number and returns the annual salary of the employee. Related functions GET_ANNUAL_SALARY package in PL / SQL package Sample_Package.</p> <p>If you copy the program 3 to the file Sample.SQL, you can run it via SQLPLUS as follows:</p> <p>[Oracle @ Sforza Demo] $ SQLPLUS</p> <p>SQL * Plus: Release 8.0.5.0.0 - Production On Sun Mar 7 13: 36: 321999</p> <p>(c) CopyRight 1998 Oracle Corporation. All Rights Reserved.</p> <p>ENTER User-name: Scottenter Password:</p> <p>Connected to: Oracle8 Release 8.0.5.0.0 - ProductionPL / SQL Release 8.0.5.0.0 - Production</p> <p>SQL> @SamplePackage Created.</p> <p>Package body created.</p> <p>SQL> SET ServerOutput OnSql> EXECDBMS_OUTPUT.PUT_LINE (Stored_Sample.Get_annual_salary (7782)) 58800</p> <p>PL / SQL Procedure SuccessFully Completed.</p> <p>SQL></p> <p>This PL / SQL package can also be used by other programming interfaces. In Python / Dcoracle, see the procedures member JDBC of the Connection object, see Java.sql.callableStatement.</p> <p>Oracle has a wide range of built-in functions. In fact, most of the functions that have been completed with external code can be completed efficiently by PL / SQL. If you need any more usual features, please refer to the PL / SQL manual to see if the function you need is already implemented. If you are ready to do a lot of Oracle programming, you often flip through the PL / SQL manual to familiarize all kinds of functions.</p> <p>Manage Oracle for Linux</p> <p>If you are already accustomed to run a relatively non-complex database, you have completed some daily operations in Oracle, such as establishing a new database or performance tuning. It is quite complicated. There are some key configuration files to be maintained, such as init.ora, config.ora, and tnsnames.ora. There are general ways to specify some key parameters, such as the current SID. It can be declared in the above files, or in an environment variable, or through the Oracle tool running parameters. This kind of flexibility is worthy of appreciation, but unfortunately, it is time to get the setting is also very hurtful.</p> <p>Like Linux, if the security mechanism provided by Oracle is not properly managed. Time is familiar with various access rules and settings, as well as the roles of a variety of special Oracle user accounts, or worth it. Oracle's performance tun is a very large, very specialized topic. Tuning is properly improved. Oracle runs and CPUs, memory, and exemptions are quite complex, these factors must be considered. In addition, the PL / SQL package, the stored procedure, the temporary table space, the table structure itself, all of which are increasingly complex with use, ensuring the structure of the database, no garbage, absolutely more complicated from cron running Vacuum periodically.</p> <p>Oracle DBA (Database Adminstrator, Database Administrator) is a famous subcommittee in computer professionals. This is not surprising. Oracle's powerful features and flexibility, while also mean all kinds of small secrets, tips, small traps, this feature is less than anyone - including Linux. You may have discovered that O'Reilly Zoo (Translation: All O'Reilly and Associate published books) is a good place for animals. If you need to complete a lot of work on Oracle, find the O'Reilly Oracle album of the yellow cover. There, you will find more information sources than Oracle Byzing Tria.</p> <p>Oracle for Linux vs. Oracle for NT</p> <p>Oracle on NT (Demo: Oracle Sales exceeds SQL Server, is the NT Larger Database) provides a graphical interface for many management functions. Similar functions can only be accessed through SQLPlus on UNIX / Linux. Such a graphical interface is designed to be similar to the other parts of the NT control panel. Linux DBA must be familiar with SQLPLUS. NT problem is that many administrative tasks require users to complete in the main control station (before the machine screen), if you want to remotely require expensive third-party software (or Oracle Enterprise Manager?). Oracle management on UNIX can be performed from any authorized far, the effect is the same as the machine main control.</p> <p>Oracle on NT uses multiple processes in a process, while Oracle on UNIX / Linux uses multiple separate, independent memory spaces (translation: Multithreaded Server, MTS, equivalent to The listed multi-threaded version mentioned in the previous article.) The implementation of the NT avoids inter-process communication, small performance advantages, but the implementation of UNIX provides much more reliability and data integrity, because one The Oracle process is not possible to pollute the address space of another Oracle process. (Translation: On NT and VMS, creating a new process is much more expensive than creating a new thread, and there is a slow switch between NT processes, and Microsoft recommends that programmers will use multithreaded. On UNIX, Building a new process is more efficient. On Linux, establish a new process and new kernel threads, Kernel Thread uses the same basic system call, the efficiency is quite high.)</p> <p>On the 32-bit hardware system, Linux's EXT2 file system restriction is 2G, NT is 4G. This does not affect Oracle users because table space TableSpace can extend to multiple files, but there is still a small efficiency issue. Of course, 64-bit Linux (Alpha, Ultra-SPARC, PA-RISC) will eliminate these limits, the same 64-bit Solaris (Solaris 7). (Translation: There are actually some problems here, and I will find out to explain to all the officials. Some good tools / conclude</p> <p>Oracle also released the Linux version of Oracle Application Server (OAS). In-depth discussion of OAs is outside this article, but it is indeed a powerful tool that connects the backend Oracle database to create an Internet or intranet application. OAS provides Java development capabilities, you can string from HTTP and IIOP to OCI network interface, with friendly interfaces to design web forms and reports, and other convenient tools.</p> <p>Oracle is so popular, naturally has a corresponding batch of open source software (Open Source) tools. The OWS Killer is a web interface tool that can replace the OAS, integrate with the Apache Web server, Apache's JSERV Java ServeT module, providing access to Oracle databases. (Translation: OWS, Oracle Web Server is the name of the Oracle Application Server earlier). You can find more tools in Matt's House to manage Oracle stored procedures, provide fast reporting capabilities.</p> <p>Mastering Oracle is not a thing of the hand, but it is not necessary to hope. Indeed, there are many more easily managed databases, but you will find if you need advanced SQL, or PL / SQL functionality, or TRIGGER, or various extensions, or advanced transaction management, or must coexist with the Oracle system. Linux is an excellent Oracle platform. You have explored this far in Linux's world and must also deal with Oracle challenges.</p> <p>Ocean oceanaut@163.com</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-26087.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="26087" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.052</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'YC_2BbcmoJApKeB3gJdtgKqj3TZhU7bYD_2BzwF5X_2Bt_2B83Cojujf2n_2Fp1yMjcHmy7D3oKd1IIlYyvMKPZScWs7_2FHtA_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>