NLS_DATE_FORMAT on database level?

Hi all,
I would like to change the NLS_DATE_FORMAT parameter so that the change will be reflected in the NLS_DATABASE_PARAMETERS view. I always thought it would be alter system, but that only changes it for all newly connecting sessions. Appearantly this can also be set on a database level. What is this database level? What does it mean if the two are different? See details below.
Thanx in advance,
Lennert
SQL> select * from nls_database_parameters where parameter like
SQL> 'NLS_DA%';
PARAMETER                      VALUE
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              AMERICAN
SQL> select * from nls_session_parameters where parameter like
SQL> 'NLS_DA%';
PARAMETER                      VALUE
NLS_DATE_FORMAT                DD-MM-RR
NLS_DATE_LANGUAGE              DUTCH
SQL> alter system set nls_date_format='DD-MM-YYYY' scope = spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup open
ORACLE instance started.
Database mounted.
Database opened.
SQL>  select * from nls_database_parameters where parameter like
SQL> 'NLS_DA%';
PARAMETER                      VALUE
NLS_DATE_FORMAT                DD-MON-RR      ---> still the same, why?
NLS_DATE_LANGUAGE              AMERICAN     ---> still the same, why?
SQL> select * from nls_session_parameters where parameter like
SQL> 'NLS_DA%';
PARAMETER                      VALUE
NLS_DATE_FORMAT                DD-MM-YYYY   ---> changed
NLS_DATE_LANGUAGE              DUTCH           ---> changed
SQL>

SQL> alter system set nls_date_format='DD-MM-YYYY' scope = spfile;
SQL> select * from nls_database_parameters where parameter like
SQL> 'NLS_DA%';
NLS_DATE_FORMAT DD-MON-RR ---> still the same, why?It is because "alter system" has changed instance parameter and not database parameter.
When you query nls_instance_parameters then you will see that nls_date_format parameter has changed.
Note there are three views:
1. nls_session_parameters - settings at session level, change can be made using "alter session".
2. nls_instance_parameters - settings at instance level, taken from parameter file (pfile/spfile) change can be made using "alter system"
3. nls_database_parameters - settings at database level, set during DB creation, you can't change them.
What is this database level? What does it mean if the two are different? See details below.http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/intro.htm#sthref11
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14225/ch3globenv.htm#sthref217

Similar Messages

  • Error while Assigning database level role (db_datareader) to SQL login (Domain Account)

    Team,
    I got an error while creating a User for Domain Account. Below is the screen shot of the error (error : 15401)
    Database instance is on SQL 2000 SP3. ( I know it is out of support, But the customer is relutanct to upgrade)
    On Google search, i found below article which is best matching for this error
    http://support.microsoft.com/kb/324321
    I have follows each step of troubleshooting. But still the issue persists.
    Step 1. The login does not exist == The login is very much exist in the domain as i am able to add the same domain id to other database instances
    Step 2. Duplicate security identifiers == i have used this query to find duplicate SID
    /*  SELECT name FROM syslogins WHERE sid = SUSER_SID ('YourDomain\YourLogin') */
    But there was only one row returned with create date of today's.
    Error while Assigning database level role (db_datareader) to SQL login (Domain Account) 
    Step 3. Authentication failure == Domain is available. User is able to login on other servers via RDP connection.
    Step 4. Case sensitivity == Database collation is set to Case insensitivity. (CI)
    Other two 5. Local Accounts & 6. Name resolution == is not applicable to me.
    I tried other ways also.
    A. Creating login and providing permission in one go only = User account is not created
    B. Instead of GUI, use query to create login and provide required permission = Same error.
    Does anybody has faced any such situation
    Chetan

    See the below output
    srvid
    sid
    xstatus
    xdate1
    xdate2
    name
    password
    dbid
    language
    isrpcinmap
    ishqoutmap
    selfoutmap
    NULL
    0x010500000000000515000000A1F66E1BFC1DC75D26E72530A2B80400
    14
    20:25.9
    57:33.4
    UKBAA\LHRAPPMuttavarapuS
    NULL
    1
    us_english
    0
    0
    0
    Chetan

  • Table does not refresh after database level action

    We have defined an Advanced table on a VO to represent invoice lines. The VO is referenced by a VL from the invoice header.
    At one point during our process, a database level package is executed on the current lines. We have a "Requery" button to refresh the lines, however, the lines do not refresh unless we exit the invoice entirely and come back to it via the VL.
    How can we refresh the lines on a current table after a database level transaction occurs?
    Thanks, Jerry.
    Our AM code is as follows...
    // handleRefreshInvoiceLines( )
    public void handleRefreshInvoiceLines()
    OAViewObject vo = (OAViewObject)getInvoiceLinesVO1( );
    if( !vo.isPreparedForExecution( ) )
    getTransaction( ).validate();
    vo.executeQuery( );
    clearVOCaches( "InvoiceLinesEO", true ); // troubleshooting
    } // handleRefreshInvoiceLines()

    Thank you. I've moved clearCache around a bit. apparently vo.isPreparedForExecution() is false. I wonder why?
    --Jerry.                                                                                                                                                                                                                                                   

  • SYS user connects at database level, is it correct?

    My senior colleague has given me following information about the sys user. I want to know, is it correct?
    Since SYS user connects at the database level, therefore, on killing the active session of the SYS user,only the current statement is cancelled. The database session does not disconnect. Instead it continues to run the remaining statements in the script file in case we are running a script file containing a lot of SQL statements.
    Moazzam

    Moazzam wrote:
    My senior colleague has given me following information about the sys user. I want to know, is it correct?
    Since SYS user connects at the database level, therefore, on killing the active session of the SYS user,only the current statement is cancelled. The database session does not disconnect. Instead it continues to run the remaining statements in the script file in case we are running a script file containing a lot of SQL statements.Running a SQL script very likely means SQL*Plus is used. One of two types of Oracle sessions will be created via sqlplus. A dedicated session. Or a shared server session.
    A dedicated session can also be local (sqlplus connects "directly" to the dedicated server process), or remote (sqlplus connects via tcp/ip to the dedicated server process).
    A server session is usually "killed" using the alter system kill session command. Despite the differences between shared and dedicated server connections, the end result is the same. The session terminates abnormally (session UGA will be released, session will be cleaned up, rolled back, etc) - and the session ceases to exist.
    So irrespective of how that sqlplus session runs that script - the session, when killed, will cause a sqlplus failure. And no subsequent script commands would be executed by that Oracle session.
    What can happen is that sqlplus continues running, continues reading the script, and continues submitting commands to be executed. However, with the server session killed, there is no server process to service the commands submitted by the sqlplus client. In this case, sqlplus will throw the error "+SP2-0640: Not connected+" after each of the commands it tries to execute after the server session was killed.
    The only time when sqlplus will be able to continue is when the session is not killed, but interrupted. The Oracle Call Interface (OCI) supports a OCIBreak() call - allowing the client to interrupt-and-abort the request that its server session is currently executing.
    For example, sqlplus sends a OCIBreak() while it waits for a server response (e.g. waiting for the answer to a SQL select query), when the user presses Ctrl-Break to abort that request.
    In this case, the session still exists - and the client can issue a new request that the session will service. But an OCIBreak() cannot be triggered (to my knowledge) externally from another Oracle session. You need to send the client process a "break request" (like a Ctrl-Break keystroke) in order to trigger that client process to make an OCIBreak() call to Oracle and interrupt its server process.

  • How To Find Out Table Name At Database Level Trigger

    Table Name
    How do I will come to know the name of table on which currently DML statement is fired ?
    e. g. My current user is SCOTT. So Scott should realize the event of DML Statement fired. Hence my question is how the trigger on User Level is to be written & how to catch the event & table name on which the statement is being executed.
    Suppose my table is as follows
    Table Name : EMP
    EMPNO number
    ENAME varchar2(10)
    JOB varchar2(9)
    MGR number
    HIREDATE date
    SAL number
    COMM number
    DEPTNO number
    Bcd number
    Brcd number
    Rec_id number
    Scn_no number
    Sequences for above table
    1. EMP_REC_ID - minimum value is 1 increment by 1 & max value is unlimited
    2. EMP_SCN_NO - minimum value is 1 increment by 1 & max value is unlimited
    I have written a trigger as follows :
    CREATE OR REPLACE TRIGGER UPD_EMP_REC_SCN BEFORE INSERT OR UPDATE OR DELETE ON EMP REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW
    DECLARE
    BEGIN
    IF (INSERTING) THEN
    SELECT EMP_REC_ID.NEXTVAL INTO :NEW.REC_ID FROM DUAL;
    ELSIF (UPDATING) THEN
    SELECT EMP_SCN_NO.NEXTVAL INTO :NEW.SCN_NO FROM DUAL;
    ELSIF (DELETING) THEN
    INSERT INTO DELETED_ROWS (TAB_NAME, BCD, BRCD, REC_ID)
    VALUES (‘EMP’, :OLD.BCD, :OLD.BRCD, :OLD.REC_ID);
    END IF;
    END;
    Hence My problem is
    If my database user contains 800 tables then I have to write down 800 triggers (i.e. for each table).
    I want to write only one trigger at database level so that I can dynamically take actions, for this I need table name and the event on which the dml event has taken place.
    Any help in this matter will be greatly appreceiated.
    Regards
    Vikrant

    You cannot write a single trigger that applies to multiple tables. If you need a trigger for every table, you will need to generate 800 triggers.
    Rather than manually generating 800 triggers, you might write a code generator that generates triggers for each of the tables by querying the data dictionary (i.e. DBA_TABLES, DBA_TAB_COLS, etc).
    Justin

  • In ecatt - how to check at database level using ABAP

    Hi,
    How to check at database level using ABAP in Ecatt tool.
    say,for example I want to check a particular sales order is invoiced or not ,at the database level and if it is invoiced I have stop proceeding to invoicing of that sales order number.
    Could anybody suggest on this with an example?
    thanks.

    Hi,
    you can use the command GETTAB to access single db records.
    Full specified or partitial specified keys can be use at GETTAB. It will return always only one record, also if a couple could match your selection.
    For more advanced scenarios you can also use eCATTs Inline ABAP. In a block between the commands ABAP. ENDABAP. you can code ABAP statements, e.g. SELECT ... INTO TABLE ...
    eCATT script parameters of type 'V' defined in that script using ABAP/ENDABAP will be transfered into the ABAP block and back to script after ABAP perform.
    Best regards
    Jens

  • HOW TO GET INFORMATION ABOUT THE CLIENT MACHINE AT DATABASE LEVEL

    HOW TO GET INFORMATION ABOUT THE CLIENT MACHINE AT DATABASE LEVEL USING 10g Database and 10g Application Server
    we have developed an application using oracle forms 10g with
    oracle database 10g and Application server 10g
    Application uses a single Oracle User name to connect to database
    where as at Application level there are different users (these are not database users)
    Now how can we get the information about the user/his machine etc. at database level. earlier in 6i/8i we use to get by using
    USERENV('TERMINAL')
    we had written a triggers on tables on Insert/Update where we used to update a database field Last user terminal with USERENV('TERMINAL')
    but not this information is comming to be the machine name of application server where as we wish this to be the machine name of Client. Any Way outs
    thanks
    Chaand Kackria

    hi, you can use the sys_context function, like this:
    select sys_context('userenv','current_user'),
         sys_context('userenv','os_user'),
         sys_context('userenv','host'),
         sys_context('userenv','ip_address'),
         sys_context('userenv','instance'),
         sys_context('userenv','sessionid'),
         sys_context('userenv','terminal')
    from dual;
    Is this what you 're looking for?

  • Database Level Security not working ???

    The 10 g (10.1.2.1) documentation states the following:
    Chapter 7 Controlling access to information:
    "Regardless of the access permissions and task privileges that you set in Discoverer Administrator, a Discoverer end user only sees folders if that user has been granted the following database privileges (either directly or through a database role):
    ex: SELECT privilege on all the underlying tables used in the folder "
    So how come a folder (view in my case - not table) cannot be queried directly by a user, but the folder still shows up a choice when building a report using PLUS ? I am misreading the above ? For is sounds lilke to me if the user account does not have SELECT privilege then they will not see the folder in Discoverer ?
    Anyone run into the same issue or have an explanantion ?
    thanks
    OBX

    I think the user has access to see all the folders in the business area in Discoverer if he has permission to do so. This is a Discoverer level security to filter people who should not have access to the business area at all. You'll find that although they can see these Discoverer folders because the permission is set in Discoverer Administrator, that the database tables they are based on will not allow the users to see any of the data if they don't have those rights at the database level.

  • Database-level error reported by JDBC driver

    Hi everyone,
    I get an error in my Sender JDBC adapter. I am executing a stored procedure every minute. In total I have 34 JDBC senders for every different database. The error is like below. The problem is in Alert Inbox I cant see the rest of the message. This error occures just once every hour (average). I dont know why and I dont know what the rest of the error is saying.
    Any ideas how i can see the rest of the message? And where the error might be?
    Note: In communication channel monitoring everything is green.
    Database-level error reported by JDBC driver while executing statement 'EXEC [TB

    Hi,
    obviously there are concurring accesses to the table your stored procedure is accessing. This is nothing serious, because SAP XI will retry the execution of the stored procedure according to the settings of the communication channels (3times all 5 minutes is the default).  Additionally you can set the repeats in case of SQL errors in the extended tab of the communication channel configuration.
    Tuning the transaction isolation levels might help to avoid the error but can decrease the consistency of the data as well. Default isolation level is always the highest available in a database (in case of SQL Server it should be SERIALIZABLE), so locks might easily occur. I would suggest to have a look at other applications accessing the tables and determine their isolation level.
    All in all, I guess there shouldn't be real problems, because of the repeated execution of you stored procedure, but it's worth to have a look at the isolation level.
    Regards Sven

  • Web Database Level Security

    Is there any tools in an Oracle database or by Oracle to encrypt data in the database in 8.05 database or earlier?
    How to be secure my database from hacking people???
    If anybody have an ideas about Database Level Security, Please send message to my [email protected] id...

    Hi Soni,
    Yes, you could.
    Two options I can think of:
    - Program WS-Security for your specific web service
    - Use Oracle Web Services Manager
    With respect to the latter: I believe there is no OWSM policy step to handle your requirement out of the box. OWSM comes with policy steps for file-based authentication as well as for authenticating against Active Directory or a generic LDAP directory.
    In this case you could opt for the creation of a custom policy step.
    Hope this help.
    Sjoerd

  • Updates to the table from the database level.

    Hi Dear All,
    If we do some updates to the table at the Database Level, like i deleted some records from the table at the Oracle level. But I'm still able to see the same deleted records from the Data Dictionary(SE11) at the application level.
    Can you pl explain the mechanism, that how it is possible and why.
    best regards
    Mahesh

    transparent tables store data directly....if you delete some data from transparent tables, the same is reflected in the database (oracle) but the reverse is not true...if you modify the database table contents directly...the dictionary table remains intact...
    transparent tables have a one-to-one relationship with the database tables....
    hope that clarifies a bit....
    (somebody correct me if i am horribly wrong)

  • JDBC: Database-level error

    Hi Folks,
         I'm trying a JDBC to JDBC scenario and I'm getting the following error.
    *Database-level error reported by JDBC driver while executing statement 'select * from EMPLOYEE where flag = 'X'.'. The JDBC driver returned the following error message: 'java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'flag = 'X'.'.'. For details, contact your database server vendor.*
      My select statement is  : select * from employee where flag = 'X'.
    Regards,
      Santosh

    Hi,
    Try with following sql query.
    select * from employee where flag = "X".
    Hope this helps.
    Thanks and Regards,
    Kalpesh

  • How to create Database level Security in OBIEE

    Dear Experts,
    Can you kindly tell me the steps on how to create a database level security on OBIEE.
    Please can some one give me the scripts and tell me how to implement tht in the RPD.
    Thanks in advance,
    Anand

    If you are looking for Database Level security in OBIEE the only route to truly accomplishing this is using the Oracle Virtual Private Database concept.
    http://obieeblog.wordpress.com/2008/12/29/obiee-and-virtual-private-database-vpd/
    http://gerardnico.com/wiki/dat/obiee/vpd

  • User defined tables:  amending Index on the database level. Opinions???

    Hi everybody who has some spare time to read my stuff
    I had a problem that some of you might have had. I have a user defined table, let’s call it ProductTypes. Now system by default creates two columns in this table, one is Code (primary key) and another is Name (Index). I have added third column called Department. Now, if I wanted to add the following data (see bellow) to the table I would have had a constraint violation message pointing me out that I have problems with indexing.
    Code, Name, Department
    1, Cream, Fragrances
    2, Cream, Beauty Products
          ^^
    I could thing of couple workarounds of this problem
    1. Is to duplicate Code into Name and storing rest of the data using user columns
    Code, Name, Product Name, Department
    1, 1,Cream, Fragrances
    2, 2, Cream, Beauty Products
    This approach isn’t very convenient as it requires UI development should we decide to attach this table to the Item master data form in a form of combo box.
    2. Is to amend Index on the database level. Initially, the index KProductTypes_Name consisted of only one column Name, what I have done is added another column which is Code to indexing. I don’t see how this can harm database consistency or damage the core system.  Please correct me if I am wrong.
    Another way of amending index in order to solve my problem could be choosing ignoring duplicate values option for column Name.
    Please let me know what are your thoughts.
    Best wishes

    > Why don't you try adding a trigger 'instead of
    > insert' where code = max(code)1 and name=max(name)1
    > and use only user columns for your data. This
    > provided you know SQL basics.
    in this scenario we would have to do UI SDK development for the output and going to have an extra column with meaningless data in it.

  • Row-level security at the Database level

    We need Row-level security at the Database level, where the user who logs in to Crystal reports, should be able to fetch only those rows from the database that he is entitled to see. For this, the login name of the user is passed to a stored procedure which sets the context of the DB session and restricts the data retrieved.
    We are not looking for row-level security where the data is first retrieved and then filtered based on the user login name. However, we are definitely looking for a way to set a context for a database session based on the user login name, even before we start fetching data. So effectively, the user who logs in will fetch only those rows which he is supposed to see.
    Issue:
    We face a problem of not being able to pass a variable (something like 'BOUSER' for BO which works, whereas, 'CurrentCEUserName' for Crystal Reports, which doesn't work), to the database stored procedure to set the context.
    Please let us know if we can use 'CurrentCEUserName' variable in Crystal in the same way as 'BOUSER' is used in ConnectInit for BO? We would like to know how we could pass any variable in Crystal Reports which holds the user login information to a stored procedure.
    Also, please suggest alternate ways to achieve this security restriction, if any.

    Hi
    A previous database had a personnel table with their station name, district and region, with a field holding their logon name.  We also had an activity table with the fields referring to the activity, and a field of Station, district and region it occured in.
    By linking the individual rows in an activity table to the personnel table on the station name field, we then used the CurrentCEUserName to filter on the personnel.  This returned only the records in the activity table where the station the activity took place at was the same as the station associated with the selected personnel who has logged on.
    The additional bonus was if we linked it on District or region we had the same result but at a greater level. ie all activity in the logged on personell's District or if linked on region, then their region.
    The personnel table was maintained by the system administrators, so maintenance was low.
    I hope this helps.
    Kevin

Maybe you are looking for

  • Fix table header line of Query in default web template WAD 7.0

    Dear all, I would appreciate if somebody could help me to set parameters to fix the header line of a Web-Item DataProvider (Query) in the default web template 0ANALYSIS_PATTERN for the BEx Web Analyser. I mean I want to see the header line with the c

  • PDF Filename is entire path

    I am outputting a report to PDF and its all working fine except for one thing, and that is that the pdf's filename is the entire path to the file instead of just the filename. This is the code I am using in the cfdocument tag: <cfdocument format="pdf

  • Dump in function module CACS_BUPA_PAI_SPECIAL_CACSB1

    Hi experts,    I am trying to create business partner in SAP treasury module with role - general business partner and validity period 01/01/0001 - 12/31/9999. I am gettting syntax error  in Function module CACS_BUPA_PAI_SPECIAL_CACSB1, it says The ke

  • Call Server not coming up

    ICM 7.5 CVP 7.0 The call server is not coming up. here is the log from voice browser. 13:15:08 Initializing Event Management System (EMS) Library. 13:15:08 Trace: EMS Server pipe Customer\Voice Browser\VBEMSPipe enabled for Customer\Voice Browser\VB

  • CFCHART no longer works

    No CFCHARTS are rendering since updating to 7.0.2. I've tried a couple related hotfixes to no avail and am pretty much stuck. It doesn't matter what browser (tried IE & Firefox) but it DOES create the temporary swf in the charting cache. Here's my se